Bubba Save Checkpoint
Bubba Save Checkpoint
- checkpoint_merge
- checkpoint_name
- checkpoint_path
- info
Bubba Save Checkpoint is the "make it permanent" end of the pack's checkpoint-merge story. Its sibling nodes - Bubba Checkpoint Merge and Bubba Triple Checkpoint Merge - build a merged model in memory and hand it to you as a typed BUBBA_CHECKPOINT_MERGE payload for live testing. This node takes that payload and writes it to disk as a real .safetensors checkpoint in your checkpoints folder, so the merge survives restarts and shows up in every loader's dropdown. Test in memory, commit to disk when you're happy.
The design is worth appreciating: merging is iterative, and the pack deliberately separates "compute the merge" from "save the merge." You can tweak strengths, sample, and only save once. That's a much better loop than the old-school habit of saving a merge file every time you change a slider, which is how people end up with forty nearly-identical merge_v37.safetensors files.
How it works
Required inputs are checkpoint_merge (the payload from a Bubba merge node) and filename_prefix (the name/path for the saved file - it gets a .safetensors extension automatically and can include a subfolder). Two toggles matter:
overwrite(default off) - whether an existing file with the same name gets replaced. With it off, a collision auto-renames or errors rather than clobbering a merge you may have been keeping.save_recipe_sidecar(default on) - writes a.bubba_recipe.jsonfile next to the checkpoint describing exactly what went into the merge: which checkpoints, which formula, which strength. This is provenance, and it's the thing you'll be grateful for in three weeks whenmerge_v37.safetensorsis loaded and you can't remember what it was. Keep it on.
Outputs: checkpoint_name and checkpoint_path (the resolved file location - wire these to a display node to confirm where the save landed) and info, a text summary including the recipe type. It's an output node, so it runs at the end of the graph and the cache works backward from it.
The inputs that matter
checkpoint_merge (the payload), filename_prefix (name it something descriptive - the recipe sidecar makes the name less critical, but alice_style_v1 beats merge1), and save_recipe_sidecar (leave on).
How to install it
Same Bubba_Nodes pack as the merge nodes. ComfyUI Manager → "Bubba Nodes" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/bubbafett5611/bubba_nodes.git
restart ComfyUI, pip install -r requirements.txt if needed. Requires ComfyUI v0.27.0+. No model downloads.
Gotchas
Three things to keep straight. First, without a checkpoint_merge input this node does nothing - it can't fabricate a merge from nothing, and the error will be explicit about expecting a payload. Second, the license honesty from the merge nodes applies double here: the saved .safetensors is a real file you now own and can redistribute, so verify the source checkpoints' licenses before you post it anywhere - this is where merge projects get into trouble. Third, an easy confusion to avoid: saving a checkpoint does not automatically load it into the current graph - the in-memory model you were sampling with stays what it is; the new file just becomes available on the next load/restart. And as with the rest of this young pack, there's no community tutorial trail yet, so the README's merge section and the recipe JSON output are currently your best documentation of what landed on disk.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint_merge | BUBBA_CHECKPOINT_MERGE | — | |
| filename_prefix | STRING | — | |
| overwrite | BOOLEAN | false | — |
| save_recipe_sidecar | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| checkpoint_name | STRING | — |
| checkpoint_path | STRING | — |
| info | STRING | — |