Nodes/ComfyUI-WanAnimatePlus/WanAnimatePlus SCAIL_2 Embeds
ComfyUI Node

WanAnimatePlus SCAIL_2 Embeds

Reference image, pose stream, masks, and loop-friendly chunking in one node

By wuwukaka·Created 4 months ago·Updated about a month ago· 409
WanAnimatePlus SCAIL_2 Embeds
  • vae
  • clip_embeds
  • ref_image
  • bg_image
  • pose_images
  • prefix_frames
  • prefix_mask
  • transition_video
  • pose_image_mask
  • reference_image_mask
  • image_embeds
width832
height480
num_frames81
frame_window_size81
force_offloadtrue
pose_strength1.000
ref_strength1.000
replacement_modefalse
tiled_vaefalse
transition_colormatchdisabled
loop_colormatch_referenceprevious_matched_frame
prefix_alpha_cropfalse
preserve_main_ref_backgroundtrue
single_frame_prefix_encodingtrue
by wuwukasi(bilibili)true

SCAIL-2 is Z.ai's skeleton-free motion transfer model on a Wan 2.1 base - the one that dropped the stick figure entirely, which is why it can do animals, multi-character and cross-identity replacement. It ships in ComfyUI core via Kijai's PR, but core gives you a bare-bones path. This node is the fork's wrapper-native version: it prepares the reference image, driving pose, colored masks, and optional prefix/transition context into one image_embeds bundle that the WanAnimatePlus Sampler consumes - and it layers on the pack's loop-seam and prefix machinery that the stock graph doesn't have.

The core conditioning. ref_image is your character (only the first frame is used if you feed a sequence). pose_images is the driving video, encoded at half resolution for the SCAIL pose stream, with pose_strength as your control multiplier. pose_image_mask and reference_image_mask are the colored per-identity masks - and replacement_mode is the master switch: off means animation mode (pose mask on black background, reference mask on white), on means replacement mode (backgrounds flipped). Get this wrong and the model composites the wrong way. ref_strength scales the reference stream.

The modes that took work. single_frame_prefix_encoding (on by default) encodes prefix_frames as individual full-resolution reference latents instead of expanding the canvas - the modern path, and it doesn't stretch your output. Turn it off and you get the legacy 37-frame front-canvas layout where prefixes hard-freeze the start of the generation. bg_image occupies one reference slot in animation mode (ignored in replacement mode), and preserve_main_ref_background / prefix_alpha_crop control whether backgrounds are kept or alpha-cropped from the masks. transition_video hard-freezes frames at the front for seamless joins, and transition_colormatch offers auto_drift - a light seam fix that compares RGB means between the last 5 frames of one segment and the first 5 of the next, plus the full mkl/reinhard/hm family. loop_colormatch_reference picks what later chunks match against for loop mode.

The window knob. frame_window_size (default 81) is the SCAIL chunk length, auto-rounded to 4n+1. Setting it differently from num_frames enables built-in loop generation with a 5-frame handoff - this is the pack's answer to the manual 81-frame chaining that community threads spent June 2026 automating. The WanAnimatePlus Easy Sampler is the recommended companion, since it keeps the full feature path while exposing only common controls.

The honest grounding. SCAIL-2's strengths and limits come from the model, not this node: proportions survive motion transfer, but faces wander (drop LightX2V LoRAs, raise steps/CFG), it's compute-hungry (minutes per clip), and identity drift across chunks is the persistent failure mode. This node bundles the conditioning so you fight fewer moving parts. Install via ComfyUI Manager (search "WanAnimatePlus") or git clone https://github.com/wuwukaka/ComfyUI-WanAnimatePlus into custom_nodes, restart, and keep the chain WanAnimatePlus end to end - including the fork's sampler, since that's where this embeds object is consumed.

CategoryWanAnimatePlus

Inputs (25)

NameTypeDefaultDescription
vaeWANVAE
widthINT83264–8096Width of the video to generate. SCAIL-2 inputs are aligned to multiples of 32.
heightINT48064–8096Height of the video to generate. SCAIL-2 inputs are aligned to multiples of 32.
num_framesINT811–10000Number of frames to generate
frame_window_sizeINT811–10000SCAIL-2 chunk window length. Automatically rounds down to 4n+1. Values different from the normalized num_frames enable built-in loop generation with 5-frame handoff; oversized values are clamped to the largest valid window that fits.
force_offloadBOOLEANtrueOffload VAE after encoding to save VRAM
pose_strengthFLOAT1.0000–10Strength of the SCAIL pose stream
ref_strengthFLOAT1.0000–10Strength of the SCAIL reference stream
replacement_modeBOOLEANfalseFalse = animation mode (pose mask black bg, reference mask white bg). True = replacement mode (pose mask white bg, reference mask black bg).
clip_embedsoptWANVIDIMAGE_CLIPEMBEDSClip vision encoded image
ref_imageoptIMAGEReference image for SCAIL conditioning. If a sequence is connected, only the first frame is used.
bg_imageoptIMAGEOptional single background image for animation mode. In single-frame prefix mode it is encoded as an extra background reference latent; in legacy prefix mode it is placed after prefix_frames. Ignored in replacement mode.
pose_imagesoptIMAGEDriving pose video. Encoded at half resolution for SCAIL.
prefix_framesoptIMAGEOptional prefix images. In single-frame prefix mode these are encoded as reference latents; in legacy mode they hard-freeze the beginning of the canvas.
prefix_maskoptIMAGEOptional colored mask images matching prefix_frames. In single-frame prefix mode this follows the reference-mask path; in legacy canvas-prefix mode it is expanded as 1+4+4... and written into the prefix mask frames.
transition_videooptIMAGEOptional transition frames to hard-freeze at the beginning of the canvas. In legacy canvas-prefix mode, transition frames are placed after the prefix frames.
pose_image_maskoptIMAGESCAIL-2 colored per-identity driving pose mask. Background is normalized to black in animation mode and white in replacement mode.
reference_image_maskoptIMAGESCAIL-2 colored per-identity reference mask image. Background is normalized to white in animation mode and black in replacement mode.
tiled_vaeoptBOOLEANfalseUse tiled VAE encoding for reduced memory use
transition_colormatchoptCOMBOdisabledColor match transition_video to ref_image.
loop_colormatch_referenceoptCOMBOprevious_matched_frameSCAIL-2 loop color match reference. The first chunk is not color matched when transition_video is not connected.
prefix_alpha_cropoptBOOLEANfalseOff keeps prefix masks as white-background reference masks in animation mode. On uses black-background masks and alpha-crops prefix_frames. Replacement mode always uses black-background reference masks.
preserve_main_ref_backgroundoptBOOLEANtrueAnimation mode only. Keep the main reference image background. When off, reference_image_mask is normalized to black background and used to alpha-crop ref_image. Ignored in replacement mode.
single_frame_prefix_encodingoptBOOLEANtrueEncode prefix images as individual full-resolution reference latents instead of expanding the canvas.
by wuwukasi(bilibili)optBOOLEANtrueFollow wuwukasi on bilibili

Outputs (1)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS