Nodes/comfyui-stillfront/SF WaveSpeed Wan 2.2 Animate
ComfyUI Node

SF WaveSpeed Wan 2.2 Animate

Put a character into someone else's video, no GPU farm required

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF WaveSpeed Wan 2.2 Animate
  • client
  • video_url
image_url
video_url
resolution480p
enable_sync_modetrue
prompt
seed-1

Wan 2.2 Animate is Alibaba's character-animation model: a still of a character in, a driving video that provides the motion, and out comes your character performing that motion. Locally, that pipeline is genuinely heavy - the open Wan 2.2 path often needs a stick-figure or keypoint intermediate, and the 14B model wants a serious GPU even quantized. This node does the whole thing server-side via WaveSpeed: you give it a still image and a driving video, and it returns a new video where your subject moves like the driver.

That dual input is the whole identity of this node. Most image-to-video nodes take an image and a prompt. This one takes an image and a video, because "animate" here means "transfer the motion," not "imagine motion from a sentence." If you've got a character render you love and a dance clip or a gesture clip you want them to perform, this is the node.

How it works

It POSTs both the image URL and the video URL to /api/v3/wavespeed-ai/wan-2.2/animate with a resolution and an optional prompt for extra guidance, then returns the animated video as a hosted video_url (STRING). The motion comes from the driving video; the optional prompt is for nudging the animation ("keep the hand gesture subtle," that sort of thing) rather than describing the whole scene.

The pricing is right in the resolution tooltip, which is refreshingly honest: 480p costs $0.25 per 5 seconds, 720p costs $0.50 per 5 seconds. So an 8-second 720p clip is $0.80 a take. That's cheap enough to actually iterate on, which is the difference between this and the Sora 2 Pro tier of this pack.

The inputs that matter

  • client - required, from the SF WaveSpeed Client node.
  • image_url - the character/subject still. Connect from ComfyUI's Upload Image node (it's a URL string).
  • video_url - the driving video whose motion gets transferred. Also a URL, from Upload Video. Both are required - this node does nothing with one missing.
  • resolution - 480p or 720p. The cost difference is baked into the labels.
  • prompt - optional guidance for the animation itself.
  • seed - -1 for random; set it to reproduce a take.
  • enable_sync_mode - defaults to on here, so the workflow waits for the clip before moving on.

Output: video_url (STRING) - a hosted link to the finished animation.

Install

The standard pack route. ComfyUI Manager → search "SF ComfyUI Nodes" → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Stillfront/comfyui-sf-nodes.git
cd comfyui-sf-nodes
pip install -r requirements.txt

Then an SF WaveSpeed Client node with your key (widget, config.ini [API] api_key, or WAVESPEED_API_KEY). No model files to download - this whole pack is API calls, and Wan 2.2 Animate is one of the cheaper ones.

Gotchas

  • Both inputs must be URLs WaveSpeed can reach. A local file path or a localhost URL fails; host them publicly first. This is the most common way people bounce off this node.
  • The quality ceiling is your driving video. Garbage in, garbage out - the motion transfer only ever matches the driver's clarity. Feed a clean, stable driving clip.
  • README config drift again: the README's config.ini example (wavespeed_api_key) doesn't match the api_key key the code reads. Copy config.ini.tmp.
  • It's billed per 5 seconds of output, and the tooltip doesn't hide it. Plan takes, don't spam them.

Locally, this same job is a Wan 2.2 Animate workflow with a motion-transfer chain and a long render time. This node is the version where you paste two URLs and get a clip back. For character-animation tests it's arguably the best value in the whole WaveSpeed section of this pack.

CategoryStillfront/WaveSpeed

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