ComfyUI Node

Lora Load

This LoraLoad is not the LoraLoader you already know — it's for merging, not generating

By ifmylove2011·Created about a year ago·Updated 6 days ago· 3
Lora Load
    • lora_model
    lora_file

    "Lora Load" sounds like every other LoRA loader you've seen, and that's exactly the trap. The core LoraLoader applies a LoRA to a checkpoint so you can generate with it. LoraLoad - from the comfyui-missed-tool pack - does neither. It loads a LoRA's raw weight tensors, untouched, as a LORA_TENSOR_DICT. It's the first leg of the pack's three-node merge pipeline: LoraLoad → LoraMerge → LoraSave. Grab the wrong one and you'll spend ten confused minutes wondering why your model isn't changing.

    Why raw tensors?

    Because the whole point of this trio is to merge two LoRAs into a new one and save it as a .safetensors - no external merger, no kohya needed. People ask for exactly this in ComfyUI all the time (there's a whole thread history of "how do I merge LoRAs in ComfyUI" ending in third-party tools), and this pack just does it in-graph.

    The catch is the output type: LORA_TENSOR_DICT is a custom type that only this pack's other nodes understand. You can't plug it into a standard LoraLoaderModelOnly or a checkpoint. If your goal is applying a LoRA at generation time, this isn't your node - go get the core one.

    Inputs and output

    • lora_file - a dropdown populated from everything in ComfyUI/models/loras. Drop your .safetensors files there and they'll appear after a refresh.
    • lora_model - the only output, the raw tensor dict, ready for LoraMerge (blend two by weight) or LoraSave (write to disk).

    What actually happens under the hood

    It's safetensors.torch.load_file() on your pick. Nothing is modified, nothing is applied, nothing touches your checkpoint. One subtle thing: safetensors isn't listed in the pack's requirements, but it ships inside ComfyUI itself, so it's already there - this is one of those cases where the code leans on the host app's dependencies. As long as ComfyUI runs, this runs.

    Gotchas

    • Output type lock-in. If a workflow shows a red connection between this node and something outside the pack, that's expected - the LORA_TENSOR_DICT wire only fits LoraMerge and LoraSave.
    • Merge reality check. A 50/50 tensor blend is not the same as applying two LoRAs at half strength during generation. The pack's merger pads mismatched tensors and averages shared keys; it's fine for combining similar-style LoRAs (same base, same architecture), but blending SDXL and Flux LoRAs will produce garbage, because the keys don't correspond. Architecture lock-in is a fact of life for LoRAs, and merging doesn't break that rule.
    • Empty merge weight edge case. The weight slider lives on LoraMerge, not here - keep it at 50 unless you know why you're moving it.

    Install

    ComfyUI Manager → search comfyui-missed-tool, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ifmylove2011/comfyui-missed-tool.git
    

    Restart ComfyUI. The node lives in the missed-tool category, and your LoRAs go in ComfyUI/models/loras as usual.

    Categorymissed-tool

    Inputs (1)

    NameTypeDefaultDescription
    lora_fileCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    lora_modelLORA_TENSOR_DICT