Nodes/Sage Utils/Lora Stack Loader
ComfyUI Node

Lora Stack Loader

Apply a whole LoRA stack to a model/clip pair you already have

By arcum42·Created 2 years ago·Updated 17 days ago· 32
Lora Stack Loader
  • model
  • clip
  • lora_stack
  • model_shifts
  • model
  • clip
  • lora_stack
  • keywords

This is the "I already have a model and clip loaded, now apply a bunch of LoRAs" node. Where Sage_ModelLoraStackLoader starts from a metadata-aware model_info bundle and loads the checkpoint for you, this one starts from an ordinary already-loaded model and clip - whether that came from a stock ComfyUI Checkpoint Loader or anything else - and just applies every LoRA in a stack to them at once. Per the README: "Accept a lora_stack with Model and Clip, and apply all the loras in the stack at once."

The stack itself comes from chaining Sage's "Simple Lora Stack" or "Triple Lora Stack" nodes (build the list, toggle each LoRA on/off, set weights), and this node is the endpoint that actually loads them all in one pass instead of you daisy-chaining individual LoRA Loader nodes by hand. If you've used rgthree-comfy's Power Lora Loader - probably the most widely used single-node LoRA stacker in the ecosystem - this is the same basic job, done Sage's way: build-a-stack-then-load, rather than one node with an add-a-row UI. Pick whichever fits the rest of your graph; they're not meant to be mixed for the same stack.

Inputs and outputs

  • model and clip - required, an already-loaded checkpoint's model and clip components.
  • lora_stack - optional; the chain of LoRAs to apply. Skip it and this node is a no-op pass-through.
  • model_shifts - optional, for a companion Sage node's shift adjustments if you're using one.

Four outputs: the LoRA'd model and clip, ready for your text encoder and sampler; lora_stack, the same stack passed through (useful if you want to feed it into Sage_CheckLorasForUpdates downstream); and keywords, the combined Civitai trigger-word string pulled from every LoRA in the stack - handy to drop straight into your prompt instead of hunting down each LoRA's activation phrase individually.

Installing it

ComfyUI Manager: search Sage Utils, install, restart. Manual install:

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

Restart after. No extra downloads specific to this node - it applies whatever LoRA files you've already got on disk.

Common issues

If keywords comes back blank, the likely reason is that one or more LoRAs in your stack never hash-matched anything on Civitai - locally trained LoRAs or ones sourced elsewhere won't have trigger words in Sage's cache to extract, since there's nothing to look them up against.

Double-check you're feeding this node an actual lora_stack output and not, say, a single LoRA loader's output directly - this node expects the stack type built by chaining Sage's own stack nodes, not a raw model/clip pair from a generic LoRA Loader. And since this pack is maintained by a single developer working mostly on their own workflows, if a LoRA stack behaves oddly here, it's worth checking whether it's a genuinely unsupported edge case versus a straightforward wiring mistake before assuming the node is broken.

CategorySage Utils/loader

Inputs (4)

NameTypeDefaultDescription
modelMODEL
clipCLIPInput value for clip.
lora_stackoptLORA_STACK
model_shiftsoptMODEL_SHIFTS

Outputs (4)

NameTypeDescription
modelMODEL
clipCLIP
lora_stackLORA_STACKOutput value for out_lora_stack.
keywordsSTRINGOutput value for keywords.