Nodes/ComfyUI Gemini Nodes/Gemini Video Generator (Veo)
ComfyUI Node

Gemini Video Generator (Veo)

Real video generation, API-side

By jqy-yoΒ·Created about a year agoΒ·Updated 11 months agoΒ· 7
Gemini Video Generator (Veo)
  • initial_image
  • video_path
  • preview_frame
  • generation_info
  • api_request
  • api_response
β—„promptA cinematic drone shot of a red convertible driving along a coastal road at sunsetβ–Ί
β—„api_keyβ–Ί
β—„modelveo-3.0-generate-previewβ–Ί
β—„aspect_ratio16:9β–Ί
β—„person_generationdefaultβ–Ί
β—„max_wait_minutes10β–Ί
β—„poll_interval_seconds15β–Ί
β—„negative_promptβ–Ί
β—„save_pathβ–Ί

The node that makes video without a single local model

Google's Veo models are among the best text-to-video and image-to-video generators around - the KB's own notes single out Veo 3's native synchronized audio as a genuine capability gap nobody else covers. Veo runs entirely in Google's cloud, which is exactly why it slots into ComfyUI so awkwardly normally, and so neatly here: GeminiVideoGenerator wraps the whole Veo API dance - submit, poll, download - in one node. Prompt in, video file out.

The catch is up front: it's not local, it's not free, and it's not fast. You're trading your GPU for Google's, and the generation runs on their clock, not yours.

How it works

You submit a prompt (and optionally an initial_image for image-to-video), and the node polls the API at poll_interval_seconds until the video is done, up to max_wait_minutes. Output is a standard short clip: about 8 seconds, 720p, MP4 with native audio (Veo 3), carrying an automatic SynthID watermark. Google keeps the video on their servers for roughly two days, so save_path is there to pull it down locally before it evaporates - the node downloads and stores it for you.

model choices are veo-3.0-generate-preview (default, best quality), veo-3.0-fast-generate-preview (faster variant), and veo-2.0-generate-001. aspect_ratio covers 16:9, 9:16, 1:1, 4:3, 3:4.

Inputs that matter

  • prompt - this is everything. The README suggests detailed, specific descriptions with style keywords; the default prompt ("A cinematic drone shot of a red convertible...") is a decent template to edit.
  • api_key - needs a key with Veo access, which is not the same as basic Gemini access. Check Google AI Studio; Veo is often gated or region-limited.
  • initial_image - the optional starting frame for image-to-video. "Bring this portrait to life" workflows live here.
  • negative_prompt - what to exclude ("blurry, low quality, distorted").
  • person_generation - default, allow, or dont_allow; people generation can be restricted by region.
  • max_wait_minutes - default 10 (up to 60). The source logs a hint when it times out: Veo 3.0 can genuinely take 15–20 minutes, so don't set this low and go AFK.
  • save_path - where the downloaded video lands. Set it; the 2-day server retention is not a suggestion.

Outputs: video_path (the local file path - hand it to a video loader or your editor), preview_frame (an IMAGE preview so you can see the result in-graph), generation_info (specs), and the usual api_request / api_response debug outputs.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/jqy-yo/comfyui-gemini-nodes
cd comfyui-gemini-nodes
pip install -r requirements.txt

Or ComfyUI Manager β†’ "ComfyUI Gemini Nodes", restart. No extra model downloads - everything runs Google-side.

Where people get burned

The big ones: access and patience. If you get a 500, it's usually that your key/region doesn't have Veo access - verify in AI Studio before blaming anything else. Timeouts happen constantly on Veo 3 because people leave max_wait_minutes at the default and it's genuinely slow; the node tells you as much in its own logs. And remember the workflow cost - Veo generation is billed per video, so max_wait_minutes doesn't affect cost but a runaway retry does. If a prompt gets rejected, clean it up rather than resubmitting the same thing; Veo's content filters mirror Gemini's, and the KB notes the image/Video side tightened its safety filtering in 2026.

CategoryπŸ€– Gemini

Inputs (10)

NameTypeDefaultDescription
promptSTRINGA cinematic drone shot of a red convertible driving along a coastal road at sunsetβ€”
api_keySTRINGβ€”
modelCOMBOveo-3.0-generate-preview3 options: veo-3.0-generate-preview, veo-3.0-fast-generate-preview, veo-2.0-generate-001
aspect_ratioCOMBO16:95 options: 16:9, 9:16, 1:1, 4:3, 3:4
person_generationCOMBOdefault3 options: default, allow, dont_allow
max_wait_minutesFLOAT101–60β€”
poll_interval_secondsINT155–60β€”
negative_promptoptSTRINGβ€”
initial_imageoptIMAGEOptional starting image for video generation
save_pathoptSTRINGβ€”

Outputs (5)

NameTypeDescription
video_pathSTRINGβ€”
preview_frameIMAGEβ€”
generation_infoSTRINGβ€”
api_requestSTRINGβ€”
api_responseSTRINGβ€”