Local Lora Gallery Stacker
A LORA_STACK output with no model attached
- lora_stack
- active_loras
- trigger_words
Here's a slightly weird but genuinely useful idea from this pack: a LoRA gallery node that applies nothing at all. The Local Lora Gallery Stacker is all interface and no inference - it renders the same card gallery, lets you build and reorder a stack, and then hands you three outputs describing that stack. No model goes in, no model comes out. You do the applying somewhere else.
Why you'd reach for it
Most of the pack is the all-in-one path: pick LoRAs in the gallery, get a loaded MODEL. The Stacker exists for when you don't want the gallery squatting in your model graph. Instead you get a LORA_STACK - a list of (name, strength_model, strength_clip) tuples in the shared stack convention that plenty of ComfyUI loaders understand - and you feed that to any stack-aware applier. It's the same separation the ecosystem uses for reusable workflow bits: keep the data source separate from the thing that spends your VRAM.
It's also the escape hatch if you're not in the standard "gallery → sampler" setup. One gallery can drive multiple apply points. You can build the stack once, save it as a preset, and drop it into any workflow that speaks LORA_STACK.
How it works
No inputs at all - the gallery reads your models/loras folder, and your selection is stored in a hidden selection_data widget that travels with the workflow. When the graph runs, load_loras parses that selection and builds three things:
- lora_stack - the
LORA_STACKtuple list, using each LoRA's path and a single strength for both model and clip slots. - active_loras - a space-joined string of A1111-style
<lora:name:strength>tags, using the LoRA's filename and its model strength. - trigger_words - comma-joined trigger words for every enabled LoRA that has them.
Toggled-off and zero-strength entries are skipped, same as the rest of the pack.
The outputs in practice
- lora_stack - wire this into
LocalLoraGalleryStackApplyfrom this pack, or into any other node that accepts aLORA_STACK. This is the one that actually does something. - active_loras - the
<lora:name:strength>tags are the prompt-tag syntax from the A1111 world. If your workflow builds prompts as text, you can paste or inject these directly instead of wiring a stack through a loader. - trigger_words - hook it into your prompt/CLIPTextEncode input and let the metadata do the typing.
Installing it
No extra dependencies - it ships with the pack and wraps ComfyUI's own folder handling.
cd ComfyUI/custom_nodes
git clone https://github.com/Firetheft/ComfyUI_Local_Lora_Gallery.git
Restart ComfyUI (or install via Manager, searching "Local Lora Gallery"). Nothing to download.
Gotchas
- This node alone does nothing visible. It has zero inputs and produces no image. If you wire it up and "nothing happens," that's by design - the stack only matters once it reaches an applier.
- Make sure the target actually understands
LORA_STACK. Not every loader does; the Stacker's output is only useful when the next node speaks that type. - The
<lora:...>tags are basename-only - subfolder paths get stripped, so two LoRAs with the same filename in different folders will collide inactive_lorasoutput.
If your workflow wants a tidy separation between "what do I want" and "apply it," this is the node that makes the gallery a reusable data source instead of a UI bolted onto your sampler.
Inputs (0)
No inputs
Outputs (3)
| Name | Type | Description |
|---|---|---|
| lora_stack | LORA_STACK | — |
| active_loras | STRING | — |
| trigger_words | STRING | — |