NS WaveSpeed Wan 2.2 Animate
Feed it a video and a reference image, get a re-animated one
- client
- video_url
Most video nodes take one input - a prompt or a still. NSWaveSpeedWan22Animate from symbiotica-ai/comfyui-nodes takes both an image and a video, and that combination is what Wan 2.2's Animate mode is for. You hand it footage plus a reference still, and it re-renders the footage in a way that honors the reference - think of it as restyling a clip under the constraint of an image, or driving an existing shot's motion through a subject you care about. It's the odd one in the pack, and the one people overlook until they need exactly this.
How it works
image_url and video_url both arrive as URL strings - the image from ComfyUI's Upload Image node, the video from the Upload Video node (or anywhere else you can produce a hosted URL). WaveSpeed runs Wan 2.2's animate model (/api/v3/wavespeed-ai/wan-2.2/animate) on their hardware and returns a video_url to the new clip. The optional prompt steers the animation with extra guidance on top of whatever the image/video pair already implies.
The cost is laid out on the resolution picker, which is refreshingly honest: 480p costs $0.25 per 5 seconds, 720p costs $0.50 per 5 seconds. Note the odd default: this node ships with enable_sync_mode on (unlike the rest of the family), meaning the API call blocks synchronously rather than the node submitting and polling. Functionally the graph waits either way - you just don't get the friendly interrupt-aware polling loop unless you flip the toggle off.
The inputs that matter
image_url- the reference image, as a URL.video_url- the source footage to animate, as a URL.resolution- 480p or 720p, priced per 5 seconds in the tooltip.prompt(optional) - extra animation guidance.seed(optional) - -1 for random, or set it to reproduce a result.client- theWAVESPEED_AI_API_CLIENTsocket from the NS WaveSpeed Client node.
Output: video_url (STRING) - the re-animated clip, to preview in a browser or hand to 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
Sync mode is on by default here. The rest of the WaveSpeed family defaults to async polling; this node doesn't. If you're building a workflow that queues a lot of these, flipping enable_sync_mode off gives you the interrupt-aware polling behavior the other nodes use.
Wan 2.2 is the last open Wan - but not through this node. The local Wan 2.2 you can download and run for free is the same model family; this node is the pay-per-call hosted route. If you have the GPU, local Wan 2.2 is free after electricity - this node is for when you don't, or when you want it inside a graph without the VRAM hit (wan-video.md). The hosted bill and the cloud moderation ride along (external-api-nodes.md).
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| image_url | STRING | URL of input image for generating output (connect from Upload Image node) | |
| video_url | STRING | URL of input video for generating output (connect from Upload Video node) | |
| resolution | COMBO | 480p | Output video resolution. 480p costs $0.25 per 5 seconds, 720p costs $0.50 per 5 seconds |
| enable_sync_mode | BOOLEAN | true | Wait for generation to complete before returning |
| promptopt | STRING | Additional generation guidance for the animation | |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducible results. -1 for random seed |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |