Alibaba WAN 2.7 Video Extend
Extending a clip you already made
- client
- video_url
WAN 2.7 Video Extend is the node for the oldest video-gen complaint: "it ended too early." You feed it an existing video URL plus a continuation prompt, and it appends new content onto the end of the clip, 2 to 15 seconds at a time. If you've been chaining text-to-video runs and splicing them manually, this replaces that whole dance with one node.
The underlying model is Alibaba's WAN 2.7, served through WaveSpeed. There's a WAN lineage worth remembering here: Alibaba's open WAN releases (2.1, 2.2) are what made local video generation practical in the first place - but the 2.6+ line went commercial-only, and the API-served versions are a separate thing from the open weights. This node is squarely in the "pay per generation" lane: the model runs on WaveSpeed's servers, your GPU does nothing, and the bill is per extended clip.
How it works
The node maps its video_url input to the API's video field, sends your continuation prompt, and polls until the extended clip renders, then hands back a new video_url. As with every video node in this pack, the output is a STRING URL - pipe it into Preview Anything (same pack) to actually watch it.
One nice touch: an optional audio input lets you pass an audio URL to guide the generation, and enable_prompt_expansion has the API enrich your prompt before generating (useful if you're lazy with wording; leave it off if you want exactly what you typed).
The inputs that matter
- video_url - the source clip, as a public HTTPS URL. This comes out of a previous text-to-video or image-to-video node in the pack.
- prompt - what you want the continuation to do. Describe motion and scene continuity, not just "more of the same."
- extend_duration - 2 to 15 seconds of new content. Default 5.
- resolution - 720p or 1080p.
- negative_prompt - things to keep out of the generated continuation.
- enable_prompt_expansion - let the API auto-enrich your prompt. Off by default.
The seed widget is cache control only, same as the rest of the pack's WaveSpeed video nodes: randomize forces a fresh (and freshly billed) generation each queue run; a fixed value lets ComfyUI reuse the cached result.
Installing it
This node is part of the ERPK Collection (eRepublik-Labs/comfyui-nodes-erpk). Install with ComfyUI Manager (search erpk → ERPK Custom Nodes) and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk
pip install -r requirements.txt
You'll need a WaveSpeed API key under Settings → ERPK → API Keys (or wavespeed/config.ini). No model files to download; the WaveSpeed dependency footprint is just pydantic/requests/Pillow.
Common issues
- "Video URL is required" - the node won't run without a source URL. Make sure the previous node actually produced one, and that it's a public URL, not a localhost path.
- Continuation drifts from the original - extension models keep the general scene but can drift in details. Keep the prompt grounded in the source footage ("same camera, same lighting…") and you'll get better continuity.
- Long polls - multi-minute renders are normal; the client polls at ~10s intervals with a generous timeout. Don't mistake a slow job for a hung one.
- Every run bills - leave seed on randomize and each queue pass is a new charged generation. Pin it if you're just re-rendering the graph to test plumbing.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the continuation | |
| video_url | STRING | Source video URL to extend | |
| clientopt | WAVESPEED_AI_API_CLIENT | WaveSpeed API client (optional if API key is configured in Settings) | |
| negative_promptopt | STRING | Elements to exclude from the generated video | |
| audioopt | STRING | Optional audio URL used to guide generation | |
| extend_durationopt | INT | 52–15 | Length of the extension in seconds (2-15) |
| resolutionopt | COMBO | 720p | Output resolution |
| enable_prompt_expansionopt | BOOLEAN | false | Automatically enrich the prompt before generation |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducibility (-1 for random) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |