WanAnimatePlus SCAIL_2 Flow Embeds
The glue node that lets SCAIL-2 live in an official-style ComfyUI chain
- 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
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 toauto_driftfor 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.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| width | INT | 83264–8096 | — |
| height | INT | 48064–8096 | — |
| num_frames | INT | 811–10000 | — |
| frame_window_size | INT | 811–10000 | — |
| batch_size | INT | 11–4096 | — |
| pose_strength | FLOAT | 1.0000–10 | — |
| ref_strength | FLOAT | 1.0000–10 | — |
| replacement_mode | BOOLEAN | false | — |
| clip_vision_outputopt | CLIP_VISION_OUTPUT | — | |
| ref_imageopt | IMAGE | — | |
| bg_imageopt | IMAGE | — | |
| pose_imagesopt | IMAGE | — | |
| prefix_framesopt | IMAGE | — | |
| prefix_maskopt | IMAGE | — | |
| transition_videoopt | IMAGE | — | |
| pose_image_maskopt | IMAGE | — | |
| reference_image_maskopt | IMAGE | — | |
| tiled_vaeopt | BOOLEAN | false | — |
| transition_colormatchopt | COMBO | disabled | 8 options: disabled, auto_drift, mkl, hm, reinhard, mvgd, +2 |
| loop_colormatch_referenceopt | COMBO | previous_matched_frame | 2 options: previous_matched_frame, main_ref_image |
| prefix_alpha_cropopt | BOOLEAN | false | — |
| preserve_main_ref_backgroundopt | BOOLEAN | true | — |
| by wuwukasi(bilibili)opt | BOOLEAN | true | Follow wuwukasi on bilibili |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |