Nodes/Sage Utils/Combine Lora Stacks
ComfyUI Node

Combine Lora Stacks

Merge LoRA stacks like it's a join operation

By arcum42·Created 2 years ago·Updated 28 days ago· 33
Combine Lora Stacks
  • lora_stack
  • lora_stack

The LoRA stack pattern in Sage Utils has a wrinkle: stacks are built up by chaining nodes, but sometimes your LoRAs come from different places - one stack from a template you downloaded, another from your own "always on" list, a third built dynamically. This node is the merge step. It takes multiple LORA_STACK inputs and combines them into a single stack, in order, so you can stitch together stacks built in separate branches of your graph.

How it works

The single input, lora_stack, is an autogrow input - it starts with one connection slot and grows as you plug more stacks in (up to 100, not that you'll hit it). Each slot accepts a LORA_STACK object. The output is one combined lora_stack, with entries appended in the order you connected them: first stack's entries first, then the next, and so on. It's a concatenation, not a merge - there's no de-duplication, no reweighting. If the same LoRA appears in two input stacks, it appears twice in the output, which is usually exactly what you asked for by wiring them both.

When it earns its place

Any time a workflow builds LoRA configs from more than one source. Say you have a "character basics" stack chained out of a Six Lora Stack, and separately a "style" stack from another branch - combine them here and feed the result to a single Lora Stack Loader, rather than trying to thread both through the loader. It's also the natural tool if you're generating stacks programmatically (from a config, from another pack's stack output) and need to fold them into one pipeline.

One small nicety: it handles missing inputs gracefully. A slot that's connected but produces nothing, or an input you didn't connect, just gets skipped - so partial graphs don't explode.

Installing it

Part of the Sage Utils pack - ComfyUI Manager (search Sage Utils) or:

cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt

Restart ComfyUI. Only pip dependency is dynamicprompts; no model downloads.

The thing to keep straight

Order is preserved and order matters - the stack order is the application order when the loader runs, and LoRA application order can genuinely change the result when two LoRAs affect the same layers. If you combine stacks and the output looks different than you expected, check which stack you connected first. And since there's no de-duplication, the same LoRA appearing twice will get applied twice - at double effective weight, roughly. Sometimes that's the point; usually it isn't.

CategorySage Utils/lora

Inputs (1)

NameTypeDefaultDescription
lora_stackCOMFY_AUTOGROW_V3Input value for lora_stack.

Outputs (1)

NameTypeDescription
lora_stackLORA_STACKCombined LoRA stack from all provided stack inputs.