Nodes/ComfyUI-WanVideoWrapper/WanVideo Animate Embeds
ComfyUI Node Runs on cloud

WanVideo Animate Embeds

Drive a character with pose, face, and reference

By kijai·Created about a year ago·Updated 2 months ago· 6,651
WanVideo Animate Embeds
  • vae
  • clip_embeds
  • ref_images
  • pose_images
  • face_images
  • bg_images
  • mask
  • start_ref_image
  • image_embeds
width832
height480
num_frames81
force_offloadtrue
frame_window_size77
colormatchdisabled
pose_strength1.000
face_strength1.000
tiled_vaefalse

This is the setup node for Wan 2.2 Animate - Alibaba's character-animation and replacement model, and one of the most-used of the Wan task models. The idea: take a reference image of a character, a driving video's pose and face, and produce a clip of your character performing that motion. WanVideoAnimateEmbeds is where all those signals get combined into the WANVIDIMAGE_EMBEDS the sampler turns into video.

If you've seen the "put my character into this dance video" workflows going around, this node is the heart of them. It's also VRAM-hungry and genuinely finicky - the community help threads are full of 4070-class cards hitting out-of-memory on it - so expect to lean on block swap and fp8.

How it works

Animate conditions the generation on several separate streams. Pose images carry the body motion (typically extracted from a driving video), face images carry the facial performance, reference images carry the character's identity/appearance, and an optional background and mask let you composite the character into a scene. The node encodes these against the Wan VAE and bundles them, with strength dials so you can weight how hard the pose and face drive the result. It also windows longer clips via frame_window_size, since Animate, like everything else on Wan, works in ~81-frame chunks natively.

The inputs that matter

  • ref_images - your character. This is the identity anchor.
  • pose_images - the driving body motion, usually a preprocessed pose sequence (the DownloadAndLoadNLFModel node in this pack produces the kind of 3D body/pose signal that feeds this).
  • face_images - the driving facial performance, kept separate so expression transfers independently of body.
  • pose_strength / face_strength (both default 1.0) - how strongly each drives the output. Ease face_strength down if the driver's face is overriding your character's likeness; ease pose_strength if the body is distorting to match the driver.
  • vae - the WANVAE, required.
  • bg_images / mask (optional) - for compositing the animated character over a background or into a masked region.
  • colormatch (optional) - matches output color to a reference to reduce drift across windows.

Output: a WANVIDIMAGE_EMBEDS for the sampler.

How to install it

Ships with the pack. Via ComfyUI Manager: search WanVideo Wrapper, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt

then restart. You'll need the Wan 2.2 Animate model (attached via the model loader) plus the VAE, and a pose/preprocessing path to generate the driving signals.

Common issues & troubleshooting

Out of memory, especially on 12-16GB cards. This is the number-one complaint in the wild. Run a GGUF or fp8 Animate model, drop your resolution (try 512-ish first and work up), keep frame counts modest, and use block swap. People do run this on a 4070 - but only with the memory-saving stack in place. Pushing high resolution or long clips is what triggers the OOM.

The output character morphs toward the driving person. Your face_strength/pose_strength are letting the driver dominate. Lower them, and make sure your ref_images are strong, clean shots of the intended character.

Motion transfer stretches or distorts the body. A known Wan Animate weakness - it can warp the subject to match the driver's proportions. If this is a dealbreaker, the community's answer is a different model (SCAIL-2 drops the skeleton intermediate specifically to avoid this), but within Animate, better-matched pose sources and lower pose strength help.

Identity drifts on longer clips. Cross-window drift again - colormatch and a strong reference reduce it, but chunked long-form on Wan always wobbles at the boundaries.

CategoryWanVideoWrapper

Inputs (17)

NameTypeDefaultDescription
vaeWANVAE
widthINT83264–8096Width of the image to encode
heightINT48064–8096Height of the image to encode
num_framesINT811–10000Number of frames to encode
force_offloadBOOLEANtrue
frame_window_sizeINT771–10000Number of frames to use for temporal attention window
colormatchCOMBOdisabledColor matching method to use between the windows
pose_strengthFLOAT1.0000–10Additional multiplier for the pose
face_strengthFLOAT1.0000–10Additional multiplier for the face
clip_embedsoptWANVIDIMAGE_CLIPEMBEDSClip vision encoded image
ref_imagesoptIMAGEImage to encode
pose_imagesoptIMAGEend frame
face_imagesoptIMAGEend frame
bg_imagesoptIMAGEbackground images
maskoptMASKmask
start_ref_imageoptIMAGEstart ref image
tiled_vaeoptBOOLEANfalseUse tiled VAE encoding for reduced memory use

Outputs (1)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS