Nodes/ComfyUI-y277an-Gemini/Gemini Veo Video (y277an)
ComfyUI Node

Gemini Veo Video (y277an)

The expensive, gorgeous video node — use the cache

By y277an·Created 2 months ago·Updated 2 months ago· 0
Gemini Veo Video (y277an)
  • image
  • video
  • log
prompta cinematic shot of a fox running through a sunny meadow
model
api_key
duration_seconds4
aspect_ratio16:9
resolution720p
negative_prompt
use_cachetrue

Veo is the video model you cannot run - and it's also the one the open ecosystem measures itself against. Its native audio-with-video is a capability open weights still haven't matched. So when you want Veo inside your ComfyUI graph, you're calling Google's API, and this node is the wrapper: prompt in, a ComfyUI VIDEO out, billed to your own AI Studio account. Fair warning up front - this is the pack's expensive node, and the README doesn't mince words about it: preview-only models, a few seconds of clip, real money per run.

Why you'd reach for it

You want a motion shot that looks like a film trailer, you don't want to leave ComfyUI, and you've accepted that this is a closed API with per-call pricing. The node does text-to-video when you give it only a prompt, and image-to-video when you attach an image - which becomes the first frame. That's the workflow people actually build: a Nano Banana frame in, Veo animates it, your local pipeline does the rest.

How it works

Veo is a long-running async job, so the node does submit-then-poll: it kicks off generate_videos, then polls every ten seconds until the job finishes. It drives the ComfyUI progress bar so the run doesn't look frozen - the bar is an elapsed-time estimate, not real progress, because Veo exposes none. There's a six-minute timeout, after which it raises. When it completes, the mp4 comes back and gets wrapped into the VIDEO type.

The smart part is the cache. Every request is hashed (prompt, model, duration, ratio, resolution, negative prompt, plus the first-frame image) and the finished mp4 is stored under that hash. Rerun the identical request and it returns the cached video instantly, free, no API call. Given the price tag, that's not a nicety - it's the feature that keeps a paid node usable while you iterate on the rest of the graph.

The inputs that matter

Required: prompt and model (default veo-3.1-fast-generate-preview, with veo-3.1-generate-preview and veo-3.1-lite-generate-preview).

  • image - attach it and you're in image-to-video mode; it's the first frame.
  • duration_seconds - 2 to 8, default 4. Longer is proportionally more expensive.
  • aspect_ratio - 16:9 or 9:16. resolution - 720p or 1080p.
  • negative_prompt - optional; Veo accepts one.
  • use_cache - on by default. Leave it on.

Outputs: video (VIDEO) and log (STRING). Connect video to SaveVideo (or PreviewVideo) - that's the move. The log records mode, model, duration, size, and how long the job took.

Install

Same as the rest of the pack:

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/y277an/ComfyUI-y277an-Gemini.git
/path/to/ComfyUI/python -m pip install google-genai pillow numpy
cd ComfyUI-y277an-Gemini
cp config.json.example config.json   # paste your Google AI Studio key

Restart ComfyUI. No model files - the model is Google's.

Gotchas

  • It's expensive, and the README says "preview-only" for a reason. These are preview models and a few seconds of clip can cost real money. Keep clips short, keep use_cache on, and treat each generation as a decision, not a draft.
  • No seed, by design. The AI Studio (Developer API) rejects seed, generate_audio, fps, and non-default resolutions - those are Vertex-only fields, so the pack intentionally doesn't expose them. That means Veo 3's famous native-audio-with-video is out of reach here; you get silent video. To vary results, change the prompt, the duration, or the input frame - not a seed that doesn't exist.
  • Errors raise, unlike the image node. There's no meaningful placeholder video, so a failed job surfaces as an error instead of a grey frame. That's a feature.
  • The cache is your friend and your confusion. Same inputs, same video, free. New inputs, new bill. Change something before you rerun and expect to pay.

If you want Veo's polish without the graph gymnastics, this is the way in - just budget for it and let the cache work for you.

Categoryy277an/Gemini

Inputs (9)

NameTypeDefaultDescription
promptSTRINGa cinematic shot of a fox running through a sunny meadow
modelCOMBO3 options: veo-3.1-fast-generate-preview, veo-3.1-generate-preview, veo-3.1-lite-generate-preview
imageoptIMAGE
api_keyoptSTRING
duration_secondsoptINT42–8
aspect_ratiooptCOMBO16:92 options: 16:9, 9:16
resolutionoptCOMBO720p2 options: 720p, 1080p
negative_promptoptSTRING
use_cacheoptBOOLEANtrue

Outputs (2)

NameTypeDescription
videoVIDEO
logSTRING