Nodes/ComfyUI-DonutNodes/DonutLoraStackCombine
ComfyUI Node

DonutLoraStackCombine

Splice two LoRA stacks into one

By DonutsDelivery·Created about a year ago·Updated about 13 hours ago· 25
DonutLoraStackCombine
  • lora_stack_1
  • lora_stack_2
  • lora_stack

If you've used DonutLoRAStack at all, you'll hit the wall this node exists to remove: the stack node has exactly three slots, but you want four LoRAs, or you want to build a "base" stack once and a "style" stack separately and merge them per workflow. DonutLoraStackCombine takes two LORA_STACK pipes and merges them into one, so you can compose stacks the same way you compose everything else in ComfyUI - as a graph.

It's a tiny node - honestly, it's one of the simplest things in the pack - but it solves a real ergonomic problem. Without it you'd be hand-rebuilding a six-LoRA stack in one node; with it, you build small reusable stacks and splice them.

How it works

Two optional inputs, lora_stack_1 and lora_stack_2 (both LORA_STACK type), one output lora_stack. The combine function normalizes both stacks - the source has a _normalize_stack helper that makes sure each is a proper list of (lora, model_weight, clip_weight, block_vector) tuples - then concatenates them into a single stack.

Note both inputs are optional: the node happily merges a real stack with an empty one, which makes it useful as a "tee" if you're building up a stack incrementally. The output feeds the same place every other stack does: DonutApplyLoRAStack.

When to reach for it

  • Stacking more than three LoRAs. Chain two DonutLoRAStack nodes (or a stack node plus a Combine) and you've got six slots with full per-block control on each.
  • Reusable building blocks. Keep a "base style" stack in one graph and a "subject" stack in another, combine them in the workflow that needs both.
  • Conditional composition. Gate one branch with a switch or a reroute so you can toggle a style on/off without touching the stack definition.

Install

Same as the rest of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/DonutsDelivery/ComfyUI-DonutNodes.git donutnodes
cd donutnodes
python -m pip install -r requirements.txt

or ComfyUI Manager → "DonutNodes," then restart.

The honest caveat

Combining stacks is cheap and safe - the merge is just concatenation, no math, no re-weighting. What's not safe is assuming order doesn't matter: LoRA application order still matters on the apply side, and a combined stack preserves the order you put it in (stack_1's LoRAs first). If your result suddenly changes after a combine, check that ordering - and remember the pack's cache-invalidation history: if a merge "doesn't take," clear the model cache and re-run before you tear the graph apart.

Categorydonut/LoRA

Inputs (2)

NameTypeDefaultDescription
lora_stack_1optLORA_STACK
lora_stack_2optLORA_STACK

Outputs (1)

NameTypeDescription
lora_stackLORA_STACK