WanAnimatePlus AnimateEmbeds
Multi-reference and seamless joins for Wan Animate
- vae
- clip_embeds
- ref_images
- pose_images
- face_images
- bg_images
- mask
- start_ref_image
- transition_video
- prefix_frames
- image_embeds
If you've run Wan 2.2 Animate through kijai's ComfyUI-WanVideoWrapper, you've met WanVideoAnimateEmbeds - the node that VAE-encodes your reference image, pose video and face video into the conditioning the Animate model eats. This node is that node, renamed and re-based inside the WanAnimatePlus fork, with two new inputs bolted on that are the whole reason the fork exists: prefix_frames and transition_video.
Wan Animate is motion transfer: you give it a character reference plus pose/face control frames, and it makes the character perform those movements. It's the model behind 301 corpus mentions of "Wan Animate" in 2026, mostly for character dance and lip-sync. Its weakness out of the box is that a single clip is one reference, one 5-second take. prefix_frames and transition_video are the fork's answer to both.
How it works. Everything still funnels into one image_embeds output, which your WanAnimatePlus Sampler consumes. The new behavior happens on the front of the latent canvas:
prefix_frameslets you pass 1–5 extra reference images. Image 0 is used once, images 1–4 are repeated four times each - a max 17-frame prefix - and the node automatically shifts the pose/face/bg/mask control signals to match. That's multi-reference: one character from several angles, or several characters in one shot.transition_videotakes the last 21 frames of your previous video segment and writes them directly into the front of the canvas as hard conditioning, with the control signals reverse-sampled to line up. That's your seamless clip-to-clip join - no more last-frame-to-first-frame generation roulette.
There's a transition mode toggle (37-frame layout: 17 prefix + 20 transition) versus "Outfit mode" (45 frames, with an 8-frame reserve), and single_frame_prefix_encoding switches prefix images from canvas expansion to individual reference latents - the newer, usually cleaner path.
The inputs you actually set. width, height, num_frames set your output. Feed clip_embeds from WanAnimatePlus ClipVisionEncode for identity, ref_images, pose_images, face_images as usual. pose_strength and face_strength are your multipliers if the character ignores or over-follows the control; colormatch (reinhard, mkl, hm, …) fixes color drift between windows. For short gens, leave tiled_vae off; on an 8GB card, flip it on.
Install. ComfyUI Manager, search "WanAnimatePlus", or:
cd ComfyUI/custom_nodes
git clone https://github.com/wuwukaka/ComfyUI-WanAnimatePlus.git
Restart. The README is blunt that the original ComfyUI-WanVideoWrapper should also be installed - the fork reuses its loader paths. You'll need the Wan 2.2 Animate 14B checkpoint, its VAE and T5 text encoder, and a CLIP vision model in ComfyUI/models/.
Where people get burned. The README's big warning: replace the entire chain with WanAnimatePlus nodes. Mixing this with original WanVideoWrapper nodes in one workflow gives visibly degraded output, because the canvas layouts disagree about what lives in the front frames. And don't feed 20 prefix images expecting magic - 3 is the recommended sweet spot, 5 is the hard cap (excess gets truncated), and transition_video is auto-cropped to 21 frames regardless.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | WANVAE | — | |
| width | INT | 83264–8096 | Width of the image to encode |
| height | INT | 48064–8096 | Height of the image to encode |
| num_frames | INT | 811–10000 | Number of frames to encode |
| force_offload | BOOLEAN | true | — |
| frame_window_size | INT | 771–10000 | Number of frames to use for temporal attention window |
| colormatch | COMBO | disabled | Color matching method to use between the windows |
| pose_strength | FLOAT | 1.0000–10 | Additional multiplier for the pose |
| face_strength | FLOAT | 1.0000–10 | Additional multiplier for the face |
| clip_embedsopt | WANVIDIMAGE_CLIPEMBEDS | Clip vision encoded image | |
| ref_imagesopt | IMAGE | Image to encode | |
| pose_imagesopt | IMAGE | end frame | |
| face_imagesopt | IMAGE | end frame | |
| bg_imagesopt | IMAGE | background images | |
| maskopt | MASK | mask | |
| start_ref_imageopt | IMAGE | start ref image | |
| transition_videoopt | IMAGE | Transition video frames (32 images, encoded to 8 latent frames). Acts as hard conditioning guide for seamless connection. | |
| prefix_framesopt | IMAGE | Up to 5 prefix images. Image 0 is used once; images 1-4 are repeated 4 times each, for a max 17-frame prefix. | |
| tiled_vaeopt | BOOLEAN | false | Use tiled VAE encoding for reduced memory use |
| transition modeopt | BOOLEAN | true | Transition mode: 37-frame layout (17 prefix + 20 transition). Outfit mode: 45-frame layout (17 prefix + 8 reserve + 20 transition). |
| single_frame_prefix_encodingopt | BOOLEAN | false | Encode prefix images as individual reference latents instead of expanding the beginning of the canvas. |
| Prefix & Transition Video by wuwukasi(bilibili)opt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_embeds | WANVIDIMAGE_EMBEDS | — |