LoRA Stack Apply
Apply a whole LoRA stack in one pass
- model
- clip
- lora_stack
- model
- clip
- stack_info
LoRA Stack Apply (class AtomLoRAStackLoader) is the payoff node of the Atom_AI stack system. The LoRA Stack entries build the list; this node is where the list actually does something. You hand it your model, your clip, and a LORA_STACK, and it applies every LoRA in that stack to both in a single pass, in order.
It's the terminal of the chain. Nothing more, and for what it does, that's a good thing.
Why you'd reach for it
Stacking LoRAs the vanilla way means a string of LoraLoader nodes, one per LoRA, each with its own model and clip inputs that you thread through by hand. Do that with three or four LoRAs and the wires get silly. The Atom system inverts it: each LoRA Stack node is just a data slot - it holds a LoRA name and two strengths but doesn't touch any model - and you build the list first, then hand it to this loader once. The model and clip connections stay clean.
The wider lesson: LoRAs are patches on a checkpoint, not models of their own, so you can keep them as plain data until you're ready to fuse them. That's exactly what this stack system exploits. A LoRA stack applies fine to SD 1.5, SDXL, Flux, or anything else that ships a compatible LoraLoader - the underlying code is ComfyUI's own.
How it works
Under the hood this is the same mechanism as a stock LoraLoader, just looped. For each entry in the stack it resolves the filename against your models/loras folder, loads the weights with load_torch_file, and calls ComfyUI's load_lora_for_models with that entry's model and clip strengths. One entry, one fusion, next entry. Order is preserved: the first entry in the stack is the first one fused, and fusion order is one of the few things that visibly changes results - the community rule of thumb is bigger, more structural LoRAs first, subtle style tweaks after.
If the stack is empty, the node is a no-op: it passes your model and clip straight through and returns "No LoRAs loaded." as the info string.
Inputs and outputs
- model and clip - from your checkpoint (or upstream LoRA loaders).
- lora_stack - the
LORA_STACKoutput from your chain of LoRA Stack entries.
Outputs are model and clip, which wire straight into your KSampler and CLIP Text Encode exactly like a normal LoRA loader. There's a third output, stack_info (a STRING), that lists what was loaded with each strength - handy, but purely optional. Ignore it or feed it to a text/display node for a permanent record.
Installing it
Atom_AI ships as one pack. In ComfyUI Manager search for Atom_AI, install, restart. Or, manually:
cd ComfyUI/custom_nodes
git clone https://github.com/AtomAI-GR/Atom_AI
Then restart ComfyUI. There's no requirements.txt and no model download - the pack only uses what ComfyUI already bundles (torch, Pillow, numpy, the comfy internals), so install is genuinely just the clone. Nodes appear under Atom_AI ▸ LoRA.
Common issues
- "Can't find lora" style errors. If a workflow references a LoRA that's no longer in your
models/lorasfolder, this loader will throw - it doesn't skip missing files the way some of the pack's other loaders do. Check the filename against your folder before assuming the pack broke. - Wrong output. If the image ignores your LoRA, it's usually not the node: a LoRA trained for one base model won't do anything on another (a Flux LoRA on SDXL is the classic), and some LoRAs need their trigger word in the prompt. Before you blame the stack, try the LoRA alone with stock settings and a fixed seed - the standard "is it actually doing anything" test.
- Stack order. Reorder the entries if the result muddies - first entry fuses first, and swapping them is cheap to test.
The honest take: it's a thin convenience wrapper around ComfyUI's built-in loader, which is exactly what a utility node should be. If you want one node that does stacking and shows you trigger words and CivitAI links, that's rgthree's Power Lora Loader - this is the simpler sibling for people who'd rather see their LoRAs as separate nodes in the graph.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| lora_stack | LORA_STACK | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| stack_info | STRING | — |