Veo3 Video Generation (fal)
Text-to-video with sound, from a prompt alone
- STRING
Veo 3 is the Google video model that made "wait, is that audio generated too?" a common reaction - it produces synchronized sound alongside the picture, which no open local model does. This node is the pure text-to-video flavor: no input image, just a prompt in, an 8-second clip with audio out. If the Veo 3.1 first-last-frame node is for animating between two images, this is for conjuring a shot from nothing but words.
What it actually does
Nothing runs locally. Your prompt goes to fal.ai, fal calls Veo, and you get a clip back - no VRAM, no downloads, billed per generation. Because it's text-only, there's no starting image to anchor it, so your prompt is doing all the work: the more clearly you describe the scene, the motion, the framing, and the sound, the more you get out of it.
The inputs that matter
- prompt (required): the whole shot in words. Veo responds to cinematic direction, and since it does audio, spell out what you want to hear - "rain on a tin roof, distant thunder" lands.
- aspect_ratio:
16:9,9:16, or1:1. Vertical for social, widescreen for everything else. - duration:
8s- that's the one option here, so it's really a fixed clip length rather than a choice. - generate_audio (default on): the reason to use Veo. Leave it on unless you deliberately want silence (which is cheaper).
- enhance_prompt (default on): lets Google rewrite and expand your prompt. Helps a terse prompt, but it changes your wording, so switch it off when you want exactly what you typed.
There's also an optional negative_prompt and a seed (-1 for random). The output is a single STRING, the video URL - download it with the pack's Fal Save Media from URL node to get the file with its audio track.
Installing it
Easiest: ComfyUI Manager → search ComfyUI-fal-API → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
cd ComfyUI-fal-API
pip install -r requirements.txt
Restart ComfyUI. No model file; the dependencies are fal-client and a fal API key (in config.ini under [API], or the FAL_KEY env var). No key, no video.
Where people get burned
Two Veo-specific notes. First, don't waste the audio: if you leave generate_audio on but never describe sound, you get generic ambience - treat the audio as something to direct, not a bonus that happens. Second, enhance_prompt being on by default means your careful prompt may come back reworded; if your results keep drifting from your intent, that's the culprit - turn it off.
Everything else is standard fal: no key, no output; content-policy refusals come through as readable errors (Google's filters are strict, so people and famous likenesses often get declined); and a recent ComfyUI is best for clean native video/audio handling. Windows Portable import error? .\python_embeded\python.exe -m pip install fal-client.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| aspect_ratio | COMBO | 16:9 | 3 options: 16:9, 9:16, 1:1 |
| duration | COMBO | 8s | 1 options: 8s |
| negative_promptopt | STRING | — | |
| enhance_promptopt | BOOLEAN | true | — |
| seedopt | INT | -1-1–2147483647 | — |
| generate_audioopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |