Lora Stack Loader
Apply a whole LoRA stack to a model/clip pair you already have
- 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
modelandclip- 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | Input value for clip. | |
| lora_stackopt | LORA_STACK | — | |
| model_shiftsopt | MODEL_SHIFTS | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| lora_stack | LORA_STACK | Output value for out_lora_stack. |
| keywords | STRING | Output value for keywords. |