Wan 2.5 · Video Extend
Wan 2.5 · Video Extend — add ten seconds without a visible seam
- video_url
- audio_url
- video
- task id
What it is
Continuation for Wan 2.5 clips. You feed it a video, describe what happens next, and get your original clip back with a new segment joined on. Its last frame becomes the first frame of the new segment, which is how the join stays invisible when you get the settings right.
Since Wan 2.5 exists only as an API, this is also the only way to get a 2.5 clip longer than ten seconds without stitching two generations by hand in a video editor and hoping the colour matches. One node, one seam the model owns.
How it works
video_url takes MP4, MOV or WebM up to sixty seconds. PopNow continues it and returns the combined clip - not just the new part - as a VIDEO value for Save Video. The source is remuxed rather than re-encoded on the way up when it's already MP4, so no generational quality loss from uploading it.
Two limits worth knowing before you queue:
- 90MiB upload ceiling. Sixty seconds of high-bitrate footage exceeds it easily, and the node will say the input video is larger than the 90 MiB upload limit. Transcode or trim first.
- The source clip isn't billed - the tooltip is explicit that only the new segment counts. Extending a long clip is cheaper than it looks.
And the audio behaviour is a real difference from the 2.2 extend node: audio_url applies to the new segment, and the tooltip notes your source keeps its own sound. So the original clip's audio survives the operation; you're adding audio for the continuation only.
The inputs that matter
video_url is the clip being continued, and its last frame is the anchor. Everything about the new segment - subject position, framing, light - inherits from there.
prompt describes what happens next, in the same motion-first style the rest of the Wan line wants. "She keeps walking, the camera rises above the roofline, the sky goes from gold to grey" continues a shot. A description of the whole scene restarts it.
resolution should match your source. Tooltip's reason is the visible step in sharpness at the seam, and it's exactly what happens - a 480p source extended at 1080p produces a clip that seems to change camera mid-shot. There's a strong temptation to upscale the new segment. Resist it.
duration_seconds is the new segment's length: 5 or 10, billed per second at the resolution you picked. negative_prompt keeps unwanted elements out of the continuation only.
enable_prompt_expansion stays off, as on the other Wan 2.5 nodes. seed is fixed by default - which matters here, because the whole point is repeatability across a multi-segment build.
audio_url (optional) is for the new segment: a voice line or music cue it should follow. Outputs: video, task id.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui # or Manager > search "PopNow"
API key from popnow.ai/api/console/keys into Settings > PopNow (or POPNOW_API_KEY in the environment), restart once so the catalog reloads from your account. No weights, no GPU, nothing to put in models/. Clips generated earlier land in ComfyUI/output/popnow_<task>.mp4, which makes chaining them straightforward.
Where it goes wrong
The seam. Extending repeatedly is where identity drift bites - a face that has already shifted once will shift again, and three extensions into a clip you have a different actor. Inspect each join before you build on it. This is a known limit of chunk-and-extend across the whole open-video ecosystem, not something this node got wrong.
Sharpness mismatch at the seam means resolution and source didn't agree. Change in colour or film-stock look usually means you changed the prompt's style words between runs - keep those consistent across segments.
Cost: per-second billing at 1080p is the expensive corner, and a failed continuation still gets quoted and held. Settings > PopNow > Max credits per run is the safety net, and remember that cancelling a run stops your wait, not the job - a run that completes is charged.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens next: the action that follows, the camera move and the mood. | |
| negative_prompt | STRING | List what must not appear in the new segment. | |
| video_url | VIDEO | The clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on. | |
| resolution | COMBO | 720p | Sharpness of the new segment. Match your source to avoid a visible step in sharpness at the seam. |
| duration_seconds | COMBO | 5 | Length of the new segment in seconds. The source clip is added on top and is not billed. |
| enable_prompt_expansion | BOOLEAN | false | Allow the service to expand the submitted creative brief before generation. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| audio_urlopt | AUDIO | Audio for the new segment: a voice line or music cue it should follow. Your source keeps its own sound. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |