Nodes/ComfyUI/ModelSave
ComfyUI Node Runs on cloud

ModelSave

Export that merged model to a file (LoRAs baked in for free)

By Comfy-Org·Created 4 years ago·Updated 28 minutes ago· 129,853
ModelSave
  • model
    filename_prefixdiffusion_models/ComfyUI

    Every merge in ComfyUI is a dead end until you save it - the merged MODEL only lives in the graph. ModelSave is the node that writes it to disk: an output node that takes whatever MODEL you feed it and saves it as a .safetensors in your ComfyUI output folder. It's the natural endpoint after a ModelMerge node, and it's also how you bake a stack of LoRAs into a single file if that's the workflow you're on.

    What it actually saves

    The important, non-obvious part: it saves the patched weights, not the raw ones. ComfyUI holds merges and LoRAs as runtime patches applied during inference, but ModelSave serializes each weight tensor through the patch system, so the file that comes out has the merge (or LoRA stack) permanently baked in. What you get is a standalone diffusion model - no CLIP, no VAE, just the denoiser. That's the difference from its sibling CheckpointSave, which bundles model + CLIP + VAE into a full checkpoint. If you want to reload the result with CheckpointLoaderSimple, use CheckpointSave. If you'll load it with UNETLoader (or DiffusionModelLoader), ModelSave is exactly right.

    It also writes metadata into the safetensors: the generating prompt and workflow, so the file carries its own provenance, plus model-type markers (a v_pred flag where relevant, modelspec for SDXL/SD3/SVD) that tell loaders which sampling setup to use. No guesswork on reload.

    The inputs

    Just two:

    • model - the MODEL to save. Wire it after a merge, or after a LoRA stack you want to lock in.
    • filename_prefix - a path + name, default diffusion_models/ComfyUI. It's relative to the output folder, and subfolders work, so diffusion_models/MyBlend lands in output/diffusion_models/.

    Run the graph and it writes output/diffusion_models/ComfyUI_00001_.safetensors - the counter auto-increments so you never overwrite an existing file. There are no outputs, because it's an output node; that's normal, don't go looking for a wire to attach.

    Common issues

    • Can't find the file. It's in output/, not models/. To use it as a normal model, copy it into models/diffusion_models/ (or wherever your loaders look) and refresh the loader dropdown. If it's a checkpoint you want in the checkpoint picker, you needed CheckpointSave instead.
    • The file is huge. It's full-precision weights of whatever you loaded - a merged SD1.5 is ~2GB, Flux is ~12GB in fp16. That's expected.
    • Wrong colors or behavior on reload. You saved a diffusion model whose matching CLIP/VAE lives elsewhere; that's fine with UNETLoader, but make sure the rest of the pipeline matches the model's architecture.

    ModelSave landed in ComfyUI in August 2024 and ships with core. No install - just merge, save, copy, reload.

    Categorymodel/merging

    Inputs (2)

    NameTypeDefaultDescription
    modelMODEL
    filename_prefixSTRINGdiffusion_models/ComfyUI

    Outputs (0)

    No outputs