Nodes/ComfyUI/Save LoRA Weights
ComfyUI Node Runs on cloud

Save LoRA Weights

ComfyUI's native 'export my trained LoRA' node, still wearing its experimental badge

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,964
Save LoRA Weights
  • lora
    prefixloras/ComfyUI_trained_lora
    steps

    Save LoRA Weights is ComfyUI's built-in "write my trained LoRA to a file" node. For years, the answer to "how do I save a LoRA in ComfyUI?" was "you don't - train with Kohya or ai-toolkit outside ComfyUI and copy the file in." This node is part of the recent effort to close that gap: native training nodes in ComfyUI itself, with SaveLoRA as the export step that turns the training result into a .safetensors you can actually load with a LoRA loader.

    It's a small node with one big warning attached, and the warning is in the node's own tooltip - which is the author's voice and should be trusted: "The LoRA model to save. Do not use the model with LoRA layers." That's the whole game. The lora input expects a raw LORA_MODEL - the bare low-rank weight tensors that a training node produces - not a MODEL that already has LoRA layers applied to it. Feed it the wrong thing and you'll either error out or save garbage. The distinction is the same one that trips people in the KB's LoRA docs: a LoRA is a patch, a small adapter, not a model; the file you save must be the adapter weights, not the patched network.

    How it works

    It takes the LORA_MODEL tensors and writes them with safetensors into your output folder. The filename convention is where the personality lives: if you leave the optional steps input empty you get {prefix}_{counter}_.safetensors; supply a step count and the file becomes {prefix}_{steps}_steps_{counter}_.safetensors - a genuinely useful habit if you train multiple epochs, since the last epoch is famously not always the best (the KB's training docs make the save-intermediate-epochs point explicitly).

    ComfyUI/
    └── output/
        └── loras/
            └── ComfyUI_trained_lora_00001_.safetensors
    
    # find what it saved:
    find ~/ComfyUI/output/loras -name "*.safetensors" | tail
    

    Note it saves to output/loras/, not models/loras/ - the same output-vs-models split that every save node in this family has. Your LoRA loader looks in models/loras/; move the file there (or change the prefix) before trying to use it in a normal generation.

    The inputs that matter

    • lora (LORA_MODEL) - the trained adapter weights. Comes from ComfyUI's training nodes; not a MODEL, and not a model with LoRA layers.
    • prefix (STRING, default loras/ComfyUI_trained_lora) - output folder and base name.
    • steps (INT, optional) - training step count, used in the filename as {steps}_steps. Nice-to-have, purely for keeping runs identifiable.

    Where people get burned

    The LORA_MODEL-vs-MODEL confusion is the #1 failure, and it's why the tooltip exists. Second is the location: output/loras, not models/loras. Third is expectations - this node only saves; it doesn't train, and it doesn't make a bad training run good. ComfyUI's native training tooling is still experimental, so treat the whole pipeline (train → SaveLoRA) as bleeding-edge: if the KB's training lore holds, most people still train with ai-toolkit or OneTrainer outside ComfyUI and only use this when they want the whole loop in-graph.

    How you get it

    Ships with ComfyUI core under model/merging, and it's explicitly marked experimental - it's part of the new native training node set, so update ComfyUI if you don't see it. No pack, no install.

    Categorymodel/merging

    Inputs (3)

    NameTypeDefaultDescription
    loraLORA_MODELThe LoRA model to save. Do not use the model with LoRA layers.
    prefixSTRINGloras/ComfyUI_trained_loraThe prefix to use for the saved LoRA file.
    stepsoptINTOptional: The number of steps the LoRA has been trained for, used to name the saved file.

    Outputs (0)

    No outputs