Nodes/ComfyUI-WanAnimatePlus/WanAnimatePlus SCAIL_2 Flow Embeds
ComfyUI Node

WanAnimatePlus SCAIL_2 Flow Embeds

The glue node that lets SCAIL-2 live in an official-style ComfyUI chain

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

The WanAnimatePlus family is built around a fork of Kijai's WanVideoWrapper, and most of its nodes talk to each other in legacy WANVID... types. That's great until you want SCAIL-2 features - multi-reference prefix frames, seamless video connection, two-phase sampling - in a workflow that speaks the language the rest of ComfyUI speaks: MODEL, CONDITIONING, LATENT, IMAGE. This node is the bridge. It takes official types in and hands official types out, so you can bolt it onto a stock ComfyUI SCAIL-2 chain without being trapped in the WanAnimatePlus universe.

SCAIL-2, for the uninitiated, is Z.ai's Apache-2.0 motion transfer model on a Wan 2.1 base - the one that threw away the stick-figure pose skeleton and keeps depth and contact instead, which is what makes animal driving and cross-identity replacement work. This node packages its conditioning: you feed it a reference image, a driving pose video, masks, optionally prefix frames and a transition video, and it produces the positive/negative conditioning plus a latent that the Flow Sampler consumes.

What you actually set

The required inputs are the boring-but-important geometry: positive and negative conditioning (from your text encoder), a vae, and width/height/num_frames. The interesting controls:

  • ref_image - the subject you're animating.
  • pose_images - the driving video frames that move it.
  • prefix_frames - up to 5 extra reference images, expanded across the front of the clip (3 is the sweet spot per the README).
  • transition_video - the last 21 frames of a previous segment, hard-frozen into the front of the latent for seamless video connection.
  • replacement_mode - SCAIL-2 replacement-mode RoPE; on for "put my character into this video", off for animation.
  • pose_strength / ref_strength - how hard the pose and reference streams pull.
  • transition_colormatch - set to auto_drift for a light loop-seam correction that compares RGB means across the last/first few frames.

A couple of behaviors worth knowing before they surprise you. single_frame_prefix_encoding is fixed on here and not exposed - prefix frames become individual reference latents rather than expanding the output canvas, so your clip comes back the length you asked for. And yes, there's a required input literally named by wuwukasi(bilibili) with a tooltip asking you to follow the author on Bilibili. It's a boolean that does nothing to the math; consider it a tip jar with a checkbox. Kind of funny, kind of shameless, zero harm in leaving it on.

Where it sits

Wire it TextEncodeCached → Flow Embeds → Flow Sampler → VAE Decode, all official types, per the README's official-chain recipe. The outputs are positive, negative, and latent, so it drops straight into a sampler you already know. People use it to mix motion transfer with subject reference images - one r/StableDiffusion thread pointed at this exact pack as the way to get SCAIL-2-style transfer with Bernini-style reference control in one go.

Install

Same routine as every node in this pack. Via Manager, search "ComfyUI-WanAnimatePlus", or:

cd ComfyUI/custom_nodes
git clone https://github.com/wuwukaka/ComfyUI-WanAnimatePlus.git

Restart ComfyUI. The README insists the original ComfyUI-WanVideoWrapper be installed too, and dependencies come from requirements.txt (accelerate, diffusers, peft, gguf, opencv-python and friends). Model-wise you need an SCAIL-2 checkpoint with the pose/mask streams and a Wan VAE.

Gotchas

The big one for this pack: don't mix WanAnimatePlus nodes with original WanVideoWrapper nodes in the same workflow - the README is blunt that it degrades output. Pick a lane. And keep in mind SCAIL-2 is a compute hog; 81 frames is native, and long clips are where the Flow Sampler's two-phase controls earn their keep.

CategoryWanAnimatePlus

Inputs (26)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
widthINT83264–8096
heightINT48064–8096
num_framesINT811–10000
frame_window_sizeINT811–10000
batch_sizeINT11–4096
pose_strengthFLOAT1.0000–10
ref_strengthFLOAT1.0000–10
replacement_modeBOOLEANfalse
clip_vision_outputoptCLIP_VISION_OUTPUT
ref_imageoptIMAGE
bg_imageoptIMAGE
pose_imagesoptIMAGE
prefix_framesoptIMAGE
prefix_maskoptIMAGE
transition_videooptIMAGE
pose_image_maskoptIMAGE
reference_image_maskoptIMAGE
tiled_vaeoptBOOLEANfalse
transition_colormatchoptCOMBOdisabled8 options: disabled, auto_drift, mkl, hm, reinhard, mvgd, +2
loop_colormatch_referenceoptCOMBOprevious_matched_frame2 options: previous_matched_frame, main_ref_image
prefix_alpha_cropoptBOOLEANfalse
preserve_main_ref_backgroundoptBOOLEANtrue
by wuwukasi(bilibili)optBOOLEANtrueFollow wuwukasi on bilibili

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT