Nodes/Symbiotica/NSWaveSpeedWan22I2V720p
ComfyUI Node

NSWaveSpeedWan22I2V720p

Wan 2.2 image-to-video at 720p, with an optional ending frame to bookend it

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
NSWaveSpeedWan22I2V720p
  • client
  • video_url
image_url
prompt
duration5
enable_sync_modetrue
negative_prompt
last_image_url
seed-1

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 - the WAVESPEED_AI_API_CLIENT socket 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).

Categoryneuralsins/WaveSpeed

Inputs (8)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
image_urlSTRINGURL of input image for video generation (connect from Upload Image node)
promptSTRINGText prompt describing the desired motion and content
durationCOMBO5Duration of the generated video in seconds (5 or 8)
enable_sync_modeBOOLEANtrueWait for generation to complete before returning
negative_promptoptSTRINGNegative text prompt of what to avoid in the generation
last_image_urloptSTRINGOptional URL of an image to guide the end of the video (connect from Upload Image node)
seedoptINT-1-1–2147483647Random seed for reproducible results. -1 for random seed

Outputs (1)

NameTypeDescription
video_urlSTRING