ComfyUI Node

Veo2 Text To Video

The plainest on-ramp to Google video

By GoogleCloudPlatform·Created 8 months ago·Updated about a month ago· 47
Veo2 Text To Video
    • video_paths
    prompt
    aspect_ratio16:9
    compression_qualityoptimized
    person_generationallow_adult
    duration_seconds8
    enhance_prompttrue
    sample_count1
    output_gcs_uri
    negative_prompt
    seed0
    gcp_project_id
    gcp_region

    If there's a least-common-denominator Veo node in this pack, it's this one: text in, video out, no image inputs, no model dropdown, nothing to configure beyond the prompt and a handful of knobs. Veo2TextToVideoNode is the most friction-free way to get Google's video generation into a ComfyUI graph, and for quick idea sketches or volume iteration it's hard to beat. It's also the cheapest node to wrap your head around before you graduate to the fancier variants.

    How it works

    It sends your prompt to the Veo 2 API on Vertex AI and waits while the model generates, then downloads the clip to ComfyUI's temp folder and hands you video_paths (VEO_VIDEO). Veo 2 has no native audio and no resolution choice - the model returns its fixed output - but it does have one lever the newer Veo 3.1 nodes took away: enhance_prompt, which defaults to on and rewrites your prompt for better results. Crucially, you can switch it off, which is what unlocks a working seed.

    Inputs that matter

    • prompt - the description. This is the whole game; be specific about camera, subject, and motion.
    • enhance_prompt - on by default. Leave it on for best results; turn it off only if you need seed reproducibility.
    • seed - only honored with enhance_prompt off. With it on, Veo's API handles randomness.
    • duration_seconds - 5 to 8 seconds.
    • aspect_ratio - 16:9 or 9:16.
    • compression_quality - optimized (default) or lossless; lossless requires output_gcs_uri, because the API won't ship a huge lossless file back inline.
    • person_generation - allow_adult or dont_allow, the people-policy switch.
    • sample_count - up to 4 clips per run, billed per video.

    Optional: negative_prompt, output_gcs_uri, gcp_project_id, gcp_region.

    Installing it

    The shared pack install covers it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes
    pip install -r comfyui-google-genmedia-custom-nodes/requirements.txt
    

    Or ComfyUI Manager → search comfyui-google-genmedia-custom-nodes. Restart, find it under Google AI/Veo2. Set gcp_project_id and gcp_region on the node, authenticate with gcloud auth application-default login, and remember every video is a paid Vertex AI call - no local GPU involved.

    The honest take

    This is the node to try first if you're new to the pack: it's forgiving, cheap relative to the 3.1 nodes, and its one gotcha (seed vs. enhance_prompt) is easy to work around because the toggle exists. Once you've seen what Veo 2 does with a prompt, you'll know whether you need image-to-video, references, or the jump to Veo 3.1 with its native audio and 1080p/4K output. For pure prompt-to-video experimentation, this is the one you'll reach for.

    CategoryGoogle AI/Veo2

    Inputs (12)

    NameTypeDefaultDescription
    promptSTRING
    aspect_ratioCOMBO16:92 options: 16:9, 9:16
    compression_qualityCOMBOoptimized2 options: optimized, lossless
    person_generationCOMBOallow_adult2 options: dont_allow, allow_adult
    duration_secondsINT85–8
    enhance_promptBOOLEANtrue
    sample_countINT11–4
    output_gcs_urioptSTRING
    negative_promptoptSTRING
    seedoptINT00–42949672950 seed let's Veo API handle randomness. Seed works with enhance_prompt disabled
    gcp_project_idoptSTRINGGCP project id where Vertex AI API will query Veo
    gcp_regionoptSTRINGGCP region for Vertex AI API

    Outputs (1)

    NameTypeDescription
    video_pathsVEO_VIDEO