Easy Apply LoraStack
Apply a whole stack of LoRAs in one node
- lora_stack
- model
- optional_clip
- model
- clip
Running four LoRAs at once usually means four LoRA Loader nodes chained model → model → model → model, and a canvas that looks like a switchboard. easy loraStackApply cleans that up. You build a stack once (with easy loraStack), then this node applies the entire stack to your model in a single step.
The split - one node to define the stack, another to apply it - is what makes it nice. You can pass that stack around, feed it into a loader, swap the whole set out at once, or fork it. It's the same pattern the pack uses for controlnet stacks.
How it works
A LORA_STACK is just a list of (LoRA name, model strength, clip strength) entries. loraStackApply walks that list and patches each LoRA onto your model in order, exactly as if you'd chained individual loaders - same result, one node. If you also give it a CLIP, it patches the text-encoder side of each LoRA too, which matters for LoRAs that carry trigger-word conditioning.
The inputs and outputs that matter
lora_stack(LORA_STACK) - the stack to apply. Build it witheasy loraStack(or any node that emits a compatible stack) and wire it in here.model(MODEL) - the model to patch. Comes out modified.optional_clip(CLIP) - optional but recommended. Without a clip, only the model (UNet) side of each LoRA is applied; with it, the clip side is patched too. Many LoRAs behave noticeably better when the clip side is included.- Outputs:
modelandclip- feed both onward to your conditioning + sampler.
How to install it
ComfyUI Manager: search ComfyUI-Easy-Use, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then install.bat / pip install -r requirements.txt, restart. No extra models - it uses the LoRA files already in your models/loras folder, referenced by the stack.
Common issues & troubleshooting
Trigger words aren't firing. If a LoRA needs a keyword to activate its concept and it's doing nothing, check that you passed optional_clip. Skipping the clip means the text-encoder half of the LoRA never gets applied, and trigger-word LoRAs lean on exactly that.
Too many LoRAs, muddy output. Stacking is convenient but it doesn't repeal the usual rule - pile on too many strong LoRAs and they fight, wash each other out, or blow up the image. Pull the per-LoRA strengths down in the stack; total effective strength across the stack adds up faster than you'd think.
Order can matter. LoRAs apply in stack order, and for some combinations the order shifts the result. If a stack looks off, try reordering the entries in easy loraStack.
"clip is None" downstream. If you didn't wire optional_clip, the node's clip output has nothing to pass. Either provide a clip, or take the clip for your CLIP Text Encode from your loader directly instead of from this node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_stack | LORA_STACK | — | |
| model | MODEL | — | |
| optional_clipopt | CLIP | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |