Zhenzhen MJ Video Extend
Pick a Clip, Add Four More Seconds
- video1
- video2
- video3
- video4
- task_id
- response
Your Midjourney video is good, it's just... short. This is the node that fixes that. Comfly_mj_video_extend takes one of the four clips from Comfly_mj_video and extends it - by four seconds per call, up to four times, according to the README. So the plan for a longer take is: generate, extend, extend, extend, and you can stretch a 5-second clip into something usable.
It's a tiny, single-purpose node, and it's also a good example of how these API packs think in billed units: each extend is its own paid call, and - like the generator - it returns a fresh batch of four videos per call, so you can keep the extension that works.
How it works
You feed it the task_id that came out of Comfly_mj_video, plus an index telling it which of the four videos from that batch to continue. The proxy's Midjourney backend takes that clip and produces a continuation, and the node hands back a new set of four video outputs (the pack's ComflyVideoAdapter wrappers, so they feed straight into Save Video), a new task_id for chaining, and the raw response.
The inputs that matter
- task_id - from the previous
Comfly_mj_videorun. The node needs the exact id of the batch the clip came from; this is why you keep that output wired. - index -
0–3, which of the four generated clips to extend (first, second, third, or fourth). The README spells it out: 0–3 maps to video1–video4. - api_key - optional; falls back to
Comflyapi.json.
Outputs: video1–video4 (VIDEO - a new batch of continuations), task_id (STRING), response (STRING).
Install
Same pack, same path:
cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly
Restart, or use ComfyUI Manager (search Comfyui_Comfly). No downloads beyond the standard requirements.txt set; key from ai.comfly.chat in Comflyapi.json or the node's api_key.
Where people get burned
Three things, all mechanical. First, the index is zero-based - video2 is index 1, and people pick 2 and wonder why they got the third clip's continuation. Second, each extend is a fresh billed unit, and the README's "max 4 extends" is a hard ceiling, so you can't loop this node into infinite continuity - plan your extension budget before you start. Third, task_id is everything: run the generator, lose the task id, and you have nothing to extend (the node can't re-derive it from a video file, so keep the wire connected).
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| task_id | STRING | — | |
| index | COMBO | 0 | 4 options: 0, 1, 2, 3 |
| api_keyopt | STRING | — | |
| 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 (6)
| Name | Type | Description |
|---|---|---|
| video1 | VIDEO | — |
| video2 | VIDEO | — |
| video3 | VIDEO | — |
| video4 | VIDEO | — |
| task_id | STRING | — |
| response | STRING | — |