zhenzhen-vidu-q3-short-play-lowprice
Keep the same character across a whole drama
- asset_image1
- asset_image2
- asset_image3
- asset_image4
- asset_image5
- asset_image6
- asset_image7
- asset_image8
- asset_image9
- asset_image10
- asset_image11
- asset_image12
- asset_image13
- asset_image14
- api_config
- video
- video_url
- task_id
- response
The classic failure of AI video for anyone making short-form drama is consistency: generate a character, and the next clip has someone who looks only vaguely related. Comfly_vidu_q3_short_play_lowprice is Vidu Q3's answer aimed straight at that problem. You register your character, scene, or prop as an asset with reference images, and the node generates clips that keep those assets consistent across takes. It's built for the 漫剧 / short-drama workflow - "drama short play" and "ad short play" are literally the two models.
This one runs on Zhenzhen's domestic storefront (api.seedance.nz), the cheaper of the pack's two backends, which is why "lowprice" is in the name. It's a cloud call like every node in the pack - your part is wiring it up, the GPU work happens elsewhere.
How it works
The node registers up to 14 asset_image references under the asset_type you pick (character, scene, or prop), gives each an asset name (asset_name_prefix) and a description, then submits a generation job with your script_name and prompt. The backend holds those assets so follow-up clips can reuse the same identity. Results come back as video, video_url, plus task_id and the raw response JSON.
Inputs worth understanding before you start:
model-vidu-q3-drama-short-playorvidu-q3-ad-short-play. Drama for storytelling, ad for product spots.prompt- what happens in the clip. Reference your assets so the model knows who's on screen.script_name- an identifier for the short-play project. Treat it as a project label.asset_type- character/scene/prop. Register a character once and every clip you run with that reference keeps them consistent.asset_image1–asset_image14- the reference images. A few clean shots of the same character beat fourteen noisy ones.duration- 8 to 12 seconds, default 8.aspect_ratiois 9:16 (vertical, the short-drama default) or 16:9.resolutionis fixed at 1080p.
Installing and setting up
Install via ComfyUI Manager (search Comfyui-zhenzhen) or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Restart ComfyUI. No model downloads. Unlike the FAL nodes, this one doesn't take an api_key field directly - it needs an api_config connection from the Comfly Seedance2 Low Price Settings node (base_url + your domestic storefront key), or the SEEDANCE_API_KEY environment variable. Wire the settings node's api_config output into this node's api_config input and you're set.
Troubleshooting
The two things that trip people up. First, the config: this node requires the settings node - run it without an api_config and it raises "empty api_key." Set the key once in the settings node and reuse it across the whole low-price family. Second, an empty prompt with no way to reference your assets means the model guesses who's in the scene, which defeats the entire consistency feature. The skip_error toggle is here like everywhere in the pack - flip it on for batch runs so one failed clip doesn't halt the queue.
Where people get burned: asset quality. If your character references disagree with each other (different angles, different lighting), Vidu averages them into mush. Feed it consistent shots and the "same person every take" promise mostly holds. Mostly.
Inputs (27)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | vidu-q3-drama-short-play | 2 options: vidu-q3-drama-short-play, vidu-q3-ad-short-play |
| prompt | STRING | — | |
| script_name | STRING | Vidu short play | — |
| resolution | COMBO | 1080p | 1 options: 1080p |
| duration | COMBO | 8 | 5 options: 8, 9, 10, 11, 12 |
| aspect_ratio | COMBO | 9:16 | 2 options: 9:16, 16:9 |
| style | STRING | realistic | — |
| asset_type | COMBO | character | 3 options: character, scene, prop |
| asset_name_prefix | STRING | Asset | — |
| asset_description | STRING | Reference asset | — |
| asset_image1opt | IMAGE | — | |
| asset_image2opt | IMAGE | — | |
| asset_image3opt | IMAGE | — | |
| asset_image4opt | IMAGE | — | |
| asset_image5opt | IMAGE | — | |
| asset_image6opt | IMAGE | — | |
| asset_image7opt | IMAGE | — | |
| asset_image8opt | IMAGE | — | |
| asset_image9opt | IMAGE | — | |
| asset_image10opt | IMAGE | — | |
| asset_image11opt | IMAGE | — | |
| asset_image12opt | IMAGE | — | |
| asset_image13opt | IMAGE | — | |
| asset_image14opt | IMAGE | — | |
| api_configopt | ZHENZHEN_SEEDANCE2_CONFIG | — | |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| task_id | STRING | — |
| response | STRING | — |