LoRA Loader Stack Split (Dynamic)
The stack that separates model strength from CLIP strength
- model
- clip
- MODEL
- CLIP
- loaded_loras
Why you'd want two strengths instead of one
A LoRA isn't one patch. It's two: one that bends the UNet (what the image looks like) and one that bends the text encoder (how the prompt is understood). ComfyUI's stock Load LoRA has strength_model and strength_clip for that reason, and most people leave both at 1.0 - the interesting failure only shows up later, when the picture is right but the prompt stops behaving.
LoRA Loader Stack Split (Dynamic) is the multi-slot stack where each row has those two dials separately, plus a checkbox to switch the row off without clearing it. Same pack, same install, same dynamic lora_count. If you want the one-strength version, that's LoRA Loader Stack (Dynamic).
The honest 2026 caveat
Here's the thing nobody says out loud: on current models this node's whole reason for existing is shrinking.
Modern architectures made the text encoder a language model - Z-Image's model_index.json names a Qwen3 encoder, Krea 2 runs Qwen3-VL, Flux.2 Klein uses a Qwen3 chat template - and you no longer train it. ai-toolkit's own example config ships train_text_encoder: false. Which means a lot of 2026-era LoRAs simply have no CLIP half to turn down, and strength_clip does nothing.
Where it still earns its place: SDXL-lineage work. Illustrious, Pony and NoobAI LoRAs were trained with a text-encoder component, they're still the bulk of what CivitAI serves, and that's the population where turning CLIP down without touching the model actually changes the output.
How it works
The node instantiates ComfyUI's core LoraLoader and calls load_lora() once per active slot, passing your two strengths straight through and threading model/clip into each call so patches stack in slot order.
A row loads when it's inside lora_count, enabled_NN is checked, lora_NN isn't None, and at least one of the two strengths is non-zero. That last part is the interesting difference from the single-strength node: model=1.0, clip=0.0 is a legal slot. It patches the UNet and patches CLIP at zero - so in practice you get the visual style without the prompt-side conditioning. Worth trying on a LoRA whose trigger is poisoning the rest of your prompt.
Inputs and outputs
model (required) and lora_count (1–50, default 5) are the required pair. clip is optional - leave it disconnected to patch the model only. prev_loaded_loras is a string input for chaining, if you're running more than one of these.
Per slot you get enabled_01, lora_01, strength_model_01, strength_clip_01, numbered up to 50. Both strengths run -100 to 100 in 0.01 steps. The tooltips are blunt about scope: model strength only, CLIP strength only.
Outputs are the same three: MODEL, CLIP, and loaded_loras. MODEL feeds your sampler (or the next stack), CLIP feeds the text encoders, and loaded_loras is a text receipt:
2 loaded:
lora01.safetensors,model=1,clip=1
lora02.safetensors,model=1.2,clip=1.5
Wire it into a Show Text node if you want to watch it. It survives chaining, too - feed the previous node's loaded_loras into this one's prev_loaded_loras and the header count is recalculated so the last node shows the whole chain.
Installing it
Both nodes ship in one repo, so one install gets you both. ComfyUI Manager, search ComfyUI Dynamic LoRA Loader Stack, or:
cd ComfyUI/custom_nodes
git clone https://github.com/panjapongr/ComfyUI-DynamicLoraLoaderStack
Restart ComfyUI. Nothing to pip install - pyproject.toml lists no dependencies, there's no requirements.txt and no model downloads. Requires ComfyUI 0.3.0+ and Python 3.10+. Because the slot-hiding lives in a bundled web extension, hard-refresh your browser tab after the restart.
(Small README landmine: its install step tells you to copy a folder called ComfyUI-InputThumbnails. That's pasted from another of the author's packs. Ignore it.)
Common issues
All two hundred widgets are on screen. This node declares 50 slots' worth of inputs - enabled, lora, strength_model, strength_clip - and hides the ones beyond lora_count from JavaScript. If the JS extension didn't load, nothing is hidden. Restart and hard-refresh.
Your CLIP strength changes nothing. Probably a LoRA with no trained text encoder - see the caveat above. It isn't broken; there's nothing there to scale.
A row silently isn't loading. Check all four conditions. Zero-and-zero skips the row entirely, None skips it, an unchecked box skips it, and an index above lora_count is never even looked at. The loaded_loras output is the fastest way to find out which.
You lowered the count and a LoRA came back. Hidden slots keep their values. Bumping lora_count back up restores the old selections, checkbox included - so check the boxes, not just the file names.
The LoRA does nothing even with strength cranked. Base-model mismatch and a missing trigger word are the usual culprits, and no stack node fixes those. On Pony or Illustrious, CLIP skip is the next thing to check outside this node - Clip Set Last Layer at -2.
Inputs (204)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora_count | INT | 51–50 | How many LoRA selectors to show and consider. Default 5, max 50. |
| clipopt | CLIP | Optional. Leave disconnected to apply LoRAs to the model only. | |
| prev_loaded_lorasopt | STRING | Wire the previous node's loaded_loras here so this output includes the whole chain. | |
| enabled_01opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_01opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_01opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_01opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_02opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_02opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_02opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_02opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_03opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_03opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_03opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_03opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_04opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_04opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_04opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_04opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_05opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_05opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_05opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_05opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_06opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_06opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_06opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_06opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_07opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_07opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_07opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_07opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_08opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_08opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_08opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_08opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_09opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_09opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_09opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_09opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_10opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_10opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_10opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_10opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_11opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_11opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_11opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_11opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_12opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_12opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_12opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_12opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_13opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_13opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_13opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_13opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_14opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_14opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_14opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_14opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_15opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_15opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_15opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_15opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_16opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_16opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_16opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_16opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_17opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_17opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_17opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_17opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_18opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_18opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_18opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_18opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_19opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_19opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_19opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_19opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_20opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_20opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_20opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_20opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_21opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_21opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_21opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_21opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_22opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_22opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_22opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_22opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_23opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_23opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_23opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_23opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_24opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_24opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_24opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_24opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_25opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_25opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_25opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_25opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_26opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_26opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_26opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_26opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_27opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_27opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_27opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_27opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_28opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_28opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_28opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_28opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_29opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_29opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_29opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_29opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_30opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_30opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_30opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_30opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_31opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_31opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_31opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_31opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_32opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_32opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_32opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_32opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_33opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_33opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_33opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_33opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_34opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_34opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_34opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_34opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_35opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_35opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_35opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_35opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_36opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_36opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_36opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_36opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_37opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_37opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_37opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_37opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_38opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_38opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_38opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_38opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_39opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_39opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_39opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_39opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_40opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_40opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_40opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_40opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_41opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_41opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_41opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_41opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_42opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_42opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_42opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_42opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_43opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_43opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_43opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_43opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_44opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_44opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_44opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_44opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_45opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_45opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_45opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_45opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_46opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_46opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_46opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_46opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_47opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_47opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_47opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_47opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_48opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_48opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_48opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_48opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_49opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_49opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_49opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_49opt | FLOAT | 1.00-100–100 | CLIP strength only. |
| enabled_50opt | BOOLEAN | true | Uncheck to skip this LoRA without clearing the selector. |
| lora_50opt | COMBO | None | LoRA file. Kept even when this slot is disabled or hidden. |
| strength_model_50opt | FLOAT | 1.00-100–100 | Model strength only. |
| strength_clip_50opt | FLOAT | 1.00-100–100 | CLIP strength only. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| loaded_loras | STRING | — |