Nodes/comfyui-merge/Load LoRA Model(merge)
ComfyUI Node

Load LoRA Model(merge)

The 'model loader' that returns raw tensors — and why you want that

By LingSss9·Created about a year ago·Updated about a year ago· 16
Load LoRA Model(merge)
    • model
    category_filter
    lora_name

    Let's get one thing out of the way: Load LoRA Model(merge) is not a loader in the sense you're used to. If you wire its output into a KSampler it will explode, because what comes out of this node is a raw LoRA state dict - a Python dict of tensors - wearing a costume labeled MODEL. That label is a convenience, not a description. The node exists to feed this pack's merge node, nothing more.

    The name is honest about the job, though: it loads a LoRA file from your models/loras folder the way a normal loader would, but instead of patching it onto a checkpoint it just hands you the weights. You only reach for it when your next step is MergeLoRAsKohyaSSLike. In the pack's own example workflow, two of these sit side by side, each grabbing a different LoRA, both feeding the merger. That's the whole use case.

    How it works

    The backend builds the dropdown from folder_paths.get_filename_list("loras"), so anything in ComfyUI/models/loras - including files in subfolders - shows up. Pick the file, and the node loads it: .safetensors via the safetensors library, anything else via torch.load. Then it returns the state dict untouched. No model, no CLIP, no patching, no VRAM spent.

    That's also the catch: because it's a dict and not an applied model, you can't just check the result visually. A wrong file, a wrong folder, a LoRA trained for a different architecture - it'll load fine and only bite you downstream.

    The inputs that matter

    Only two, and you'll set one of them:

    • category_filter - a folder dropdown (All plus any subfolders under loras). It's cosmetic; filtering happens client-side via the pack's web script.
    • lora_name - the file selector. This is the one you actually change.

    Output is model - again, the raw state dict, despite the MODEL type.

    Installing the pack

    No model downloads, no heavy dependencies. safetensors is required for .safetensors files but ships with ComfyUI by default. Either grab it via ComfyUI Manager (search "comfyui-merge") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/LingSss9/comfyui-merge
    

    Restart ComfyUI. The README literally tells you to copy the folder in by hand; the clone is the same thing.

    Where people get burned

    • FileNotFoundError with your exact filename - the file isn't under models/loras. This node can't see anywhere else.
    • ImportError: pip install safetensors - your Python env is missing the lib. pip install safetensors into the same env ComfyUI runs in fixes it.
    • Wiring the output into anything but the merger. A MODEL-typed edge going into a sampler or a second loader will fail at runtime. Trust the workflow, not the socket color.

    One more honest note: this pack is small and mostly dormant (a handful of stars, last touched mid-2025). It works, but don't expect a maintainer to be watching issues. Treat this node as the quiet front door to the merge workflow - if you don't plan to merge LoRAs, you don't need it.

    CategoryLoRA

    Inputs (2)

    NameTypeDefaultDescription
    category_filterCOMBO1 options: All
    lora_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    modelMODEL