Home Creators Posts Import Register Favorites Logout

Downloads

Content

SCAIL-2 Character Animation Workflow: Full Setup and Walkthrough

If you have been following the AI Influencer Masterclass, you already know how to build a character, train her LoRA, and keep her identity locked from post to post. The piece most people never get working is video. Real motion. Your character dancing, walking, doing a trend, moving like a real person in a clip that makes someone stop scrolling. Short form video is where the follower growth is, and getting a consistent character to move convincingly has meant either paying for a locked down tool or fighting broken workflows.

This workflow is my answer to that, and it is yours as a Masterclass member. One image of your character plus one video of a person moving, and you get back a video of your character performing that exact movement with the original audio attached. It runs SCAIL-2 on top of Wan 2.1 14B, but you do not need to understand any of that to use it. All you need to know that the output from this motion control workflow is the absolute best quality output I've personally seen across open AND closed source models.

This post starts from a bare canvas with missing node errors and no models, and ends with a finished clip.

One rule. Every setting you need lives in the control panel I built into the workflow. If a node is not covered here, leave it alone.

Step 1: Install the custom nodes

Open ComfyUI Manager, click Install Missing Custom Nodes, install everything below, restart ComfyUI, hard refresh your browser.

ComfyUI-WanAnimatePlus (wuwukaka). Runs the whole SCAIL-2 chain.

ComfyUI-WanVideoWrapper (kijai). WanAnimatePlus will not load without it, so install both even if only one shows as missing.

ComfyUI-KJNodes

ComfyUI-VideoHelperSuite

ComfyUI-FeiHou-Toolbox

rgthree-comfy

ComfyUI-Custom-Scripts (pysssss)

ComfyLiterals

WAS Node Suite

Still seeing red nodes after the restart? Run Install Missing Custom Nodes again and check for failed installs. The usual culprit is WanVideoWrapper missing next to WanAnimatePlus.

Step 2: Download the models

The Model Links note on the far left of the canvas has every link and folder. Same list here so you can start downloading now.

diffusion_models

wan2.1_14B_SCAIL_2_int8_convrot.safetensors: https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors

text_encoders

umt5-xxl-enc-fp8_e4m3fn.safetensors: https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/umt5-xxl-enc-fp8_e4m3fn.safetensors

vae

wan_2.1_vae.safetensors: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors

clip_vision

CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors: https://huggingface.co/fofr/comfyui/resolve/main/clip_vision/CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors

checkpoints

sam3.1_multiplex_fp16.safetensors: https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors

loras

wan2.1_SCAIL_2_DPO_lora_bf16.safetensors: https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors

Wan21_I2V_14B_lightx2v_cfg_step_distill_lora_rank64.safetensors: https://huggingface.co/lightx2v/Wan2.1-I2V-14B-480P-StepDistill-CfgDistill-Lightx2v/resolve/main/loras/Wan21_I2V_14B_lightx2v_cfg_step_distill_lora_rank64.safetensors

DetailEnhancerV1.safetensors: https://huggingface.co/vrgamedevgirl84/Wan14BT2VFusioniX/resolve/main/OtherLoRa%27s/DetailEnhancerV1.safetensors

BoobPhysics_v1_LowNoise.safetensors: https://civitai.com/models/1626704 (Wan2.2 Low Noise v1 version)

WAN22T2VJIGGLELOW.safetensors: https://civitai.com/models/1946769?modelVersionId=2203349 (T2V LOW NOISE version)

Each bold heading is a folder inside ComfyUI/models/. Create any folder that does not exist. Do not rename any file; the names have to match the workflow exactly.

Restart ComfyUI once the files are in place. If a loader still says a file is missing, click its dropdown and pick the file from the list.

Step 3: The control panel

Everything you touch lives in the green box on the left labeled YOUR CONTROL PANEL. The red Video Combine node next to it is your finished video.

Step 4: Load your reference image

Click choose file to upload on the Load Image node and pick your character image.

Best results: one person, full body or at least head to hips, clean background, facing the camera. Identity comes from this one image, so a blurry or cropped reference gives you a blurry or guessing result.

Step 5: Load your driving video

Click choose video to upload on the Load Video node and pick the clip whose movement you want to copy. The file name shows in the top row once it loads.

force_rate is the frame rate the video gets read at, set to 30. Match it to your source clip. Higher means more frames to generate and a longer render, so only raise it if your clip is actually shot at that rate.

frame_load_cap is how many frames get used. 0 loads the whole clip. For your first run set it to 81 so you get a quick result and can confirm everything works before committing to a full clip.

Step 6: Set your output size

The Width and Height nodes set the resolution of the final video. Default is 576 by 1024, portrait, built for phone content.

Match the orientation of your driving video. Landscape clip, flip it to 1024 by 576. Keep both values divisible by 16. Bigger costs more VRAM and time, so get a working result at the default before pushing resolution.

Step 7: The prompt (works as is)

The WanVideo TextEncode Cached node holds the positive prompt on top and the negative prompt below. Both are filled in and you can run without touching either.

The positive prompt is generalized. It locks the camera, asks for smooth motion that matches the driving video, and keeps the face consistent frame to frame. That covers most clips you will throw at it.

Prompting matters for the things the model struggles to nail on its own: a specific outfit detail, a hand movement that keeps coming out wrong, an expression that should be there and is not. Add a sentence or two describing exactly what you want to the front of the positive prompt and keep everything after it. The camera and identity lines are doing real work.

The negative prompt lists what you do not want: extra fingers, flickering eyes, identity drift, watermarks. Leave it as is.

Step 8: Your LoRA stack

The WanAnimatePlus LoraSelectMulti node has five slots. This is where you customize the look and motion of your output.

From the top down:

DetailEnhancerV1 sharpens skin, hair, and clothing detail.

Wan21_I2V_14B_lightx2v is the speed LoRA. It is why this runs in 4 steps instead of 20 or more. Do not remove or lower it.

wan2.1_SCAIL_2_DPO is the quality LoRA released with SCAIL-2. Leave it in.

BoobPhysics_v1_LowNoise adds natural body movement.

WAN22T2VJIGGLELOW adds more of the same.

Slots 4 and 5 are the ones to swap. Click the dropdown and pick any LoRA from your loras folder, whether a character LoRA you trained or a motion LoRA you downloaded. The top three stay put.

Under each LoRA is its strength. 1.0 is full effect, 0 turns it off without removing it. The two body LoRAs sit at 0.7. Start your own LoRA at 0.7 and adjust from there. If the face drifts from the reference image, lower the strength before changing anything else.

Step 9: Attention mode

The WanAnimatePlus ModelLoader loads the SCAIL-2 model. The only setting worth knowing is attention_mode.

It is set to sdpa, which works on every GPU with no extra setup. Leave it there.

The other option is sageattn, regular Sage Attention (not Sage Attention 3). It speeds up generations by a good margin, but it needs Triton and a specific install process, and if that goes wrong ComfyUI errors out the second you hit run. There are full YouTube tutorials on installing Sage Attention and Triton for your setup. If you can get it installed cleanly, switch to sageattn. If not, sdpa is fine and output quality is identical.

Step 10: Run it

Hit Run. The first run takes longer because every model has to load. After that you get a notification sound when a render finishes.

Your video lands in the Video Combine node directly right of the control panel. It plays back in the node and saves to ComfyUI/output with SCAIL2_ at the start of the file name.

The other Video Combine nodes further right are mask and tracking previews so you can confirm the tracking grabbed the right person. None of them save to disk.

Wrapping up

Reference image, driving video, size, prompt, LoRAs, output. Every other node is set the way it needs to be, and you will get more out of experimenting with your LoRA stack and reference images than you ever will from touching the sampler.

If something breaks, check in this order: custom nodes installed and restarted, model file names matching exactly, LoRA strengths. That covers almost every issue I have seen with this workflow.

Files