Donut Save (No Workflow)
Bake a full checkpoint with no workflow embedded
- model
- clip
- vae
When you finish a merge, a baked-in LoRA, or a tuned-up model in ComfyUI, the stock save nodes want to embed your entire workflow in the file's metadata - prompt, graph, everything. Sometimes that's the culture ("workflow included" is a community norm), and sometimes you want a clean export: a model you can share, upload, or hand to another tool without your full graph riding along. DonutSave is the pack's answer - a checkpoint save that strips the workflow metadata and adds an optional dtype conversion (fp8/fp16/bf16/fp32) so you can export the exact format you want. It's the current version of the family that started with the deprecated DonutModelSave, and it adds the two inputs that node lacked: CLIP and VAE.
How it works
The state-dict path mirrors ComfyUI's stock CheckpointSave / ModelSave exactly - it goes through ModelPatcher.state_dict_for_saving() and ComfyUI's lazy-casting machinery, which is what bakes LoRA and merge patches into the saved file. The difference is the metadata: the pack rebuilds the modelspec block (architecture tags and all) but deliberately leaves out prompt and extra_pnginfo, so the saved file is a bare checkpoint. Then, if you asked for a dtype other than original, it casts the state dict before writing.
The inputs
- model - the patched/merged MODEL to save.
- filename_prefix (default
ComfyUI) - output path and name base. - dtype -
original, orfp8_e4m3fn,fp8_e5m2,fp16,bf16,fp32. fp8 variants are the size-savers; fp16/bf16 are the mainstream share formats. - clip (optional) - include the CLIP weights in the checkpoint.
- vae (optional) - include the VAE. With both wired, you get a complete, self-contained checkpoint; without them, a model-only save.
No outputs - it's a terminal node; the file appears in your output folder (under diffusion_models per the default prefix).
Install
cd ComfyUI/custom_nodes
git clone https://github.com/DonutsDelivery/ComfyUI-DonutNodes.git donutnodes
cd donutnodes
python -m pip install -r requirements.txt
or ComfyUI Manager → "DonutNodes," restart.
Where people get burned
The metadata trade-off is the thing to internalize. No-workflow means your saved file can't be dragged back into ComfyUI to reconstruct the graph - which is a feature when sharing, but a trap if you were hoping to use this as a backup. Keep your workflow JSON separately. Second, original means "whatever dtype the model is in memory," which after ComfyUI's lazy casting is not always what you loaded - if exact dtype matters (a target runtime that only reads fp16), set it explicitly. And before you share the file, check the license on the models that went into it; no-workflow saves don't change what you're allowed to redistribute, and this is one of the few places a packaging decision touches the license question directly.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| filename_prefix | STRING | ComfyUI | — |
| dtype | COMBO | original | Output floating-point dtype. 'original' preserves the loaded dtype, including fp8 if the model was loaded as fp8. |
| clipopt | CLIP | — | |
| vaeopt | VAE | — |
Outputs (0)
No outputs