Nodes/Bubba Nodes/Bubba Save Image
ComfyUI Node

Bubba Save Image

Bubba Save Image

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Save Image
  • pipe
  • images
  • metadata
  • pipe
  • metadata
  • saved_paths
  • info
save_prefix
preview_onlyfalse
save_workflow_metadatatrue
save_a1111_metadatafalse

Bubba Save Image is the pack's take on ComfyUI's SaveImage, and the difference is metadata. Where the stock node embeds the ComfyUI workflow and stops, this one also embeds the pack's own BUBBA_METADATA - model name, seed, steps, CFG, sampler, scheduler, prompts, the LoRA list, sample time - and can optionally add an A1111/Civitai-compatible parameters block on top. That combination is the whole reason to swap it in: you save a PNG and the file itself becomes a complete, portable record of the run.

The KB's image-io-metadata essay explains why this matters. A ComfyUI-generated PNG carries the graph as PNG text chunks - the image is the project file. And there's a specific, practical itch this node scratches: CivitAI's uploader auto-detects the A1111-style flat parameters string to link your model and LoRAs, which the stock ComfyUI node doesn't write. If you post to CivitAI, save_a1111_metadata is the toggle that makes auto-linking work. That's the thing the community swaps save nodes for, and it's built in here.

How it works

Give it images (or a pipe carrying them) and it writes PNGs to ComfyUI/output/, using save_prefix as a relative folder/name prefix - subfolders with slashes work, so characters/alice writes into output/characters/alice_00001_.png. If the prefix is empty it falls back to the save_prefix carried in pipe metadata, then to the pack's default of Character/Scene. Three toggles control what's embedded: save_workflow_metadata (ComfyUI prompt+workflow, on by default), save_a1111_metadata (the flat CivitAI-friendly parameters block, off by default), and preview_only - which flips saving to the temp folder like a PreviewImage, so you can iterate without piling files into output/. It's an output node in the graph-execution sense (it always runs and the cache works backward from it), so it belongs at the end of a workflow.

The outputs that matter

  • saved_paths - the actual paths written, one per image. Wire this to a display node if you want to see where things landed.
  • info - a text summary including a frontend warning when the connected metadata is empty/default or a PNG metadata embed failed for one or more files.
  • pipe / metadata - pass-through for downstream Bubba nodes.

How to install it

Standard Bubba_Nodes install: ComfyUI Manager → "Bubba Nodes" → install → restart, or

cd ComfyUI/custom_nodes
git clone https://github.com/bubbafett5611/bubba_nodes.git

restart, then pip install -r requirements.txt if needed (aiohttp, pydantic). Needs ComfyUI v0.27.0+ for the V3 API.

Gotchas

The metadata-warning frontend flag is worth respecting - if it tells you the connected Bubba metadata is empty, you're saving PNGs without the provenance record, which is the point of this node. And remember the round-trip limit from the KB: the embedded chunks survive only in the PNG. Re-encode to JPEG, screenshot it, or post it to a host that recompresses (Reddit) and the workflow is gone. Keep the original PNG as your master. One more thing to know: the pack's sister node, Bubba Load Image (With Metadata), reads the bubba_metadata chunk back out of these files and reconstructs a pipe - so the save/load pair is your persistence story across sessions. And note the pack is young with no real community signal yet; the README's metadata notes are the current source of truth on exactly which fields ride along.

CategoryBubba Nodes/Image/Save

Inputs (7)

NameTypeDefaultDescription
save_prefixSTRING
preview_onlyBOOLEANfalse
save_workflow_metadataBOOLEANtrue
save_a1111_metadataBOOLEANfalse
pipeoptBUBBA_PIPE
imagesoptIMAGE
metadataoptBUBBA_METADATA

Outputs (4)

NameTypeDescription
pipeBUBBA_PIPE
metadataBUBBA_METADATA
saved_pathsSTRING
infoSTRING