Fal AI Media
affaan-m/ECC
Unified media generation via fal.ai MCP — image, video, and audio.
Prompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the…
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool veo-3-prompting --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .claude/skills/veo-3-prompting && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .claude/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-promptingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool veo-3-prompting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .agents/skills/veo-3-prompting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .agents/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool veo-3-prompting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .cursor/skills/veo-3-prompting && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .cursor/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nodetool-ai/nodetool.git --path packages/system-skills/veo-3-prompting--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool veo-3-prompting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .gemini/skills/veo-3-prompting && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .gemini/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nodetool-ai/nodetool veo-3-promptingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .github/skills/veo-3-prompting && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .github/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool veo-3-prompting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/system-skills/veo-3-prompting .opencode/skills/veo-3-prompting && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "veo-3-prompting" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/veo-3-prompting into .opencode/skills/veo-3-prompting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veo-3-prompting", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
veo-3-promptingPrompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the…
Veo 3 Prompting is an agent skill from nodetool-ai/nodetool. Prompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the enhance-prompt and auto-fix preprocessors, and the fixes for visual drift, temporal inconsistency and audio mismatch. Use whenever the model id contains veo3 or veo-3 (fal-ai/veo3.1 and its fast, lite, image-to-video, first-last-frame and reference-to-video routes, fal-ai/veo3/image-to-video, google/veo3.1 on atlascloud…
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering AI video generation. It works with Google Veo and fal. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 339f069. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
fal.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Veo 3 Prompting loads about 1.5k tokens when it runs. Until then it costs about 158 tokens; SKILL.md has 801 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 801 words, ~1,548 tokens.
.claude/skills/veo-3-prompting/SKILL.md (or your agent's skills folder).Veo 3 produces 4 to 8 second clips with synchronized audio: dialogue with lip-sync, ambient effects, environmental sound. It parses shot types, camera angles and film terminology accurately, and holds coherence across the frame sequence. What separates a usable clip from a generic one is writing the prompt as a spec rather than a narration.
Reach it with find_model for text_to_video or image_to_video, then
generate_video / animate_image.
The audio is per clip, so a piece cut from several Veo clips restarts its sound
at every join. video-audio-continuity decides whether the scenes belong in one
generation or under a track you add yourself.
A medium shot frames a cartographer in a cluttered Victorian study. Warm lamplight illuminates ancient maps spread across a mahogany table. The cartographer, wearing round spectacles and a burgundy vest, traces a route with his finger. "According to this sea chart, the lost island exists. We sail at dawn."
Each element builds on the one before it.
Duration decides how much temporal complexity fits. 4 seconds holds a single action — establishing shots, product showcases. 6 seconds holds a multi-stage action or brief dialogue. 8 seconds holds extended dialogue or an atmospheric moment. Longer durations spread attention across more frames, so per-frame detail density drops.
Aspect ratio changes composition, not just framing. 16:9 matches the training distribution and composes horizontally. 9:16 concentrates the subject in a narrower horizontal band. 1:1 outpaints — the model extends the scene past what you described to fill the square, which can surface environment you never asked for.
Resolution: iterate at 720p, deliver at 1080p.
Audio is the cost lever. Disabling it cuts the standard model to roughly half and the fast variant to about two thirds. Disable it only when a custom soundtrack is going on in post.
The model was trained on professional film content and reads the terms directly:
A slow tracking shot follows a lone figure walking through fog-shrouded ruins at twilight. Volumetric light rays pierce through broken archways, creating dramatic god rays in the mist.
Sensory detail feeds the audio. A prompt that describes neon reflecting in rain puddles, steam rising from food stalls and a vendor calling out over distant traffic gives the audio synthesis more to work with than the same scene described visually only.
Character consistency comes from distinctive markers. "A woman in her thirties with auburn hair pulled back in a loose bun, wearing a charcoal peacoat and silver-rimmed glasses" holds identity across frames where "a woman" does not.
Enhance prompt (on by default) expands a brief prompt with cinematographic terminology before generation. Leave it on while exploring; turn it off when you want your wording interpreted exactly as written.
Auto fix (on by default) rewrites prompts that trip content policy instead of rejecting them, trying to keep the intent.
Symptoms map to fixes. Clothing colour shifting or facial features morphing means the subject needs more distinctive markers. Objects appearing without logical progression means the prompt is too complex for the duration — cut it down or shorten the clip. Dialogue out of sync with lips means the audio cue needs to be explicit: "a vendor loudly calls out 'Fresh fish!' while gesturing".
Refine on the fast variant at 4 seconds and 720p, where a bad idea costs almost nothing. Move to the standard model, longer durations and 1080p only once the prompt is doing what you want. Then vary the seed to explore alternatives inside the same concept.
Check what rendered with analyze_video, detect_video_scenes and
understand_video instead of assuming.
Adapted from fal's Veo 3 prompt guide: https://fal.ai/learn/devs/veo3-prompt-guide-master-google-video-generation
© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/system-skills/veo-3-prompting of nodetool-ai/nodetool.
Open the folder on GitHubat commit 339f069
Veo 3 Prompting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Veo 3 Prompting this skillnodetool-ai/nodetool | 560 | — | ~1.5k | Automated safety check: Pass | AGPL-3.0 | |
| Fal AI Mediaaffaan-m/ECC | 277k | 4 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Fal AI Mediaaffaan-m/ECC | 277k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Fal AI Mediaaffaan-m/ECC | 276k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Forge Media Route Layer0x0funky/agent-sprite-forge | 4.4k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Video PromptingSquare-Zero-Labs/video-prompting-skill | 182 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 |
affaan-m/ECC
Unified media generation via fal.ai MCP — image, video, and audio.
affaan-m/ECC
通过 fal.ai MCP 实现统一的媒体生成——图像、视频和音频。涵盖文本到图像(Nano Banana)、文本/图像到视频(Seedance、Kling、Veo 3)、文本到语音(CSM-1B),以及视频到音频(ThinkSound)。当用户想要使用 AI 生成图像、视频或音频时使用。
affaan-m/ECC
fal.ai MCPによる統合メディア生成(画像、動画、音声)。テキストから画像(Nano Banana)、テキスト/画像から動画(Seedance、Kling、Veo 3)、テキストから音声(CSM-1B)、動画から音声(ThinkSound)をカバーします。ユーザーがAIで画像、動画、音声を生成したい場合に使用します。
0x0funky/agent-sprite-forge
Generates an image or an image-to-video clip through a configured provider API or a signed-in Codex or Grok CLI, and reports the route, file, hash and cost estimate.
Square-Zero-Labs/video-prompting-skill
Draft and refine prompts for video generation models (including text-to-video, image/keyframe-to-video, and reference-driven generation), and create character-sheet prompts for image models when the…
calesthio/OpenMontage
Generate AI videos from text prompts using multiple provider gateways.
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
Works with
Categories
Prompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the…. Veo 3 Prompting is an agent skill from nodetool-ai/nodetool. Prompt Google's Veo 3 video line — the five-element shot/setting/subject/action/dialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the enhance-prompt and auto-fix preprocessors, and the fixes for visual drift, temporal inconsistency and audio mismatch.
Veo 3 Prompting fits situations like: the model id contains veo3; veo-3 (fal-ai/veo3.1 and its fast; first-last-frame and reference-to-video routes; fal-ai/veo3/image-to-video.
Run `npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a claude-code`. Or copy the skill folder (packages/system-skills/veo-3-prompting in nodetool-ai/nodetool) into .claude/skills/veo-3-prompting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a codex`. Or copy the skill folder (packages/system-skills/veo-3-prompting in nodetool-ai/nodetool) into .agents/skills/veo-3-prompting in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill veo-3-prompting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/veo-3-prompting, .gemini/skills/veo-3-prompting, .github/skills/veo-3-prompting and .opencode/skills/veo-3-prompting in your project.
SKILL.md names no scripts, command-line tools or credentials: Veo 3 Prompting is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: fal.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Veo 3 Prompting is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Veo 3 Prompting: Fal AI Media (affaan-m/ECC, 277k stars), Fal AI Media (affaan-m/ECC, 277k stars), Fal AI Media (affaan-m/ECC, 276k stars) and Forge Media Route Layer (0x0funky/agent-sprite-forge, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.