Nodes/ComfyUi-MpiNodes/Mpi Lora Model
ComfyUI Node

Mpi Lora Model

Apply a LoRA to the model only — skip the text encoder

By MadPonyInteractive·Created 11 months ago·Updated 5 days ago· 3
Mpi Lora Model
  • model
  • model
  • lora_name
  • strength
lora_name
strength_model1.00

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.

CategoryMpiNodes/ModelOps

Inputs (3)

NameTypeDefaultDescription
modelMODEL
lora_nameCOMBO1 options: None
strength_modelFLOAT1.00-10–10

Outputs (3)

NameTypeDescription
modelMODEL
lora_name*
strengthFLOAT