Nodes/ComfyUI Ino Nodes/Ino Load Multiple Lora
ComfyUI Node

Ino Load Multiple Lora

Stack up to five LoRAs in one node and keep your graph readable

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Load Multiple Lora
  • model
  • clip
  • model
  • clip
  • lora_names
  • total_loaded
lora_0_enablefalse
lora_0_name
lora_0_strength_model1.00
lora_0_strength_clip1.00
lora_1_enablefalse
lora_1_name
lora_1_strength_model1.00
lora_1_strength_clip1.00
lora_2_enablefalse
lora_2_name
lora_2_strength_model1.00
lora_2_strength_clip1.00
lora_3_enablefalse
lora_3_name
lora_3_strength_model1.00
lora_3_strength_clip1.00
lora_4_enablefalse
lora_4_name
lora_4_strength_model1.00
lora_4_strength_clip1.00

Stacking LoRAs in ComfyUI usually means chaining three or four LoraLoader nodes in a row, each with its own model and clip wire. It works, but it turns a corner of your graph into a tangle, and every time you want to reorder a LoRA you're rewiring. Ino Load Multiple Lora puts up to five slots into a single node: enable each one, pick the file, set model and CLIP strength, and it applies them sequentially in slot order. One node, one model in, one model out.

The sequencing detail matters more than it looks. LoRAs are applied to the model in order - slot 0 first, then 1, then 2 - and order changes the result because each subsequent LoRA patches the already-patched model. The KB's advice about stacking applies here: big global LoRAs first, specific ones after, and don't expect every combination to play nice. If a stack looks broken, reorder the slots before you touch the strengths.

How it works

Each enabled slot reads its safetensors from ComfyUI's loras folder and applies it with comfy.sd.load_lora_for_models, the same call the core LoraLoader uses, so you get identical behavior to chaining core nodes. A small optimization worth knowing: the node caches each slot's loaded weights by path, so re-running the workflow with the same five files doesn't re-read every safetensors from disk each time. Swap a file and the cache invalidates for that slot automatically.

A slot is skipped if it's not enabled, if no name is selected, or if both its strengths are zero - which makes it easy to build one workflow with five candidate LoRAs and toggle them per run.

Inputs and outputs that matter

  • model, clip - required, wire from your checkpoint loaders.
  • lora_N_enable - per-slot on/off toggle, default off.
  • lora_N_name - dropdown populated from your ComfyUI/models/loras folder. Files appear after a restart or refresh.
  • lora_N_strength_model / lora_N_strength_clip - separate strengths, both default 1.0, range -100 to 100. Setting CLIP strength to 0 while keeping model strength is a legit trick when a LoRA's text encoder changes don't suit your prompt.

Outputs are the patched model and clip (wire into your sampler), plus lora_names (the list of names actually loaded, handy for logging) and total_loaded (an int you can feed to a display or a conditional).

Installing it

ComfyUI Manager → search "ComfyUI Ino Nodes" → install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/comfyui_ino_nodes
cd comfyui_ino_nodes
pip install -r requirements.txt

Restart after. The pack requires inopyutils (auto-installed via requirements.txt) and a current ComfyUI (V3-style node API, v0.18.1+ per the README). No keys or downloads for this node - just your LoRA files in the right folder.

Common issues

The classic failure mode is a LoRA name that doesn't appear in the dropdown: it's in the folder but ComfyUI cached the list at startup, so restart (or refresh the node menu). Then the subtler one - two LoRAs that each look fine alone and turn to mush together. That's not a bug in the node; it's the stacking problem from the KB, and your lever is order and strength, not blame. If a slot loads and the output is unchanged, check that lora_N_enable is actually on - the default is off, and it's the most common "why is nothing happening" report on multi-slot loaders like this one.

CategoryInoModelHelper

Inputs (22)

NameTypeDefaultDescription
modelMODEL
clipCLIP
lora_0_enableoptBOOLEANfalse
lora_0_nameoptCOMBO0 options:
lora_0_strength_modeloptFLOAT1.00-100–100
lora_0_strength_clipoptFLOAT1.00-100–100
lora_1_enableoptBOOLEANfalse
lora_1_nameoptCOMBO0 options:
lora_1_strength_modeloptFLOAT1.00-100–100
lora_1_strength_clipoptFLOAT1.00-100–100
lora_2_enableoptBOOLEANfalse
lora_2_nameoptCOMBO0 options:
lora_2_strength_modeloptFLOAT1.00-100–100
lora_2_strength_clipoptFLOAT1.00-100–100
lora_3_enableoptBOOLEANfalse
lora_3_nameoptCOMBO0 options:
lora_3_strength_modeloptFLOAT1.00-100–100
lora_3_strength_clipoptFLOAT1.00-100–100
lora_4_enableoptBOOLEANfalse
lora_4_nameoptCOMBO0 options:
lora_4_strength_modeloptFLOAT1.00-100–100
lora_4_strength_clipoptFLOAT1.00-100–100

Outputs (4)

NameTypeDescription
modelMODEL
clipCLIP
lora_namesSTRING
total_loadedINT