ComfyUI Node

Veo 3.1 Lite

Google's Best Video Model, on a Budget

By Runware·Created 2 years ago·Updated about a month ago· 140
Veo 3.1 Lite
  • frameImages
  • video
positivePrompt
size720p (16:9)
seed0
duration4
numberResults1
providerSettings.google.generateAudiotrue
providerSettings.google.personGenerationallow_all
providerSettings.google.resizeMode(default)
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

Google's Veo has been the "how is this even a video model" benchmark since Veo 2, and the Lite tier is the smart-people's pick: it's the same family with the cost and latency trimmed, which is exactly what you want when you're iterating on a shot. The Veo 3.1 Lite node puts that model in your ComfyUI graph as a cloud call - no 24GB card, no weights, just a prompt (and optionally a starting image) and a VIDEO comes back.

What makes Veo 3.1 genuinely different from the open local video models is the polish. Physics that don't collapse into goo, camera moves that read like they were planned, and - the party trick - synchronized audio. The providerSettings.google.generateAudio toggle defaults to on, so your clip comes back with ambient sound and music synced to the motion. That's something your local Wan stack cannot do at all.

The inputs that matter

Required: positivePrompt. Then:

  • frameImages - first-frame anchoring. Feed it a still and Veo animates from that exact image instead of inventing one. This is the single most useful input for controlling output: if you want a specific subject or composition, generate a still first, then animate it.
  • size - a preset dropdown (720p/1080p in 16:9 or 9:16, plus "from input"). No raw width/height here; pick your bucket.
  • duration - 4, 6, or 8 seconds as a dropdown (not a toggle like some siblings - it's a plain enum here).
  • seed - reproducibility.
  • providerSettings.google.personGeneration - dont_allow / allow_adult / allow_all. The moderation dial for people appearing in output. If your shot keeps getting rejected for people, check this.
  • providerSettings.google.resizeMode - crop / pad for how input media is fitted to the output size.

Output is a single video. Wire it into a Video Preview or Save Video node.

How to get the best out of it

The "Lite" in the name is doing real work - it's the fast, cheap tier, so treat it as your iteration loop. First-frame it with a strong still, generate a 4-second pass to check the motion and composition, then scale up to 8 seconds and 1080p once the shot is right. Iterating on the cheap tier beats paying full price for a dud, and the model quality gap between Lite and full in 3.1 is small enough that most people land on Lite for anything that isn't a hero shot.

Install and gotchas

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Restart (or install "Runware" from ComfyUI Manager) and set your API key - Settings → Runware API key, or RUNWARE_API_KEY. No model files download.

The gotchas are the shared pack ones: every run bills the account (watch the cost on the title bar), and remember that generateAudio defaults to on - if you only want the visual track, that toggle is where to flip it, and if a generation feels slow, it's often the audio pass adding time. Video is the priciest modality in the pack, so numberResults of 4 means four cloud video renders in one queue.

CategoryRunware/Video/google

Inputs (16)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
frameImagesoptIMAGE
sizeoptCOMBO720p (16:9)Output size. Only one of resolution or dimensions is sent.
seedoptINT00–4294967295Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
durationoptCOMBO4Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
providerSettings.google.generateAudiooptBOOLEANtrueGenerate video with synchronized audio including ambient sounds and music.
providerSettings.google.personGenerationoptCOMBOallow_allControls whether people can appear in the generated video.
providerSettings.google.resizeModeoptCOMBO(default)Resize mode for the input media.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
videoVIDEO