Mpi Lora Model
Apply a LoRA to the model only — skip the text encoder
- model
- model
- lora_name
- strength
Core ComfyUI's LoraLoader applies a LoRA to both the model and the CLIP text encoder. Most of the time that's what you want - but not always, and Mpi Lora Model is the version for the other case. It applies the LoRA to the model only, with a single strength_model control, and skips the clip entirely. No clip input, no clip output, no clip strength.
Why would you want model-only? Because the modern architectures changed the rules. The KB's LoRA training notes are blunt about this: on Flux and the 2026 generation of models, you do not train the text encoder any more - the encoders are language models now (Qwen3 and friends), and trainers explicitly disable text-encoder training. A LoRA trained that way may have nothing meaningful for a CLIP half to receive, or you simply may not want to pay the cost of touching the text encoder at all. Model-only is also the honest choice for LoRAs that are purely visual - style and content weights - where the trigger token lives in the text but the encoder already knows it. The tooltip-level description is "Apply LoRA to model with strength control," and that's the whole contract.
Interface: model in (a MODEL), lora_name as a dropdown built from your loras/ folder (with None first - the pack's convention for "no LoRA"), and strength_model as a FLOAT from −10 to 10, default 1. Outputs: model (the patched model), plus lora_name and strength echoed back as outputs so a host app or a downstream node can read what was applied - the pack's habit of handing values back out of the wire.
The implementation is worth one sentence because it explains the edges: if strength_model is 0 or the name is None, the model passes through untouched - no load, no patch. Otherwise it uses ComfyUI's own load_lora_for_models with the clip strength forced to 0.0. The author also caches LoRA loads (load_lora_cached), so repeatedly re-applying the same file in one session doesn't re-read it from disk every time.
The sibling to know about is Mpi Lora Model Clip, which takes model and clip with independent strength_model / strength_clip controls - that's your SD/SDXL node where the CLIP half genuinely matters. Rule of thumb: if your base model is SDXL or older, reach for the Clip version; if you're on Flux or a modern flow-matching model, model-only is often exactly right, and this node is the clean way to express it.
Install is the pack's standard no-drama deal: ComfyUI Manager → search "ComfyUi-MpiNodes" → install → restart, or
cd ComfyUI/custom_nodes
git clone https://github.com/MadPonyInteractive/ComfyUi-MpiNodes
No pip dependencies; the only thing it needs is your LoRA files in the usual ComfyUI/models/loras/ folder. It's part of the Mad Pony Interactive utility pack (engine behind Cubric Vision), and it slots into any chain where the applied LoRA needs to be a value the graph can read back.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora_name | COMBO | 1 options: None | |
| strength_model | FLOAT | 1.00-10–10 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| lora_name | * | — |
| strength | FLOAT | — |