Nodes/SAX Bridge/SAX Lora Loader
ComfyUI Node

SAX Lora Loader

Stack and toggle LoRAs without rewiring your graph

By so16tm·Created 6 months ago·Updated 3 months ago· 0
SAX Lora Loader
  • pipe
  • PIPE
enabledtrue
loras_json[]

SAX Lora Loader is the node that keeps a multi-LoRA workflow from becoming a wall of stack nodes. Feed it a pipe, click "+ Add Item" a few times, pick your LoRAs, and it applies them all to the model and CLIP inside the pipe - each one individually togglable, reorderable, and strength-adjustable from the node body. No wiring a LoRA loader into every stage of the graph, no five separate nodes to mute when you want to A/B test with and without. One node, up to ten LoRAs, per-LoRA on/off.

How it works

Three inputs: pipe (the PIPE_LINE to modify), enabled (a master kill-switch - when False it returns the pipe untouched, handy for quickly comparing base vs. LoRA'd without touching the list), and loras_json. That last one is the interesting bit: the actual LoRA list lives in a hidden JSON widget that the node UI manages for you, so the visible node body is the friendly list you interact with, not a JSON blob you edit by hand.

The UI is where it shines. Click a LoRA name to open a picker, drag the strength box to scrub values, click a strength to type one, click the pill to toggle the LoRA on/off, use the arrows to reorder, the ✕ to delete. Strength is a single slider per LoRA that drives model and CLIP together - the pack deliberately links them, so you don't manage two numbers per LoRA. Loading failures are handled gracefully: a bad LoRA logs a warning and is skipped while the rest still apply, entries with strength 0 are skipped, and missing on flags default to enabled.

What it's for

The pitch is A/B testing without rewiring. Pre-register "style A" and "style B" as two entries, toggle pills to flip between them, and the pipe downstream never changes - the KSampler, upscaler, and detailer all just see the model with whichever combination is live. For the comparison-happy workflow, combine it with SAX Image Collector + SAX Image Preview: run one batch per LoRA combination and eyeball them side by side.

You'll typically stack it after a SAX Loader (which can already apply one LoRA at load time) when you outgrow the single-LoRA slot - or put it mid-pipe before the prompt/sampler stage, since it operates on whatever model the pipe is carrying. Its strength is editing speed: reorder, mute, re-strength in seconds, without ever dragging a wire.

Honest notes

"One value for model and CLIP strength" is a simplification, and it's the one real trade here. Fine-tuned LoRAs that want different model vs. CLIP strengths (a common trick for style LoRAs) can't express that split in this node - you'd go back to a per-component stack node for those. And like any pipe-stage node, it's subject to the classic stale-pipe gotcha: if the pipe you feed it was built from a copy taken before the LoRA applied, you can silently run base weights. The SAX Debug Inspector shows applied_loras in the pipe, so check that when in doubt.

Installing

Part of the pack, no extra dependencies:

cd ComfyUI/custom_nodes
git clone https://github.com/so16tm/SAX_Bridge

Restart, then SAX/Bridge/Loader → SAX Lora Loader. Your LoRA inventory comes straight from ComfyUI's models/loras folder, so anything you already have shows up in the picker.

CategorySAX/Bridge/Loader

Inputs (3)

NameTypeDefaultDescription
pipePIPE_LINE
enabledBOOLEANtrueWhen False, returns the pipe without applying any LoRA.
loras_jsonSTRING[]JSON array of LoRA entries. Managed by the node UI.

Outputs (1)

NameTypeDescription
PIPEPIPE_LINE