Nodes/ComfyUI-Coziness/MultiLora Loader
ComfyUI Node

MultiLora Loader

Load a whole stack of LoRAs from one text box

By skfoo·Created 3 years ago·Updated 2 years ago· 31
MultiLora Loader
  • model
  • clip
  • MODEL
  • CLIP
text

ComfyUI's stock LoraLoader applies exactly one LoRA per node. Run a style + character + concept stack and you're dragging five loaders around, squinting at spaghetti, and hoping you remember which 0.7 belonged to which file. MultiLora Loader from the ComfyUI-Coziness pack says: give me a model, a clip, and a list of LoRA names in a text box, and I'll apply them all, in order. That's the whole pitch, and for text-driven workflows it's the right one.

Here's the thing that makes it worth reaching for: it speaks Automatic1111's lora syntax natively. If you're migrating from stable-diffusion-webui, or your wildcard/prompt-building setup already embeds <lora:name:weight> tags in text, this node lets you keep writing them that way instead of translating each one into a node. ComfyUI otherwise ignores lora tags in prompts entirely - this pack exists to bridge that gap.

How it works

Parsing is the whole job. Each line of the text input is one LoRA in the format file_name[:weight1[:weight2]]:

one
Some Folder/two.safetensors:1.1
three:1
four:1:0.5
<lora:five> # this is a comment
<lyco:six:0.8:0.7>

A single weight applies to both model and clip; two weights are model first, clip second; no weight means 1.0 for both. The <lora:...> and <lyco:...> wrappers are stripped and ignored (the lyco/lora distinction doesn't matter here), and # starts a comment to end of line - so you can comment a LoRA out without deleting it.

File names resolve one of two ways: the bare filename without extension (two), matched against everything in your loras folder, or the full subpath (Some Folder/two.safetensors) for when you want to be explicit. Under the hood it's the same comfy.sd.load_lora_for_models call the stock loader uses, applied in a loop - no magic, which is why it behaves with every model family the standard loader supports.

Two details in the source are worth knowing. It caches loaded LoRA weights and carries them across re-runs, so re-queueing the same list doesn't re-read every file from disk each time, and a 0:0 weight short-circuits to a no-op without loading the file at all. Small niceties on a small node.

The inputs and outputs that matter

Inputs are model (MODEL), clip (CLIP), and text - a multiline STRING, default empty, which is your LoRA list. Wire model and clip straight from your checkpoint loader. Outputs are MODEL and CLIP, fed the same way as a stock LoraLoader: MODEL to your sampler, CLIP to CLIP Text Encode.

To make it sing, pair it with the pack's other node, Lora Text Extractor: paste an A1111-style prompt into the extractor, connect its Extracted Loras output here, and your lora tags are loaded while the clean prompt goes to the text encoder.

Installing

It's about as painless as custom nodes get. In ComfyUI Manager, search for ComfyUI-Coziness and install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/skfoo/ComfyUI-Coziness.git

Then restart ComfyUI. The pack is one .py file with zero third-party dependencies - no requirements.txt, no model downloads, nothing to go stale. In an ecosystem where half the pain is dependency conflicts, this one installs and just works.

Gotchas

The big one is that it fails loudly. If you typo a name or reference a LoRA that isn't in your loras folder, you get a ValueError: Unable to find lora with name 'x' instead of a silent ignore. Annoying the first time, quietly useful after - stock ComfyUI will happily pretend a missing LoRA doesn't exist, and you find out at the result.

Two smaller ones. If two subfolders contain files with the same basename, short-name matching resolves to whichever the folder scan hit last - use the full subpath to disambiguate. And loras apply in listed order, on top of each other; stacking is safe but interactions are unpredictable, so keep your per-file weights modest and sanity-check the output.

The honest comparison: rgthree's Power Lora Loader is the fancier stacker, with per-entry toggles and CivitAI metadata readouts. This node wins where your loras already live in text - A1111 imports, wildcards, concatenated prompt blocks. It's an old, tiny, unmaintained-in-place pack (last touched for registry updates in mid-2024), but it does one thing cleanly and has no deps to break on you. That's worth more than it sounds.

Categoryloaders

Inputs (3)

NameTypeDefaultDescription
modelMODEL
clipCLIP
textSTRING

Outputs (2)

NameTypeDescription
MODELMODEL
CLIPCLIP