Nodes/IAMCCS-nodes/Apply LoRA to MODEL (Native)
ComfyUI Node

Apply LoRA to MODEL (Native)

The fix that made WANAnimate LoRAs actually load

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
Apply LoRA to MODEL (Native)
  • model
  • lora
  • MODEL

This is the node the whole pack was built around

IAMCCS-nodes started as one bug report with a workaround. In native WANAnimate pipelines running without WanVideoWrapper, LoRA weights silently failed to load - most keys were ignored, so a character or style LoRA did almost nothing and consistency fell apart. The reason is subtle: the animation model init bypasses the internal LoRA merge functions that normal wrappers trigger. This node is the second half of the fix. It takes a stacked LoRA bundle and applies it to a MODEL at the Torch level, no wrapper required.

How it works

The input contract is deliberately boring: model (MODEL) plus lora (LORA). That LORA input is the special part - it's meant to receive the output of this pack's LoRA Stack (WAN-style remap) node, which bundles multiple LoRAs into one stack with per-slot strengths and WAN-style key remapping. This node walks that stack and patches the model directly.

Two implementation details worth knowing, because they show up in the logs:

  • It caches patched models by (model, lora signature). Run the same stack twice and the second apply is a cache hit - which matters when you're iterating in a loop where the stack changes per generation.
  • IS_CHANGED returns float("nan"), forcing re-evaluation every run. That's deliberate: inside an Easy-Use or for-loop, the scheduled stack can change per iteration even though the graph wiring didn't, so the node refuses to reuse a stale patch.

What you'll actually set

Not much - that's the appeal. The few things that matter live upstream:

  • Build your stack in IAMCCS_WanLoRAStack (the WAN-style remap node). It handles WAN 2.1, WAN 2.2, and Flow-family LoRAs, including the LightX2V distilled packs.
  • Set each LoRA's strength there. A single 1.0 is rarely right for a character LoRA on a video model; start lower and check the patch is visibly there.
  • Wire the stack's lora output here, then connect the MODEL out to your sampler.

Output is a single MODEL, ready to run. That's it - one hop in, one out.

Installation and gotchas

Same routine as the whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Or search "IAMCCS" in ComfyUI Manager. The pack needs a recent ComfyUI (0.3.x+), Python 3.12+, Torch 2.8+. No extra pip packages for this node.

Where people get confused: this node does not take a raw .safetensors path. It wants a LORA object, which in this ecosystem is the stack - so if you plug a bare LoraLoader output in and see weak or no effect, you've skipped the remap step. And if your LoRA still seems dead, check the console: the node logs applied_default vs applied_scheduled so you can see exactly which entries went in. If a stack entry is listed as "missing optional weights," that LoRA just doesn't carry those keys - usually harmless, occasionally the sign you've grabbed a WAN 2.1 LoRA for a 2.2 base. This is the node to reach for if you're doing WANAnimate or Flow-based video and your LoRAs have been quietly doing nothing.

CategoryIAMCCS/LoRA

Inputs (2)

NameTypeDefaultDescription
modelMODEL
loraLORA

Outputs (1)

NameTypeDescription
MODELMODEL