FLUX 3 · Video Extend
The source clip isn't in the output
- video_url
- video
- task id
You made six good seconds and you want twelve. This node continues a clip: it takes your video, picks up from the last frame, and renders a new segment, with sound, in the same style.
Read the tooltip carefully before you queue, because this is the one place FLUX 3's extend differs from Seedance's and it catches people mid-workflow: the source clip is not included in the result. You get the new segment only. Seedance's extend hands you source-plus-extension joined. Here you're expected to join them yourself - feed video_url from a loader, and composite the result onto the original downstream. Budget two nodes of thought for that before you start.
How it works
Same skeletal pipeline as every model node in this pack: build the payload from the widgets, upload your clip, quote the run, submit under an idempotency key, poll, download, decode to a VIDEO. Field values left at model default are omitted so the model decides. MP4 sources are remuxed rather than re-encoded on the way up, so the extension starts from the quality you actually produced.
The continuity mechanism is simple and worth understanding: the new segment begins at the last frame of your source. That's also its weakness on repeat runs. Chain a second extension and the segment now starts from a generated last frame - one generation removed from the original footage - and small errors in anatomy, texture and lighting compound. Anyone who has chained local extenders knows the drift; that thread about quality degrading after the second extension is not a tool-specific bug, it's what re-basing on your own output does.
The inputs that matter
video_url - the clip to continue, an MP4 up to 15 seconds. Load it with a video loader node, or chain off another PopNow video node.
prompt - describe what happens next: action, camera, sound. Don't re-describe the whole shot; the model has the last frame. "The camera keeps tracking as she walks out of frame, footsteps fading, door clicks shut" is the register it wants.
quality - standard or draft, where draft is the cheap 720p preview. In the shipped price table draft runs about 120 credits per second against 410 for standard 720p, so draft is where you should discover that your continuation idea doesn't work.
resolution - 720p or 1080p; draft pins you to 720p regardless. aspect_ratio defaults to model default, which keeps the shape of the source clip - leave it alone unless you're deliberately changing framing, because a mismatched ratio makes the join obvious.
duration_seconds - the length of the new segment, 5 to 20 seconds. Multiplied by 5-6 segments, that's how people end up with a minute-long render and a surprising invoice.
generate_audio - on by default, no price difference. The new sound has to sit alongside your source's existing audio once you join them, so describe ambience that carries on rather than a fresh start.
Outputs
video (the new segment only) and task id. No last-frame image socket here, which means the natural chain is extend → save, not extend → grab frame → extend again from a node.
Installing it
Manager → PopNow → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Create the key at popnow.ai/api/console/keys, paste it in Settings > PopNow or set POPNOW_API_KEY, restart once more for the catalog. Nothing else installs; the pack leans entirely on what ComfyUI already ships.
Where people get burned
Joining is on you, and a hard cut at the junction is the usual complaint - the model can't know your edit point. Overlap the clips by a beat if you care.
Also: uploads cap at 90 MiB and the source is limited to 15 seconds for this model specifically. A 30-second source politely fails instead of quietly truncating.
And the drift. Two extensions is roughly where a shot stops being the shot you composed. If you need length, generate it long in the first place - FLUX 3 · Text to Video will do 20 seconds in one pass - and reserve extend for the case where you already have footage you can't regenerate.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens next: the action, camera and sound that continue the clip. | |
| video_url | VIDEO | The clip to continue, an MP4 of up to 15 seconds. The new segment picks up from its last frame. | |
| aspect_ratio | COMBO | model default | Output aspect ratio. Omit it to keep the shape of the source clip. |
| quality | COMBO | standard | standard renders at the chosen resolution; draft is a fast, lower-cost preview at 720p. |
| resolution | COMBO | 720p | Output resolution. draft renders at 720p only. |
| duration_seconds | INT | 55–20 | Length of the new segment in whole seconds, 5 to 20. The source clip is not included in the result. |
| generate_audio | BOOLEAN | true | Generate synchronized sound with the video. The price is the same either way. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |