NSWaveSpeedWan22I2V720p
Wan 2.2 image-to-video at 720p, with an optional ending frame to bookend it
- client
- video_url
First, the naming confession: this node's display name is literally NSWaveSpeedWan22I2V720p - no spaces, an abbreviation, exactly as awkward in ComfyUI's search as it looks. But it's worth finding, because it's the pack's Wan 2.2 image-to-video workhorse: a still in, a 720p clip out, with the one extra input that makes it genuinely useful, an optional last_image_url that guides how the video ends.
How it works
Your image_url (a URL string from ComfyUI's Upload Image node) goes to WaveSpeed's Wan 2.2 i2v endpoint along with a motion prompt, and you get back a video_url to the finished clip. duration is 5 or 8 seconds, and negative_prompt does real work here - Wan rewards steering ("no morphing, no flicker, no extra people"). The last_image_url input is the sleeper: give it a second image and the clip is guided toward ending on that frame, which is how you get a loopable or deliberately-landing shot out of a one-shot generation.
Wan 2.2's community reputation - expressive motion, strong facial emotion, and genuinely good still-frame quality - carries over to the hosted version. The catch is that through this node you're paying for it per call rather than running the open weights you could technically download. The tradeoff is the whole conversation: local Wan 2.2 is free after your GPU, this is instant setup with a meter running (wan-video.md).
Like the Animate node, this one defaults enable_sync_mode to on - a departure from the rest of the pack, which polls async. Flip it off if you want the interrupt-aware polling the other nodes use.
The inputs that matter
image_url- the still to animate, as a URL.prompt- desired motion and content.duration- 5 or 8 seconds.last_image_url(optional) - an image to guide the video's ending.negative_prompt(optional) - worth filling in.client- theWAVESPEED_AI_API_CLIENTsocket from the NS WaveSpeed Client node.
Output: video_url (STRING) - preview in a browser or feed a download-from-URL node.
Install and keys
# ComfyUI Manager: search "Symbiotica", or:
cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt
Restart, add the NS WaveSpeed Client node with your wavespeed.ai key (widget, Settings → Symbiotica, or WAVESPEED_API_KEY), wire client in. No model files.
Common issues
Can't find the node? Search the exact string NSWaveSpeedWan22I2V720p in the node menu - the pack's display name has no spaces, which trips people up.
Sync on by default. Same note as the Animate node - it's the pack's one behavior difference; toggle enable_sync_mode off for async polling.
Local is the cheaper Wan. If you've got the VRAM, the open 2.2 weights run on your own card for free. This node exists for the hosted route - pay-per-call, minutes per render, and your input image leaves the machine (external-api-nodes.md).
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| image_url | STRING | URL of input image for video generation (connect from Upload Image node) | |
| prompt | STRING | Text prompt describing the desired motion and content | |
| duration | COMBO | 5 | Duration of the generated video in seconds (5 or 8) |
| enable_sync_mode | BOOLEAN | true | Wait for generation to complete before returning |
| negative_promptopt | STRING | Negative text prompt of what to avoid in the generation | |
| last_image_urlopt | STRING | Optional URL of an image to guide the end of the video (connect from Upload Image node) | |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducible results. -1 for random seed |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |