Concurrent Submit | Zhenzhen_vidu_start-end2video
Start-end animation, batched
- start_image
- end_image
- task
Most image-to-video nodes animate from one image and let the model decide where things end up. Vidu's start-end mode is stricter and often more useful: you give it a start frame and an end frame, and it has to bridge the two. The shot lands where you told it to land. That's the tool you want for a punch-in that must end on a specific composition, or a camera move between two storyboard frames you already locked. This node is the concurrent wrapper around it - submit to the shared video pool (ten workers), get a task back, collect in Concurrent Collect Videos. If you're testing several ways to bridge the same two frames, this is exactly the batch pattern for it.
Inputs that matter
- start_image - required. The first frame.
- end_image - required. The last frame. These two are the whole point; Vidu interpolates the motion and physics between them.
- model -
viduq2-pro(default),viduq2-turbo,viduq1,viduq1-classic,vidu2.0,vidu1.5. - prompt - optional motion description to steer the middle.
- duration - 1 to 8 seconds, default 5. (Start-end clips cap at 8, a second shorter than plain img2video.)
- resolution - 360p, 540p, 720p (default), 1080p.
- movement_amplitude - auto/small/medium/large.
- is_rec, bgm, off_peak, watermark, wm_position - the usual Vidu extras.
- api_key, seed, skip_error - standard.
Output: a single COMFLY_VIDEO_FUTURE task.
How it works
Same machinery as every Submit node in the pack: ComflyConcurrent.py validates, pushes the original Comfly_vidu_start_end2video call onto the bounded video executor (ten workers), and returns the future immediately. The collector waits on every connected task, keeps slot order, and reports per-slot status. failure_mode: placeholder swaps a failed slot for a blank clip rather than killing the whole batch - handy when you're running several bridges and only keeping the good ones.
Setup
Install the pack once - ComfyUI Manager (search "Comfyui-zhenzhen"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
No model downloads, no VRAM. You need a paid Zhenzhen key from ai.t8star.org (overseas) or api.seedance.nz (domestic). Both frames get billed as inputs, so the cost is a little higher than a single-image i2v call.
Gotchas
The hard truth of start-end: the model honors the two endpoints, but the middle is where it can get creative in ways you didn't ask for - the bridge between a wide shot and a close-up can morph uncomfortably if the two frames aren't visually related. Matching lighting and camera angle between the frames is the single highest-leverage thing you can do; wildly mismatched frames produce warping, not cinema. And the usual pack caveats apply: timeouts aren't guaranteed failures (check your async task page), and the ten-slot video pool is shared across all of the pack's video nodes.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| start_image | IMAGE | — | |
| end_image | IMAGE | — | |
| model | COMBO | viduq2-pro | 6 options: viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0, vidu1.5 |
| promptopt | STRING | — | |
| api_keyopt | STRING | — | |
| is_recopt | BOOLEAN | false | — |
| durationopt | INT | 51–8 | — |
| seedopt | INT | 00–2147483647 | — |
| resolutionopt | COMBO | 720p | 4 options: 360p, 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 | — |