Stack_WanAnimateToVideo
Character Animation and Replacement on Wan 2.2
- clip_img
- reference_image
- face_video
- pose_video
- continue_motion
- background_video
- character_mask
- AnimateVideo
Wan 2.2 Animate is Alibaba's own official character-animation model, and it's a genuinely big deal in the Wan ecosystem - it's the direct target the community's SCAIL-1 and SCAIL-2 models were built to beat at motion transfer, and it's still the most-used of Wan's task-specific models by community volume. It does two related things: drive a reference character with a motion source, or replace a character already in an existing video while keeping the background intact. This node is Apt_Preset's config bundle for it, and it's easily the most feature-dense node in the pack's Wan lineup.
The inputs, and what each mode actually needs. reference_image is the character you want to animate - the identity that gets carried through. pose_video is your motion source, a driving skeleton/pose sequence the character will follow. face_video is separate from body pose entirely: Wan Animate supports driving facial expression independently of body motion, so you can mix a body performance from one source with a facial performance from another. background_video and character_mask together enable replacement mode - feed an existing video plus a mask marking which region/character to swap out, and the model generates a new character into that space while preserving the rest of the scene. continue_motion plus continue_motion_max_frames and video_frame_offset handle extending past a single generation's native frame ceiling by picking up from where a previous clip left off, rather than making you manually chain clips end-to-end. clip_img and clip_vision_name (default clip_vision_h.safetensors) handle the standard CLIP vision conditioning pass. width/height/length set output dimensions and frame count, defaulting to 832Ć480 at 77 frames.
Output: AnimateVideo, a config bundle for a downstream Wan 2.2 sampler.
Installing it. No extra dependency for this node specifically beyond the base pack: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset, restart ComfyUI, or search "ComfyUI-Apt_Preset" through ComfyUI Manager. You need the Wan 2.2 Animate checkpoint itself, downloaded separately from Alibaba's official releases, plus the CLIP vision model matching clip_vision_name in models/clip_vision, plus a pose extraction step upstream to produce pose_video - this node consumes an already-preprocessed pose sequence, it doesn't generate one from raw footage.
Common issues. If character replacement mode isn't cleanly isolating the subject you want swapped, check character_mask before anything else - a loose or misaligned mask is the most common cause of the background bleeding into the generated character or vice versa. Stretched or distorted proportions on the animated character have historically been a known Wan Animate weakness when the reference and driving pose differ significantly in body proportions - this is a documented part of why community alternatives like SCAIL exist, not something you've misconfigured. And if a continued/extended clip shows a visible identity shift where the extension picks up, that's the general chunking problem every long-form Wan workflow runs into: identity drift across generation boundaries is a known limitation, not something continue_motion_max_frames alone can fully eliminate - smaller, more frequent continuations tend to drift less than a few large ones.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_vision_name | COMBO | clip_vision_h.safetensors | 1 options: None |
| width | INT | 83216ā4096 | ā |
| height | INT | 48016ā4096 | ā |
| length | INT | 771ā4096 | ā |
| continue_motion_max_frames | INT | 51ā4096 | ā |
| video_frame_offset | INT | 00ā4096 | ā |
| clip_imgopt | IMAGE | ā | |
| reference_imageopt | IMAGE | ā | |
| face_videoopt | IMAGE | ā | |
| pose_videoopt | IMAGE | ā | |
| continue_motionopt | IMAGE | ā | |
| background_videoopt | IMAGE | ā | |
| character_maskopt | MASK | ā |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AnimateVideo | ANIMATEVIDEO | ā |