Apply LoRA to MODEL (Runtime Bridge)
Sneak a WAN LoRA in mid-run, keyed to the generation index
- model
- lora
- model
- report
The classic way to apply a LoRA in ComfyUI is static: you pick it before sampling and it's fused for the whole run. That breaks down the moment you're looping - say a WAN 2.2 multi-generation pipeline where generation 0 should be vanilla, generation 1 should have a character LoRA, and generation 2 should swap to a style one. IAMCCS_ModelWithLoRA_RuntimeBridge is the node that makes the swap happen at runtime, keyed off a generation_index, without rebuilding the model each loop iteration.
It comes from IAMCCS-nodes, and it's directly in the lineage of the pack's reason to exist: IAMCCS built these LoRA utilities because native WANAnimate-style graphs silently dropped LoRA weights, and the fix involved re-injecting LoRAs dynamically inside the animation graph. This node is that philosophy in one clean package.
How it works
You feed it a base model and a lora, plus a generation_index - typically wired straight from your loop counter. When the index matches the LoRA's intended slot (set via the author's schedule nodes upstream), the LoRA is fused into the model at that moment and the patched model flows to the sampler. Because it patches rather than reloads, the cost stays low enough to run inside a loop, and the report output tells you whether the LoRA actually landed on that iteration.
The naming matters: "Bridge" because it bridges a model built once into a runtime where the LoRA identity can change per generation. inject_tag and log_prefix are plumbing for the IAMCCS LoRA-schedule system - the tag marks which injection stream this bridge belongs to when you have several, and the log prefix just names the console output so a busy loop doesn't turn into gibberish.
Inputs and outputs
model(MODEL) - base WAN model.lora(LORA) - the LoRA to inject at the right generation.generation_index(INT, default 0) - the loop counter deciding whether to inject.inject_tag(STRING, defaultinject) - which injection stream to trigger.log_prefix(STRING, defaultWAN LoRA runtime apply) - label for the console log.
Outputs:
model(MODEL) - patched model, ready for the sampler.report(STRING) - text confirming what happened on this generation. Wire it to a display node if you want to watch injections fire.
How to install
Ships in IAMCCS-nodes. ComfyUI Manager: search "IAMCCS". Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart after cloning. The pack requires ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. No model downloads here - WAN 2.2 checkpoints and your LoRAs come from elsewhere.
Gotchas
The runtime bridge only makes sense inside a generation loop; used standalone with a static generation_index it's just a slower apply node. And remember the wider lesson from the Wan 2.2 scene: speed LoRAs are the ones people throw into these runtime slots, and the community's hard-won advice is that slapping speed LoRAs on everything nukes motion, composition, and faces - the standard compromise is applying them only to the low-noise pass. This node doesn't judge which LoRA you inject; it just fires when the index says so. Also, inject_tag and log_prefix are for coordinating with the author's schedule nodes - if you're not using those, leave the defaults alone.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora | LORA | — | |
| generation_index | INT | 00–1000000 | — |
| inject_tag | STRING | inject | — |
| log_prefix | STRING | WAN LoRA runtime apply | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| report | STRING | — |