(Deno) Multi LoRA Loader
The generic multi-LoRA stacker — the one you'll actually use every day
- model
- clip
- model
- clip
Once you own more than three LoRAs, stacking them in separate LoraLoader nodes becomes a graph-management problem: eight LoRA nodes, eight sets of strengths, and the whole thing eats canvas space and your attention. (Deno) Multi LoRA Loader is the Power-LoRA-style fix - one node, up to eight slots, per-slot toggles, model_strength and clip_strength per slot, plus saved trigger words and notes so you can remember what each one was for. It's the generic version of the pack's LTX loader, and for SD/SDXL/Flux-class work it's the one you reach for without thinking.
How it works
Standard LoRA math, batched: each enabled slot loads a LoRA and applies it to the model with model_strength_N, and optionally patches the clip with clip_strength_N. active_loras controls how many slots the UI shows - set it to 3 if that's what you stack, 8 if you're feeling brave. The trigger_N and description_N fields don't change the math; they're bookkeeping that saves you from guessing which of your eight files was the "cinematic film grain" one. Outputs are model (after all enabled slots) and clip (patched, or passed through if no slot touched CLIP).
The design closely mirrors rgthree's Power Lora Loader, which is the de facto standard for this pattern in the ecosystem - if you've used that, everything here is familiar, just with the trigger-word and note editing built in.
Inputs worth knowing
model- your base model. Required.active_loras- slot count (default 1).- Per slot:
enabled_N,lora_N,model_strength_N,clip_strength_N(both default 1.0). - Optional
clip- connect it when your LoRAs affect CLIP; leave it disconnected otherwise and the node passes through a clean clip.
Install and the usual pitfalls
cd ComfyUI/custom_nodes
git clone https://github.com/Deno2026/comfyui-deno-custom-nodes.git
# restart ComfyUI
No extra dependencies - it's pure ComfyUI model patching. If you're on an LTX workflow, use the sibling (Deno) LTX Multi LoRA Loader instead; this node is the generic one and won't give you the audio/video strength split that LTX LoRAs need.
The classic mistakes are LoRA-order confusion and clip-strength surprises. Stacking order changes the result - the same two LoRAs applied in opposite order can look meaningfully different, so if you reorder slots you're changing the output, not just the UI. And if your image looks "off" after adding a style LoRA with clip_strength left at 1.0, drop the clip strength toward 0.5 first before touching model strength. Most "this LoRA ruined everything" posts are really clip strength being too hot. Oh, and per-slot enabled toggles are your friend for A/B testing - flip one slot off and rerun to see exactly what it contributes, instead of rebuilding the stack from scratch.
Inputs (51)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Base diffusion model that enabled LoRAs are applied to. | |
| active_loras | INT | 10–8 | Number of LoRA slots shown by the frontend UI. |
| enabled_1 | BOOLEAN | true | Enable or skip LoRA slot 1. |
| lora_1 | COMBO | __none__ | LoRA file used by slot 1. |
| model_strength_1 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 1. |
| clip_strength_1 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 1. |
| enabled_2 | BOOLEAN | true | Enable or skip LoRA slot 2. |
| lora_2 | COMBO | __none__ | LoRA file used by slot 2. |
| model_strength_2 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 2. |
| clip_strength_2 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 2. |
| enabled_3 | BOOLEAN | true | Enable or skip LoRA slot 3. |
| lora_3 | COMBO | __none__ | LoRA file used by slot 3. |
| model_strength_3 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 3. |
| clip_strength_3 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 3. |
| enabled_4 | BOOLEAN | true | Enable or skip LoRA slot 4. |
| lora_4 | COMBO | __none__ | LoRA file used by slot 4. |
| model_strength_4 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 4. |
| clip_strength_4 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 4. |
| enabled_5 | BOOLEAN | true | Enable or skip LoRA slot 5. |
| lora_5 | COMBO | __none__ | LoRA file used by slot 5. |
| model_strength_5 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 5. |
| clip_strength_5 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 5. |
| enabled_6 | BOOLEAN | true | Enable or skip LoRA slot 6. |
| lora_6 | COMBO | __none__ | LoRA file used by slot 6. |
| model_strength_6 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 6. |
| clip_strength_6 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 6. |
| enabled_7 | BOOLEAN | true | Enable or skip LoRA slot 7. |
| lora_7 | COMBO | __none__ | LoRA file used by slot 7. |
| model_strength_7 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 7. |
| clip_strength_7 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 7. |
| enabled_8 | BOOLEAN | true | Enable or skip LoRA slot 8. |
| lora_8 | COMBO | __none__ | LoRA file used by slot 8. |
| model_strength_8 | FLOAT | 1.00-10–10 | Model strength for LoRA slot 8. |
| clip_strength_8 | FLOAT | 1.00-10–10 | CLIP strength for LoRA slot 8. |
| trigger_1 | STRING | Trigger words saved for slot 1; useful for copying into prompts. | |
| description_1 | STRING | User notes saved for LoRA slot 1. | |
| trigger_2 | STRING | Trigger words saved for slot 2; useful for copying into prompts. | |
| description_2 | STRING | User notes saved for LoRA slot 2. | |
| trigger_3 | STRING | Trigger words saved for slot 3; useful for copying into prompts. | |
| description_3 | STRING | User notes saved for LoRA slot 3. | |
| trigger_4 | STRING | Trigger words saved for slot 4; useful for copying into prompts. | |
| description_4 | STRING | User notes saved for LoRA slot 4. | |
| trigger_5 | STRING | Trigger words saved for slot 5; useful for copying into prompts. | |
| description_5 | STRING | User notes saved for LoRA slot 5. | |
| trigger_6 | STRING | Trigger words saved for slot 6; useful for copying into prompts. | |
| description_6 | STRING | User notes saved for LoRA slot 6. | |
| trigger_7 | STRING | Trigger words saved for slot 7; useful for copying into prompts. | |
| description_7 | STRING | User notes saved for LoRA slot 7. | |
| trigger_8 | STRING | Trigger words saved for slot 8; useful for copying into prompts. | |
| description_8 | STRING | User notes saved for LoRA slot 8. | |
| clipopt | CLIP | Optional base CLIP model. Connect it when your LoRAs also affect CLIP. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Model after all enabled LoRA slots are applied. |
| clip | CLIP | CLIP after enabled CLIP LoRA changes, or the original/empty CLIP passthrough. |