Nodes/ComfyUI/Vidu2 Reference-to-Video Generation
ComfyUI Node Runs on cloud

Vidu2 Reference-to-Video Generation

The character-consistency node

By Comfy-Org·Created 4 years ago·Updated 32 minutes ago· 129,926
Vidu2 Reference-to-Video Generation
  • subjects
  • VIDEO
model
prompt
audiofalse
duration5
seed1
aspect_ratio
resolution
movement_amplitude

This is the Vidu node with an actual argument for existing: multi-subject character consistency. Most video APIs let you paste one reference image and hope the model keeps the person recognizable. This one lets you define up to seven reference images, group them into named subjects, and then refer to them by name in the prompt. "The hero," "the dog," "the villain" - each backed by up to three stills of the actual character. That's a genuinely different workflow from everything else in this family.

It's the tool for the job the community actually cares about: character work. The Q3 thread that made Vidu famous in r/comfyui was literally titled "Vidu Q3 is nailing my character expressions," and the reason people pay for Vidu at all is that it keeps a face stable across shots in a way local open models (Wan 2.2, LTX 2.3) still only get "60-70% of the way" at - the subtle eye and ear movements are what falls apart locally.

How the subject system works

The subjects input is an autogrowing field. Each subject gets a name (subject1, subject2, …) and up to three reference images, with a hard cap of 7 images total across all subjects. Then you reference them in the prompt with @subject{subject_id} syntax - literally type something like "the @subject{subject1} walks toward the camera while @subject{subject2} runs past." The model resolves those names against the images you uploaded.

The other inputs are the usual Vidu 2 fare: prompt (required, max 2000 chars), duration (1–10s), aspect_ratio, resolution (720p/1080p), movement_amplitude, and seed. The one standout extra is audio - a boolean that, when enabled, has the model generate speech and background music matching the prompt. If your scene needs a character to talk, that toggle is how the dialogue gets in.

How it runs

Same API plumbing as the rest of the family: ComfyUI uploads all the reference images to Vidu's reference-to-video endpoint through the Comfy proxy, polls the task, downloads the result. Needs a Comfy account with credits and internet. Output is a VIDEO object.

The practical traps

Reference-image limits are enforced twice - per-subject (max 3) and total (max 7) - and the node validates image dimensions and aspect ratios (1:4 to 4:1) before you spend credits, which is a kindness. The real gotcha is photographic: reference images that disagree with each other (different lighting, different angles, one face photo and one full-body shot with a totally different face) will produce a character that wavers between them. Give each subject a set of stills that look like the same person in the same outfit, and the consistency magic works. Give it three random photos of "a guy," and you'll get a guy who changes clothes every shot.

Also worth remembering: this is paid per second plus a flat base, and audio adds a surcharge. The node's price badge shows it all, but the habit to build is iterating at 720p with a single subject before committing to the full multi-subject 1080p run. Multi-subject is where Vidu earns its keep - it's just not where you want to be making mistakes.

Categorypartner/video/Vidu

Inputs (9)

NameTypeDefaultDescription
modelCOMBO1 options: viduq2
subjectsCOMFY_AUTOGROW_V3For each subject, provide up to 3 reference images (7 images total across all subjects). Reference them in prompts via @subject{subject_id}.
promptSTRINGWhen enabled, the video will include generated speech and background music based on the prompt.
audioBOOLEANfalseWhen enabled video will contain generated speech and background music based on the prompt.
durationINT51–10
seedINT10–2147483647
aspect_ratioCOMBO5 options: 16:9, 9:16, 4:3, 3:4, 1:1
resolutionCOMBO2 options: 720p, 1080p
movement_amplitudeCOMBOThe movement amplitude of objects in the frame.

Outputs (1)

NameTypeDescription
VIDEOVIDEO