Load LoRA Weight Only
The loader that hands you a LoRA you can merge
- LoRA
ComfyUI's built-in LoraLoader takes a .safetensors off disk and immediately welds it onto your model. Useful, but it's a one-way street: the LoRA is gone into the weights and you can't do anything to it. This node is the loader half of the LoRA-Merger pack, and its whole job is to read a LoRA into memory as a plain data object so you can merge it, re-weight it, or save it back out.
That one difference unlocks the pack's pipeline: Load LoRA Weight Only on the left, Merge LoRA in the middle, and Load LoRA from Weight (or Save LoRA) on the right. If you never touch Merge LoRA, it's still the way to feed the block-weight scaling below into a saved file.
Inputs, and where the strength lives
lora_name- a dropdown filled fromComfyUI/models/loras. Standard stuff.strength_modelandstrength_clip(both default 1.0, range −20 to 20) - the same two strengths you'd set on a normal loader, except they don't apply anything yet. They ride along inside the LoRA object and get honored when you eventually apply or save it. Negative values are allowed, which is how you subtract a LoRA's effect.lbw- the interesting one, an empty string by default.
The node outputs one LoRA object. Behind the scenes it's just load_torch_file on the safetensors, cached per file so it doesn't re-read on every queue run - and it re-reads when the lbw text changes, so you can scrub through block-weight experiments without touching the file.
Block weights (lbw) - the part worth learning
lbw takes a comma-separated list of per-block multipliers in the sd-webui-lora-block-weight format, which is how you say "only let this LoRA touch the early UNet blocks" or "crank the output blocks." It's the same trick the LoRA Power-Merger and Inspire packs use, and it works because each block's up-matrix gets scaled (or, at 0, dropped entirely) before the LoRA ever reaches a model.
The pack ships presets in preset.txt - INALL, OUTALL, MIDD for SD 1.5 (26 values) and INALLXL, OUTALLXL, MIDDXL for SDXL (20 values) - and it auto-expands a 17-value list to SD 1.5's 26 and a 12-value list to SDXL's 20. The text-encoder block is the first value, folded into strength_clip. Two things the README is upfront about: the R/U ranges from the original extension aren't supported, and the length has to match your base. Get it wrong - feed a 26-value list to an SDXL LoRA - and block lookups run off the end of the list.
Install and the fine print
cd ComfyUI/custom_nodes && git clone https://github.com/laksjdjf/LoRA-Merger-ComfyUI
Restart and you're done: no requirements.txt, no model downloads, nothing to pip. ComfyUI Manager can install it too, but search carefully - a different "LoRA-Merger-ComfyUI" by larsupb (LoRA Power-Merger) is more famous, and grabbing the wrong one is easy. The pack is by laksjdjf (the Attention Couple author), it's archived - the README now points to laksjdjf/cgem156-ComfyUI/scripts/lora_merger - and the author warns that LyCORIS LoHA/LoKr files won't load and metadata isn't preserved on save.
The trap most beginners hit: there's no visible strength slider here after the fact. Set strength_model/strength_clip on this node, because those values travel with the object and get baked into the file by Save LoRA. If you set 0.5 on the loader, save, and then load the saved file at 1.0, you've effectively double-applied it. And if a block weight experiment looks dead, remember the LoRA still has to reach a model through Load LoRA from Weight - loading into memory does nothing on its own.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_name | COMBO | 0 options: | |
| strength_model | FLOAT | 1.00-20–20 | — |
| strength_clip | FLOAT | 1.00-20–20 | — |
| lbw | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LoRA | LoRA | — |