Wan 2.2 LoRA · Video Extend
Wan 2.2 LoRA · Video Extend — how you actually get past five seconds
- video_url
- loras
- high_noise_loras
- low_noise_loras
- video
- task id
What it is
Wan 2.2's native context is 81 frames. That's the whole reason this node exists - roughly five seconds, and no amount of prompt engineering changes it. Everyone who wants a longer clip gets there the same way: generate a segment, then continue from the last frame, then continue again. Locally that's a chain-and-restitch workflow people have built entire node packs around. Here it's one node with a video_url input.
You hand it a clip, describe what happens next, and get back your original clip with a new segment joined on the end. The seam is the model's job, not yours.
How it works
The tooltip spells out the mechanism precisely: the source's last frame opens the new segment, and the result is your clip with the new segment appended. So it's continuity from the final frame - the motion carries, the look carries if you tell it to.
Uploads cap at 90MiB, and the source can be up to sixty seconds of MP4, MOV or WebM. That cap bites well before sixty seconds for anything shot at high bitrate, and the node's error message says exactly what happened - the input video is larger than the 90 MiB upload limit. Trim or transcode first. That single detail catches more people than any other on this node.
The MP4 you feed in is remuxed without re-encoding when it's already MP4, so you're not losing quality on the way up.
The inputs that matter
video_url is the clip to continue. MP4, MOV or WebM, up to sixty seconds.
prompt describes what happens next - the follow-on action and the camera move. Don't re-describe the source; the model has already seen it. "The camera continues its drift and she turns to walk down the steps" is a continuation. "A woman on steps at sunset" is a restart.
resolution should match your source. The tooltip is refreshingly blunt about why: mismatch it and you get a visible step in sharpness at the seam. If your clip is 480p, generate at 480p even though 720p is available.
duration_seconds is the length of the new segment - 5 or 8 - and the source clip is added on top and not billed. That's the honest way to read the price: per-second billing applies to what you generate.
loras, high_noise_loras, low_noise_loras - and here there's a specific instruction worth following: reuse the adapters from the clip you're continuing. Same adapter in the same slot keeps the look consistent across the seam. The expert split behaves as it does elsewhere: high-noise for motion and composition, low noise for detail.
Outputs: video, task id.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui # or Manager > search "PopNow"
Key from popnow.ai/api/console/keys into Settings > PopNow or POPNOW_API_KEY in the environment, then restart so the node list is built from your account. No weights, no GPU. A clip from an earlier PopNow run is already on disk in ComfyUI/output/popnow_<task>.mp4, which makes chaining painless - load it, extend it, repeat.
Where it goes wrong
Extending repeatedly is where identity drift shows up. It's a documented limit of the whole chunk-and-extend approach across the open-video ecosystem: each seam is another chance for a face to shift. Keep segments to one extension at a time and inspect the join before committing to a third.
Two more, specific to this node. If the new segment looks like a different film stock, you changed resolution or the adapters between runs - match both. If the new segment starts mid-action with the subject already out of frame, your prompt assumed a position the last frame doesn't have; describe the world as it is at the seam, then what changes.
On cost: only the generated segment is billed, so extending is cheaper than it sounds when the source is long. Still, per-second pricing means 720p costs double 480p, and a few failed extensions add up. Every run is quoted before it starts, and Max credits per run in Settings > PopNow stops anything above your ceiling before it's held.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens next: the action that follows and the camera move. | |
| 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 | 480p | Resolution the new segment is generated at. Match your source to avoid a visible step in sharpness at the seam. |
| duration_seconds | COMBO | 5 | Length of the new segment in seconds: 5 or 8. The source clip is added on top and is not billed. |
| 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. |
| lorasopt | POPNOW_LORAS | LoRA weights applied to both noise experts of the new segment. Reuse the LoRAs from the clip you are continuing to keep its look. | |
| high_noise_lorasopt | POPNOW_LORAS | LoRA weights applied to the high-noise expert. | |
| low_noise_lorasopt | POPNOW_LORAS | LoRA weights applied to the low-noise expert. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |