ComfyUI-LTX2.5-MSR IC-LoRA Loader
The MSR LoRA Loader That Doesn't Trash the Reference Weights
- model
- model
- msr_parameters
A plain LoraLoader can't handle an MSR LoRA. It'll happily apply the diff weights and quietly ignore the learned reference_slot_embedding tensors tucked inside the file - which is the entire point of the thing. That's the gap this node fills: it loads an LTX-2.5 MSR LoRA into a native ComfyUI MODEL the normal way, and pulls out the reference-slot embeddings plus the metadata the companion Multi-Reference Guide needs to actually use your reference images.
MSR stands for Multiple-Subject-Reference, and it's the current trick for keeping characters consistent in LTX video without training a character LoRA. You feed a couple of stills (a character sheet works great), the LoRA's learned slot embeddings get stamped onto each reference, and the model conditions on them as guide frames. The community has been quietly excited about this - one r/comfyui regular called MSR-LoRA alongside Bernini on the Wan side "two of the most revolutionary things that arrived in open source video recently." Overstated, but it points at a real shift from training LoRAs toward conditioning on references. You'll often see this pack referred to as "Licon MSR" - the repo was previously ComfyUI-Licon-MSR - and it's the same code.
How it works
Under the hood the loader reads your LoRA file with metadata enabled, splits it in two: the normal diffusion_model.* weights that get applied to the model with the strength you set, and the reference_slot_embedding.* weights (a Fourier-MLP embedding network) that get packaged into the msr_parameters output. If the file has no slot-embedding weights at all, it's a regular LoRA, and the node rejects it rather than silently dropping the reference machinery. It also reads reference_downscale_factor from the LoRA metadata and pins the temporal scale factor to 1 for ComfyUI compatibility.
The inputs and outputs that matter
Only three inputs, and you set two of them:
model- your LTX-2.5 model from a native ComfyUI loader.lora_name- dropdown of everything inComfyUI/models/loras. Pick the MSR checkpoint.strength_model- LoRA strength, default 1.0. This one's worth playing with; the diff weights and the slot embeddings are applied independently, so you can dial the model change down without touching how strongly references are conditioned.
Outputs: model, which wires straight into your guider/sampler, and msr_parameters, the custom LTX_MSR_REFERENCE_PARAMETERS bundle that feeds the Multi-Reference Guide.
Install
Via ComfyUI Manager, search for "ComfyUI-LTX2.5-MSR". Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/liconstudio/ComfyUI-LTX2.5-MSR
Restart ComfyUI completely. There are no extra Python dependencies - it leans entirely on ComfyUI's native LTX-2 nodes, so you need a recent ComfyUI with the LTX-2 AV nodes (LTXVConcatAVLatent, LTXVCropGuides, and friends). The pack ships no weights: the MSR LoRA goes in ComfyUI/models/loras, the base LTX-2.5 transformer, Gemma text encoder, and VAEs in their usual folders.
Common issues
Invalid input: lora_name- the workflow references a LoRA path that isn't in the current dropdown. Confirm the file is inmodels/loras, then refresh the browser's model list or restart. The saved path must match the dropdown exactly.- "This LoRA does not contain reference_slot_embedding weights" - you grabbed a normal LoRA, not an MSR checkpoint. Check the file's metadata or pick the right one.
- The MSR LoRA loads but your references do nothing - that's not this node, that's downstream wiring. Head to the guide node article; most people forget
LTXVCropGuidesor wire the guide afterLTXVConcatAVLatent.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora_name | COMBO | 0 options: | |
| strength_model | FLOAT | 1.00-100–100 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| msr_parameters | LTX_MSR_REFERENCE_PARAMETERS | — |