Nodes/ComfyUI Razv WaveSpeed Nodes/WaveSpeedAI WAN 2.2 Animate
ComfyUI Node

WaveSpeedAI WAN 2.2 Animate

Drive one video's motion into another image — WAN 2.2 Animate, hosted

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI WAN 2.2 Animate
  • client
  • video_url
image_url
video_url
resolution480p
enable_sync_modetrue
prompt
seed-1

Most image-to-video nodes want a still and a text prompt. This one is different: it wants a still and a video. WAN 2.2 Animate is Alibaba's motion-transfer model - you give it a character image plus a clip of someone dancing, walking, or gesticulating, and it re-performs that motion on your image while keeping your subject's identity intact. It's the same trick as the popular "dance" and "invisible outfit" videos that swept the feeds, and since WAN 2.2's Animate weights aren't something you're going to run on a laptop, this hosted version is a legitimate shortcut.

What it is

A node that sends an image + a driving video to the WAN 2.2 animate endpoint on WaveSpeed AI and returns the animated clip as a URL. Note the input names: image_url and video_url - both are required, and both are URLs (the tooltips point you at the Upload Image / Upload Video nodes). There's no prompt needed for a basic result; the prompt is optional "additional guidance," so the model works on pure motion transfer out of the box.

How it works

Pack-standard mechanism under the hood: the client carries your API key from the WaveSpeedAI Client node, the node POSTs both URLs to /api/v3/wavespeed-ai/wan-2.2/animate, and you get a video_url string back. enable_sync_mode defaults to true here - a nice touch, since you usually want to just wait for the clip - but you can flip it off to grab a task ID and check later if you're batching.

The inputs that matter

  • image_url - your subject. A clean, well-lit front-facing shot transfers motion best; the model has less to work with if the subject is tiny or heavily cropped.
  • video_url - the driving motion. The model reads the movement from this clip, so pick something with clear, unambiguous motion. The clip doesn't need to be long or high-res; it needs to be readable.
  • resolution - 480p or 720p. The tooltip prices it: 480p is $0.25 per 5 seconds, 720p is $0.50 per 5 seconds. Start at 480p to validate the motion transfer, then re-render at 720p once it works.
  • prompt (optional) - extra guidance, and seed - fix it for reproducible takes.

Output is video_url (STRING). As with all the video nodes in this pack, you still need a download step to actually keep the file.

Install & setup

One pack install covers every node here:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt

Or ComfyUI Manager → search "razv-wavespeed" → Install, then restart. Add a WaveSpeed AI API key via config.ini (from config.ini.tmp), the WaveSpeedAI Client node, or WAVESPEED_API_KEY. No model downloads; deps are requests, pillow, numpy<2.0.0, torch.

Common issues

  • It won't start without a video URL - this trips people up because every other node here is image-only. The video_url input is required. If you don't have a driving clip, use the plain WAN 2.5 Image-to-Video node instead.
  • Motion looks rubbery or identity drifts - typical of motion transfer generally; lower the resolution to 480p, use a cleaner driving clip, and add a prompt specifying what shouldn't change.
  • 401 / "Invalid API key" - key problem, as everywhere in this pack.

The honest framing: motion transfer is a solved-once, fiddly-forever genre, and a hosted node means your money buys you the model without the VRAM. For a first pass, set a fixed seed and render both resolutions - you'll want to compare anyway.

CategoryWaveSpeedAI

Inputs (7)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
image_urlSTRINGURL of input image for generating output (connect from Upload Image node)
video_urlSTRINGURL of input video for generating output (connect from Upload Video node)
resolutionCOMBO480pOutput video resolution. 480p costs $0.25 per 5 seconds, 720p costs $0.50 per 5 seconds
enable_sync_modeBOOLEANtrueWait for generation to complete before returning
promptoptSTRINGAdditional generation guidance for the animation
seedoptINT-1-1–2147483647Random seed for reproducible results. -1 for random seed

Outputs (1)

NameTypeDescription
video_urlSTRING