Nodes/ComfyUI_ScarlotSoft/ScarlotSoft Lora Loader
ComfyUI Node

ScarlotSoft Lora Loader

A LoRA loader with rows, toggles, and trigger-tag reading — ScarlotSoft Lora Loader

By scarlotsoft·Created 2 months ago·Updated about a month ago· 0
ScarlotSoft Lora Loader
  • model
  • clip
  • MODEL
  • CLIP
available_loras
lora_data[]

The core LoraLoader handles one LoRA at a time, so a workflow with three LoRAs is three stacked loader nodes and three chains of model-plus-clip wires. ScarlotSoft Lora Loader replaces that pile with a single node that holds a list of LoRAs - each with its own on/off toggle and strength - and applies them all in sequence to the model and clip you feed in. One node, one model wire in, one model wire out. That's the pitch, and it's a good one.

On the surface the inputs look odd: model, clip, then available_loras (a dropdown of everything in your loras folder) and lora_data, a multi-line string that defaults to []. That's the trick - the real UI lives in JavaScript. The frontend hides those two text-y widgets and draws a proper row list instead: an "Add LoRA" button, a row per LoRA with name, strength, and an on/off switch, and a master toggle. Every change you make is serialized into the lora_data JSON string, which the backend parses on execution. So you never type JSON yourself - the widget does it. The hidden dropdown is how the JS knows what files exist to offer.

Mechanically, each enabled entry with a strength gets loaded via load_torch_file + load_lora_for_models, chained through the list in order - same math the core loader uses, just looped. Missing LoRAs are skipped with a console warning instead of killing the run, and an entry with on false is skipped entirely. Outputs are MODEL and CLIP, ready to feed a KSampler.

The genuinely nice extra is the built-in metadata reader. The pack exposes an API route (/scarlotsoft/lora_info) that opens a safetensors file, reads the header, and extracts the training metadata - the ss_tag_frequency trigger tags, the base model name, and the training resolution - then shows them in the UI. So instead of guessing the trigger word for a character LoRA you just downloaded, you click into it and the node tells you what tags the trainer embedded. For someone drowning in unexplained LoRAs, that's a real time-saver.

The usual LoRA rules apply: strength is per-row, and stacking several at 1.0 is how you get blobby, over-tuned results - the standard advice from the LoRA-training playbook is that a 0.7–0.9 base plus a style LoRA at 0.6–0.8 beats three at full blast. Keep an eye on the per-LoRA strength as you stack, not just the toggle.

Install with the pack - ComfyUI Manager → search ScarlotSoft → install → restart:

cd ComfyUI/custom_nodes
git clone https://github.com/scarlotsoft/ComfyUI_ScarlotSoft

No extra Python deps for the loader itself. Suite theme; hard-refresh after a UI-mode switch if the custom list doesn't render.

Verdict: if you juggle multiple LoRAs - style + character + detailer LoRAs in one graph - this collapses real wiring clutter. The trigger-tag reader alone justifies a look. It won't teach you which strengths work (nothing will), but it removes the friction of the multi-loader chain.

CategoryScarlotSoft/Lora/Loader

Inputs (4)

NameTypeDefaultDescription
modelMODEL
clipCLIP
available_lorasCOMBO0 options:
lora_dataSTRING[]

Outputs (2)

NameTypeDescription
MODELMODEL
CLIPCLIP