Nodes/comfyui-byokey/BYOKey Google Veo Video
ComfyUI Node

BYOKey Google Veo Video

Veo 2 and 3 on your own Google key — the video quality ceiling, in your graph

By MeteorAndy·Created 4 months ago·Updated 3 months ago· 0
BYOKey Google Veo Video
  • image
  • output
api_key
base_urlhttps://generativelanguage.googleapis.com
prompt
aspect_ratio16:9
modelveo-2.0-generate-001
resolution720p
negative_prompt
duration_seconds5
enhance_prompttrue
person_generationALLOW
generate_audiofalse
seed0
poll_interval9
max_wait600

Veo is the model the video community measures everything else against. No open weights exist, so the only way to use it is to call it - and this node is the bring-your-own-key call, straight to Google's generativelanguage.googleapis.com with your Gemini API key. Veo 3 added native audio generation, which the KB flags as the one capability open-source video still hasn't matched, so if you need sound baked into the clip, this is the node you want.

How it works. The submit-then-poll pattern this pack is built on: POST your job to Google with your key, poll every poll_interval seconds until the operation completes, download the mp4, and wrap it in ComfyUI's native VIDEO type. An optional image input lets you steer with a reference frame (Veo 3's i2v is genuinely good). Inputs are images sent as inline base64 data URIs.

The inputs that matter - and the fiddly matrix:

  • model - six options spanning two generations: veo-2.0-generate-001, plus the 3.x family (veo-3.1-generate, veo-3.1-fast-generate, veo-3.1-lite, veo-3.0-generate-001, veo-3.0-fast-generate-001). This is where most people get lost, because the valid combinations below depend on it.
  • resolution - 720p, 1080p, or 4k - but 4K only works on the 3.1 models, and not on veo-3.1-lite or anything 3.0. The node raises a hard error if you ask for 4K on a model that can't do it.
  • duration_seconds - 4–8, stepped. Veo 2 allows 5–8; Veo 3 is 4–8 in steps of 2. Check against the tooltip when you switch models.
  • enhance_prompt - on by default and forced on for Veo 3 models. Google rewrites your prompt to "make it better." If you want your exact wording sent, you need a Veo 2 model; with Veo 3 you don't get a choice.
  • negative_prompt - genuinely supported here, which is rarer in video APIs than you'd think. Use it.
  • person_generation - ALLOW or BLOCK, Google's explicit gate for generating people. If you get refusals on a people-heavy prompt, this is the first switch to check.
  • generate_audio - off by default; Veo 3 only. Flip it on and the clip comes with synchronized sound, dialogue, the works.
  • aspect_ratio - 16:9 or 9:16.
  • seed - 0 for random; Veo honors it otherwise.
  • image - optional reference frame for i2v steering.

poll_interval and max_wait are the babysitters; the 10-minute cap is plenty.

Output: one output (VIDEO) socket.

Install. Shared pack, one clone:

cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; it's under api/byokey/video

No model downloads, no extra dependencies beyond ComfyUI's bundled torch, aiohttp, PIL, numpy and av.

Gotchas. The model/resolution/duration/enhance matrix is the trap - read the tooltips when you switch models, and know that 4K demands a 3.1 non-lite model. Jobs are the slowest in the pack; a 4K 3.1 clip can take a while, so keep max_wait generous. And the pack is young with no community footprint - skim the source before feeding it a Google key.

Categoryapi/byokey/video

Inputs (15)

NameTypeDefaultDescription
api_keySTRINGGoogle AI (Gemini API) key
base_urlSTRINGhttps://generativelanguage.googleapis.comVendor API host. Default targets Google directly; override for relays.
promptSTRINGText description of the video
aspect_ratioCOMBO16:9Aspect ratio of the output video
modeloptCOMBOveo-2.0-generate-001Veo model to use for video generation
resolutionoptCOMBO720pOutput video resolution. Only applied for veo-3.1 models. 4K is not available for veo-3.1-lite or veo-3.0 models.
negative_promptoptSTRINGNegative text prompt to guide what to avoid in the video
duration_secondsoptINT54–8Duration of the output video in seconds (5-8 for Veo 2, 4-8 step 2 for Veo 3)
enhance_promptoptBOOLEANtrueEnhance the prompt with AI assistance. Forced True for Veo 3 models.
person_generationoptCOMBOALLOWWhether to allow generating people in the video
generate_audiooptBOOLEANfalseGenerate audio for the video. Only supported by Veo 3 models.
seedoptINT00–4294967295Seed for video generation (0 for random)
imageoptIMAGEOptional reference image to guide video generation
poll_intervaloptINT92–60Seconds between operation status polls
max_waitoptINT60060–3600Maximum seconds to wait for the video

Outputs (1)

NameTypeDescription
outputVIDEO