Nodes/ComfyUI API Toolkit/Gemini Video Generation (Veo)
ComfyUI Node

Gemini Video Generation (Veo)

8 seconds of AI video with sound, the way only Google ships it

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 1
Gemini Video Generation (Veo)
  • source_image
  • video_file_path
  • video_url
api_key
modelveo-3.0-fast-generate-001
prompt
custom_model
aspect_ratio16:9
number_of_videos1
negative_prompt
seed0
duration_seconds8
timeout_seconds600

This is the node that justifies the whole pack for a lot of people. Veo is Google's video generation line, and its defining trick is one open weights still haven't matched: native audio. Veo 3 doesn't generate a silent clip and hope you add sound later - it produces synchronized dialogue, sound effects, and ambience in the same pass. The KB's closed-source-models.md calls that native audio-with-video "a genuine capability gap," and it's why people put up with an API for this one job. The open alternatives (Wan, LTX) are real, but none gives you Veo's audio-synced result locally.

In a ComfyUI workflow it slots in as the generation engine: prompt in, or source image in for image-to-video, and the node polls the long-running job until the video lands, saving it to your ComfyUI output folder and handing back the file path and URL.

How it works

Veo is a long-running operation, not a quick call. The node fires off generate_videos (which returns an operation), then polls every 10 seconds until it's done or until timeout_seconds elapses - the default 600 seconds (10 minutes) is a real budget, not theater. When it completes, it downloads the video to ComfyUI's output directory as an MP4. The timeout is a genuine input because video jobs take minutes, not seconds.

Model-wise you get six Veo options: the 3.1 previews (standard, fast, lite), 3.0 standard and fast, and 2.0. Veo 3.x gives you the native audio; Veo 2 is the older, silent generation - worth knowing before you're surprised by a mute clip.

Inputs and outputs that matter

  • prompt - the video description. This model rewards cinematic, shot-aware language: camera movement, lighting, action.
  • model - default veo-3.0-fast-generate-001. The fast variants are your iteration loop; 3.1 previews for the newest quality.
  • source_image - optional start frame for image-to-video. Wire a Nano Banana frame in here and you've got the community-standard "closed frame, generated motion" workflow.
  • duration_seconds - 5 to 8; the tooltip says it plainly: Veo 3 supports 8 seconds.
  • aspect_ratio - 16:9 or 9:16.
  • number_of_videos - 1 to 4 per call. That's a real cost multiplier - see below.
  • timeout_seconds - how long to poll before giving up, 60 to 1800.

Outputs: video_file_path (the saved MP4 in your output dir) and video_url (the hosted URI). Wire the path into a video loader or use it however you'd use a file path.

How to install it

Pack-level:

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt

or "API Toolkit" from ComfyUI Manager. Needs google-genai>=0.8.0 and a key.

Common issues

Three things will bite you. Cost is the big one - video is the most expensive generation in this pack, and number_of_videos: 4 is four video bills in one Queue. Iterate at 1. Veo 2 is silent - if you expected audio and got a quiet clip, you picked Veo 2, which has no native sound. Previews rotate - a 404 on the model means Google swapped the preview ID; check List Models and override with custom_model.

And the honest framing from the KB: this is a closed, filtered model you pay per second of output, and the pack re-runs it every queue. If you want reproducible cheap video, open models like Wan on your own card remain the sane default - Veo is for when the native audio or the quality ceiling is worth the bill.

CategoryAPI Toolkit/Gemini/Video

Inputs (11)

NameTypeDefaultDescription
api_keySTRING
modelCOMBOveo-3.0-fast-generate-0016 options: veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview, veo-3.0-generate-001, veo-3.0-fast-generate-001, veo-2.0-generate-001
promptSTRING
custom_modeloptSTRING
source_imageoptIMAGEOptional start frame image.
aspect_ratiooptCOMBO16:92 options: 16:9, 9:16
number_of_videosoptINT11–4
negative_promptoptSTRING
seedoptINT00–2147483647
duration_secondsoptINT85–8Veo 3 supports 8 seconds.
timeout_secondsoptINT60060–1800Max time to wait for video generation.

Outputs (2)

NameTypeDescription
video_file_pathSTRING
video_urlSTRING