Zhenzhen_vidu_start-end2video
Two frames and Vidu does the middle
- start_image
- end_image
- video
- video_url
- task_id
- response
Image-to-video gives you a first frame and hopes for the best. Comfly_vidu_start-end2video gives Vidu a start frame and an end frame, and the model has to animate a believable path between them. That constraint is the whole point: if you've got a shot in mind with a definite destination - a character walking through a door, a car pulling into a garage, a flower blooming into fruit - you can pin both ends and let the model sweat the transition.
It's the third relay node in the Comfyui_Comfly Vidu family, so the mechanics are identical to its siblings: images in, POST to /vidu/v2/start-end2video on ai.comfly.chat, then poll the task endpoint every 10 seconds until the clip is ready. Paid per run, API key from the same site, zero local compute.
Inputs
start_image/end_image- the two anchor frames. Matching aspect ratios and lighting between them dramatically improve the result; a jarring jump in either is a guarantee of a weird middle.model-viduq2-pro(default),viduq2-turbo,viduq1,viduq1-classic,vidu2.0,vidu1.5- the full six, unlike the text2video node.prompt- optional description of how to get from A to B ("she crosses the room, sits, and looks out the window").duration- 1–8 seconds here (slightly tighter than img2video's 10).resolution- 360p/540p/720p/1080p.movement_amplitude,bgm,off_peak,watermark(+wm_position),seed- the same shared Vidu extras.
Outputs
video (ComfyUI VIDEO object → Save Video node), video_url, task_id, and response for status and errors. Same shape as the rest of the family.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly
or ComfyUI Manager → search "Comfyui_Comfly" → install → restart. API key from ai.comfly.chat into the api_key field.
Where it shines, and where it hurts
First/last-frame generation is one of the genuinely useful video-model features that never got hype on a par with its utility - think storyboard-to-animation pipelines, or turning keyframes from another model into motion. The pain point is physics: Vidu has to invent everything between the frames, and the longer the duration, the more it invents. Keep clips short (5s is the sweet spot), keep the two frames visually consistent, and you'll be surprised how often it nails the landing. Treat extreme transitions as a coin flip and budget a few runs. That's not a node bug - it's the honest price of "here are two photos, make me a movie."
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 (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_url | STRING | — |
| task_id | STRING | — |
| response | STRING | — |