Nodes/ComfyUI-Apt_Preset/Stack_WanAnimateToVideo
ComfyUI Node

Stack_WanAnimateToVideo

Character Animation and Replacement on Wan 2.2

By cardenluo·Created 2 years ago·Updated 6 days ago· 324
Stack_WanAnimateToVideo
  • clip_img
  • reference_image
  • face_video
  • pose_video
  • continue_motion
  • background_video
  • character_mask
  • AnimateVideo
clip_vision_nameclip_vision_h.safetensors
width832
height480
length77
continue_motion_max_frames5
video_frame_offset0

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.

CategoryApt_Preset/stack/😺backup

Inputs (13)

NameTypeDefaultDescription
clip_vision_nameCOMBOclip_vision_h.safetensors1 options: None
widthINT83216–4096
heightINT48016–4096
lengthINT771–4096
continue_motion_max_framesINT51–4096
video_frame_offsetINT00–4096
clip_imgoptIMAGE
reference_imageoptIMAGE
face_videooptIMAGE
pose_videooptIMAGE
continue_motionoptIMAGE
background_videooptIMAGE
character_maskoptMASK

Outputs (1)

NameTypeDescription
AnimateVideoANIMATEVIDEO