Concurrent Submit | Zhenzhen_vidu_ref2video
Vidu multi-subject reference video, with per-character voices
- image
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- task
This is the Vidu node for when "a character" isn't enough - you have characters, plural, and they need to hold identity while a scene plays out. Vidu's reference-to-video mode takes up to seven reference images and lets you tag up to three of them as subjects, each with its own voice. That's a real multi-character pipeline: subject 1 gets reference image 2 and a male voice, subject 2 gets reference image 5 and a female voice, and the prompt choreographs them together. It's the closest thing in this pack to a two-hander script writer's tool, and the concurrent wrapper means you can run several multi-subject takes in parallel.
Inputs that matter
- prompt - required. Describe the action, referencing the subjects.
- model -
viduq2(default),viduq1,vidu2.0,vidu1.5. - image1–image7 - up to seven reference images. The
subjectN_idfields tell Vidu which of these are the actors:subject1_id/subject2_id/subject3_iddefault to "1", "2", "3" (i.e. image slots 1–3). - subjectN_voice_id - per-subject voice, chosen from the same ~300-voice catalog as the img2video node. Leave empty and the subject is silent.
- audio - boolean for generating audio on the clip.
- duration - 1 to 10 seconds, default 5.
- aspect_ratio - 16:9, 9:16, 4:3, 3:4, or 1:1.
- resolution - 540p, 720p (default), 1080p.
- movement_amplitude, bgm, off_peak, watermark, wm_position - same controls as the rest of the Vidu family.
- api_key, seed, skip_error - standard.
Output: one COMFLY_VIDEO_FUTURE task.
How it works
The wrapper is the standard ComflyConcurrent.py pattern: validate, push the real Comfly_vidu_ref2video call onto the bounded video executor (ten workers), return the future immediately. The Concurrent Collect Videos node waits on all tasks, restores slot order, and reports per-slot status; failure_mode: placeholder converts a failed slot into a blank clip rather than aborting the run.
Setup
One-time install: ComfyUI Manager (search "Comfyui-zhenzhen"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
No weights. You need a Zhenzhen key from ai.t8star.org (overseas) or api.seedance.nz (domestic). Reference-to-video with multiple subjects and voices bills higher than a plain text-to-video clip - more inputs, more processing - so check the per-call cost before you queue a wall of takes.
Gotchas
Character consistency is the entire risk surface. Vidu's subject anchoring is good but not actor-perfect: faces drift across a long clip, and the more subjects you tag, the more the model has to juggle. Keep subject count low (two reads better than three), give each subject one clean, same-perspective reference image, and don't expect the same character to survive being referenced from wildly different angles. Also note subjectN_id is a string, not a dropdown - "1" means image slot 1, and a stale ID silently references the wrong image. And as everywhere in this pack, timeouts aren't guaranteed failures: check your async task page.
Inputs (28)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | COMBO | viduq2 | 4 options: viduq2, viduq1, vidu2.0, vidu1.5 |
| api_keyopt | STRING | — | |
| imageopt | IMAGE | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| audioopt | BOOLEAN | false | — |
| subject1_idopt | STRING | 1 | — |
| subject1_voice_idopt | COMBO | 304 options: , male-qn-qingse, male-qn-jingying, male-qn-badao, male-qn-daxuesheng, female-shaonv, +298 | |
| subject2_idopt | STRING | 2 | — |
| subject2_voice_idopt | COMBO | 304 options: , male-qn-qingse, male-qn-jingying, male-qn-badao, male-qn-daxuesheng, female-shaonv, +298 | |
| subject3_idopt | STRING | 3 | — |
| subject3_voice_idopt | COMBO | 304 options: , male-qn-qingse, male-qn-jingying, male-qn-badao, male-qn-daxuesheng, female-shaonv, +298 | |
| durationopt | INT | 51–10 | — |
| seedopt | INT | 00–2147483647 | — |
| aspect_ratioopt | COMBO | 16:9 | 5 options: 16:9, 9:16, 4:3, 3:4, 1:1 |
| resolutionopt | COMBO | 720p | 3 options: 540p, 720p, 1080p |
| movement_amplitudeopt | COMBO | auto | 4 options: auto, small, medium, large |
| bgmopt | BOOLEAN | false | — |
| off_peakopt | BOOLEAN | false | — |
| watermarkopt | BOOLEAN | false | — |
| wm_positionopt | COMBO | 3 | 4 options: 1, 2, 3, 4 |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_VIDEO_FUTURE | — |