Load LoRA (URL/Path) to Stack
Paste a link, skip the manual download
- optional_lora_stack
- lora_stack
Normally, using a LoRA means: find the file on CivitAI or Hugging Face, download it, drop it in ComfyUI/models/loras, restart or refresh, then pick it from a dropdown. That's fine on your own machine. It's genuinely annoying the moment you're running on a shared server, a cloud pod, or handing a workflow to someone else who doesn't have your files. This node skips the whole dance: you paste a URL (or a local path if you already have the file) directly into the node, and it resolves the LoRA at run time instead of making you pre-stage it.
The pack it comes from, ComfyUI-load-lora-from-url, is a one-person grab-bag of utility nodes by a developer going by bollerdominik. It's genuinely obscure - the README is a single line ("Collection of custom nodes"), and there's no discussion of it anywhere in the usual places people talk shop about ComfyUI nodes. That's not a red flag, just a heads up: you're on your own for anything beyond what the node itself tells you, which is why this write-up sticks closely to what the schema and defaults actually show.
What it does
This node builds a LORA_STACK - up to ten LoRA slots in one node, each defined by its own URL/path and strength. The fields that matter:
num_loras- how many of the ten slots are actually active (1–10).toggle- a hard on/off switch for the whole node. Flip it off to A/B "with LoRAs" against "without" without rewiring anything.mode(simple/advanced) - controls whether you set one strength per LoRA (lora_N_strength) or dial the model and CLIP strengths separately (lora_N_model_strength/lora_N_clip_strength). Advanced mode is the one you want if a LoRA behaves better applied more strongly to the UNet than to CLIP, which happens more often than people expect.lora_N_urlper slot - paste a direct download link or a local path.optional_lora_stack- feed in aLORA_STACKfrom an upstream node of the same type, and this one appends its own LoRAs on top. That's how you chain several of these together, or mix them with another stack-producing node, instead of hardcoding all ten slots in one place.
The single output, lora_stack, wires into whatever downstream node in your graph applies a LoRA stack to your model and CLIP. If you're used to Efficiency Nodes or similar "Apply LoRA Stack"-style nodes, this slots into that exact pattern - it's a drop-in replacement for the loading half, not a new paradigm.
Worth knowing: this is not the same job as rgthree's Power Lora Loader, which is the more famous LoRA-stacking node in the ecosystem. rgthree's version works off files already sitting in your loras folder and can pull trigger words for you by right-clicking an entry. This node has no such lookup - it's built for the case where the file isn't there yet and you'd rather not go get it by hand.
Installing it
Search ComfyUI-load-lora-from-url in ComfyUI Manager, or do it manually:
cd ComfyUI/custom_nodes
git clone https://github.com/bollerdominik/ComfyUI-load-lora-from-url
Restart ComfyUI. There's no requirements.txt content documented and no model files to pre-download - the whole point of the node is that the LoRA arrives at run time.
Where people get burned
Three things, none of them specific to this node so much as LoRAs in general, applied here:
- Wrong architecture. A LoRA trained for one base model does nothing (or breaks generation) on a different one - Flux LoRAs don't work on SDXL and vice versa, and even within the SDXL family, Pony/Illustrious/vanilla SDXL LoRAs aren't reliably cross-compatible despite sharing code. Check what the LoRA page says it was trained on.
- No trigger word helper. Because this node never touches your local filesystem or CivitAI's metadata, it can't surface a trigger word for you the way rgthree's loader can. If the LoRA needs one, you have to know it and type it into your prompt yourself.
- Stacking gets unpredictable fast. Multiple LoRAs interacting is genuinely hard to reason about - add one at a time with a fixed seed rather than throwing five URLs in and hoping. If you hit black frames or garbage output with several stacked, try reordering with the larger ones first.
- The URL has to be a direct file link, not a webpage. A CivitAI model page URL won't work the way the raw download link will - grab the actual file link before pasting it in.
Inputs (44)
| Name | Type | Default | Description |
|---|---|---|---|
| toggle | BOOLEAN | — | |
| mode | COMBO | 2 options: simple, advanced | |
| num_loras | INT | 11–10 | — |
| optional_lora_stackopt | LORA_STACK | — | |
| lora_1_urlopt | STRING | — | |
| lora_1_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_1_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_1_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_2_urlopt | STRING | — | |
| lora_2_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_2_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_2_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_3_urlopt | STRING | — | |
| lora_3_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_3_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_3_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_4_urlopt | STRING | — | |
| lora_4_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_4_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_4_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_5_urlopt | STRING | — | |
| lora_5_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_5_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_5_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_6_urlopt | STRING | — | |
| lora_6_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_6_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_6_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_7_urlopt | STRING | — | |
| lora_7_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_7_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_7_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_8_urlopt | STRING | — | |
| lora_8_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_8_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_8_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_9_urlopt | STRING | — | |
| lora_9_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_9_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_9_clip_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_10_urlopt | STRING | — | |
| lora_10_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_10_model_strengthopt | FLOAT | 1.00-10–10 | — |
| lora_10_clip_strengthopt | FLOAT | 1.00-10–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lora_stack | LORA_STACK | — |