ComfyUI Node

Veo Text to Video

Run Google's Veo 2 from ComfyUI — no GPU needed, but it'll cost you

By ShmuelRonen·Created about a year ago·Updated about a year ago· 33
Veo Text to Video
    • video_paths
    prompt
    aspect_ratio16:9
    person_generationdont_allow
    duration_seconds8
    api_key
    negative_prompt

    The one-line pitch

    This node is the entire reason to install this pack. It puts Google's Veo 2 on your ComfyUI canvas: type a prompt, pick a few settings, hit queue, and Google's servers render up to 8 seconds of 720p video. No GPU, no model files, no VRAM juggling - the heavy lifting happens far away and a finished .mp4 lands in your output folder.

    The catch is the word "servers." This is a paid API wrapper, not local inference. Every second of video costs real money, and the pack itself is a small experimental project - 33 stars, a single commit pushed in April 2025 - that wraps Google's official SDK. Treat it as a convenient front-end to the API, not a maintained ecosystem heavyweight.

    How it works

    The node hands your prompt to the google-genai SDK, which starts a long-running generation on Veo 2. No diffusion runs on your machine; the node just sends the request and polls the operation every ~20 seconds until Google finishes. A single clip takes minutes - that's normal, and you'll see "Polling operation (attempt N)..." in the console the whole time.

    On top of that, the pack adds its own rate limiting: at least 60 seconds between requests, and automatic retries with escalating delays when Google answers with a quota error (429 / RESOURCE_EXHAUSTED). When the operation completes, the video is written straight to your output directory as veo_<timestamp>_<n>.mp4, and the node returns a VEO_VIDEO value - this pack's custom type, which in practice is just the file path.

    The inputs that matter

    You'll actually touch four things on this node:

    • prompt - the entire generation. Veo 2 rewards detailed, visual prose: camera, motion, lighting, the works. The pack's example workflow feeds it a full paragraph of cinematic description.
    • duration_seconds - 5 to 8, default 8. That's the API ceiling; Veo 2 won't do longer clips.
    • aspect_ratio - 16:9 or 9:16, no auto. Pick based on where the clip is headed (9:16 for shorts).
    • person_generation - dont_allow or allow_adult. This is the API's content gate for people. Leave it on dont_allow unless you know you need otherwise.

    The api_key field accepts a key directly; leave it empty to fall back to GOOGLE_API_KEY from the pack's .env (see install). The optional negative_prompt exists in the schema but here's the honest gotcha: as of the current code it's accepted and then silently ignored - it's never sent to the API. Don't build your workflow around it.

    The one output, video_paths (VEO_VIDEO), wires into Veo Video Saver to preview the clip and rename it, or into Veo to VHS to pull it into Video Helper Suite for re-encoding.

    Install

    No model downloads - the model never touches your disk. You need the SDK and a key:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ShmuelRonen/ComfyUI-Veo2-Experimental
    cd ComfyUI-Veo2-Experimental
    pip install --upgrade google-genai
    

    Grab a free key from Google AI Studio, then either drop it in a .env file in the pack folder (GOOGLE_API_KEY=...) or paste it into the node's api_key field, and restart ComfyUI. ComfyUI Manager finds it if you search "Veo2". OpenCV, numpy and torch ship with ComfyUI's Python, so google-genai is the only real dependency.

    Where people get burned

    • The bill. The README quotes Veo 2 at about $0.35/second, so a full 8-second clip runs close to $3 - and retries and re-runs add up fast. Check your quota before batching.
    • Region lock. Google's own README note warns Veo 2 may not be available in your country regardless of key.
    • 720p is it. The API output is capped at 720p@24fps, and it's a recurring complaint from people running Veo through ComfyUI - don't expect FHD. If that's a dealbreaker, the open-source answer is Wan 2.x; the community has been measuring Veo against it for a while.
    • "Google API key is required." The pack loads .env from its own directory at startup. If you restarted ComfyUI before creating the file, or your key lacks Veo access, that's the error you'll see.
    • Timeouts aren't failures. The 20-second polls plus minutes of render time make the node look hung. It isn't; the rate limiter also sleeps a full minute between runs on purpose.

    The verdict

    If you already pay for Veo and want it inside ComfyUI, this is the direct path to that integration - and Veo 2 remains the closed-model benchmark the open community keeps chasing. If you were hoping for local video generation, this is the wrong pack: you're renting Google's GPUs, and with the same patience Wan 2.2 or Hunyuan will run on your own card for free.

    Categoryvideo/generation

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRING
    aspect_ratioCOMBO16:92 options: 16:9, 9:16
    person_generationCOMBOdont_allow2 options: dont_allow, allow_adult
    duration_secondsINT85–8
    api_keySTRING
    negative_promptoptSTRING

    Outputs (1)

    NameTypeDescription
    video_pathsVEO_VIDEO