Nodes/ComfyUI-WanAnimate-Enhancer/Wan Animate Model Enhancer
ComfyUI Node

Wan Animate Model Enhancer

The Wan Animate node that looks like a no-op but makes motion_strength actually work

By wallen0322·Created 11 months ago·Updated 11 months ago· 45
Wan Animate Model Enhancer
  • model
  • model
enabletrue

This node looks like a waste of a graph: MODEL in, MODEL out, one boolean. No sliders, no numbers. Install it on its own and you'd be forgiven for thinking it's broken. But it's the half of this pack that actually does the work - the reason motion_strength on its sibling node, Wan Animate To Video Enhanced, is a real control instead of a placebo.

Here's the deal. When you run Wan 2.2 Animate, the motion that gets transferred to your character isn't applied in the conditioning like expression or pose are - it's injected inside the model, through an adapter (the face_adapter) whose fuser blocks add the motion signal to the transformer on every denoising step. The enhanced ToVideo node can't touch that; the best it can do is stamp a motion_strength_scale value onto the conditioning and hope someone reads it. This node is that someone.

How it works

Under the hood it's a classic ComfyUI model patch. It clones the model, descends to the diffusion model, and checks for a face_adapter attribute - its way of confirming you've actually loaded a Wan2.2-Animate-14B checkpoint. Then it wraps the model's forward_orig so that during sampling it reads motion_strength_scale out of the sampler's model conditions and scales the fuser-block motion signal by it. Set motion_strength to 1.8 on the ToVideo node and this patcher multiplies the motion injection by 1.8. Set it to 0.6 and your character eases off, which is exactly the lever you want when a dance transfer looks like the character is having a seizure.

Two safety valves worth knowing: with enable off it's a clean pass-through, and if the model lacks a face_adapter it prints a warning and returns the model untouched. That last one is the silent killer - load a plain Wan 2.2 checkpoint instead of the Animate variant and this node quietly does nothing while you wonder why your knobs are dead.

Where it goes

The pack's README puts it plainly - the chain is:

[Model] -> [Wan Animate Model Enhancer] -> [Wan Animate To Video Enhanced] -> [Sampler]

It sits between your model loader and the ToVideo node. Confusing part: it has no strength input of its own. The knob lives on the ToVideo node; this node is the mechanism that reads it. If you only care about expression, pose and background control, you can skip it entirely - those work at the conditioning layer on the other node. Motion is the one that needs the model-level patch, because that's where the signal lives.

It's also worth knowing the author: this pack comes from wallen0322, the same person behind ComfyUI-Wan22FMLF, whose SVI/Wan workflows get passed around the community. This is a small, clean utility in that same ecosystem - not a heavyweight framework, just one patch.

Installing it

Same install as the rest of the pack - it ships in ComfyUI-WanAnimate-Enhancer with no Python dependencies of its own, so all you need is a recent ComfyUI and the Wan2.2-Animate-14B model (from Wan-AI/Wan2.2-Animate-14B on Hugging Face). Install via ComfyUI Manager (search "ComfyUI-WanAnimate-Enhancer") or:

cd ComfyUI/custom_nodes
git clone https://github.com/wallen0322/ComfyUI-WanAnimate-Enhancer
# restart ComfyUI

If motion control "isn't working," your checklist is short: is enable on both nodes? Is the Model Enhancer actually in the chain? And is the model really Animate-14B? If the answer to all three is yes and you still get no effect, raise motion_strength in bigger steps - 1.2 is a whisper, 1.8 is a shove, and below 1.0 is where you go when the motion is too twitchy. It's a small node, but it's the one that makes the rest of the pack worth installing.

CategoryWan2.2AnimateEnhancer

Inputs (2)

NameTypeDefaultDescription
modelMODEL
enableBOOLEANtrue

Outputs (1)

NameTypeDescription
modelMODEL