Nodes/PromptModels Studio/Google AI - Video Generator (Veo 3.1)
ComfyUI Node

Google AI - Video Generator (Veo 3.1)

Cloud video with native audio

By cdanielp·Created 9 months ago·Updated 2 months ago· 28
Google AI - Video Generator (Veo 3.1)
  • init_image_or_video
  • video_frames
  • audio
  • cost_estimate
promptA cinematic drone shot flying over a mountain range at sunrise
modelveo-3.1-generate-preview
video_preset1920x1080 (16:9)
duration_seconds6
api_key
negative_prompt

Want video without a local video model, without the VRAM hit, and with audio that actually syncs? That's what GoogleAI_VideoGenerator is: it sends your prompt to Google's Veo 3.1 over the Gemini API and returns the finished clip as a ComfyUI IMAGE tensor of frames plus an AUDIO output. Veo 3 is the model class that generates sound natively with the picture - dialogue, effects, ambience - which is a genuine capability gap for open models, and it's the reason people reach for this node at all.

What it's for

Cloud text-to-video as one step in a larger ComfyUI graph. Generate a clip from a prompt, then take the returned frames straight into local post-processing - upscaling, frame filtering, concatenation with other clips, frame extraction. The init_image_or_video input makes it a two-in-one: feed it a single image and it's img2vid (animate that still), feed it several frames and it treats them as a video and extends from the last one. The cost_estimate output is a nice honesty feature - this is metered API spend, and the node tells you what a run cost.

How it works

The prompt (and optional start image or frames) goes to Veo via Google's long-running generation endpoint: POST, then poll until the video's ready. The returned clip is decoded frame by frame into a [frames, H, W, C] tensor at 24 FPS, and audio is extracted separately. On Veo 3.1 the audio is native; on Veo 2 (which generates no sound) the node substitutes a silent AUDIO stream so your pipeline doesn't break. Frames, audio, and cost come out as three wires. REST-only, no SDKs, and - pack standard - failures come back as an error image plus dummy audio rather than crashing the queue.

Inputs and outputs that matter

  • prompt (STRING, multiline) - describe motion, camera, scene. Veo responds well to cinematic language.
  • model (COMBO, default veo-3.1-generate-preview) - standard 3.1 with native audio, a fast variant, or the older veo-2.
  • video_preset (COMBO, default 1920x1080 16:9) - resolution/aspect presets, up to 4K.
  • duration_seconds (COMBO, default 6) - 4, 6, or 8 seconds from the combo.
  • init_image_or_video (IMAGE) - 1 frame = image-to-video; multiple frames = extension from the last one.
  • negative_prompt, api_key - optional, as expected.
  • video_frames (IMAGE), audio (AUDIO), cost_estimate (STRING) - the outputs.

Installing it

One of the 15 Google nodes in COMFYUI_PROMPTMODELS (PromptModels Studio in Manager):

cd ComfyUI/custom_nodes
git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS

Put GEMINI_API_KEY=AI... in the pack's .env, restart. This one also wants ffmpeg on the system - the pack's installer tries to install it on Linux and tells you to on macOS/Windows (brew install ffmpeg / choco install ffmpeg). Needs ComfyUI 0.26.0+.

Common issues

The honest one is cost: Veo 3.1 video is genuinely expensive per run, and the cost_estimate output is there so you can see it. If your audio comes out silent, check the model - Veo 2 has no native audio and gets the silent placeholder by design. ffmpeg missing is the classic install-time failure, and it only shows up when you try to generate. And Veo is a long-running job, so a very long timeout (the client waits up to two minutes and retries on rate limits) isn't a hang - it's polling.

CategoryGoogle AI/Video

Inputs (7)

NameTypeDefaultDescription
promptSTRINGA cinematic drone shot flying over a mountain range at sunrise
modelCOMBOveo-3.1-generate-preview3 options: veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-2.0-generate-001
video_presetCOMBO1920x1080 (16:9)5 options: 1920x1080 (16:9), 1080x1920 (9:16), 1080x1080 (1:1), 3840x2160 (16:9 4K), 2160x3840 (9:16 4K)
duration_secondsCOMBO63 options: 4, 6, 8
api_keyoptSTRING
init_image_or_videooptIMAGE1 frame=Img2Vid, >1=Extension (ultimo frame).
negative_promptoptSTRING

Outputs (3)

NameTypeDescription
video_framesIMAGE
audioAUDIO
cost_estimateSTRING