Nodes/ComfyUI_StarNodes/⭐ Star Save Image+
ComfyUI Node

⭐ Star Save Image+

A save node that does PNG, JPG, WEBP and PSD at once — and embeds your metadata

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Save Image+
  • images
  • options
  • mask
  • path
preset_folderNone
date_foldertrue
date_folder_positionfirst
custom_folder
custom_subfolder
date_in_filenameOff
filenameComfyUI
add_timestampfalse
separator_
jpg_quality95
webp_quality90
png_compress4
png_bit_depth8bit
modesave
formatspng

The stock Save Image node is fine until you need anything more than "PNG into the output folder." ⭐ Star Save Image+ is the pack's answer to that: one node that writes PNG, JPG, WEBP and PSD - multi-select a combination via the on-node format chips - or just previews without writing anything. It also embeds up to five custom metadata fields, tucks a mask in as an alpha channel, and organizes your files by date and preset folder so you stop drowning in ComfyUI_00042_.png files.

Here's the design choice that trips people up, so get it out of the way early: this node deliberately stores no workflow data. The README and the node description both say it flat out. The five StarMetaData fields you can feed it are your channel for custom info; if you need a drag-back-into-ComfyUI workflow embedded, this isn't the node for that - use the default Save Image or ⭐ Star Meta Injector.

How it works

You connect your IMAGE (and optionally a MASK and a STAR_SAVE_OPTIONS bundle from ⭐ Star Metadata Saver Option), and the node writes the file(s). The mask handling is the clever bit: for PNG and WEBP it's embedded as the alpha channel so ⭐ Star Load Image+ can restore it later; for JPG it's written as a separate _mask.png sidecar (JPG has no alpha); for PSD it becomes a layer mask. Path construction is fully configurable - preset folders from presets.json, a date folder on top or inside, date prefix/suffix in the filename, timestamps, your own separator.

Inputs that matter

  • images - what you're saving. The only required socket.
  • formats - comma-separated png,jpg,webp,psd, driven by the on-node chips.
  • options - plug ⭐ Star Metadata Saver Option's save_options here to embed your five custom fields.
  • mask - optional; see the alpha/sidecar/layer-mask behavior above.
  • preset_folder - pick from the pack's presets (Images, Video, Inpaint, Upscaled, Star/Generations…) or None to use custom_folder.
  • png_bit_depth - 8bit or 16bit. 16-bit keeps more precision from the source tensor but produces bigger files and no EXIF (only tEXt metadata).
  • jpg_quality / webp_quality / png_compress - the usual quality dials.

The single output, path, is the save folder relative to ComfyUI's output directory (without the filename) - handy if you're feeding the path back into a text-driven workflow or another StarNodes tool.

Install

It's the Starnodes2024/ComfyUI_StarNodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Restart and search star. The PSD format needs psd-tools installed; if it's missing, ComfyUI prints exactly what to pip install and the rest of the pack keeps working.

Where people get burned

Besides the no-workflow-metadata gotcha, the two usual suspects are: expecting 16-bit PNGs to have EXIF (they won't - read the tooltip), and forgetting that mode is driven by the node's own buttons, not something you set in the widget list. If images "don't save," check whether you're sitting in preview mode. And if you use a preset folder, note it overrides custom_folder - set both and the preset wins.

Category⭐StarNodes/IO

Inputs (18)

NameTypeDefaultDescription
imagesIMAGEThe images to save.
preset_folderCOMBONonePreset folder from presets.json (overrides custom folder).
date_folderBOOLEANtrueCreate a folder with today's date.
date_folder_positionCOMBOfirstWhere to place the date folder: 'first' = top-level, 'subfolder' = inside the preset/custom folder.
custom_folderSTRINGCustom output folder name (used when preset_folder is None).
custom_subfolderSTRINGAdditional subfolder inside the main folder.
date_in_filenameCOMBOOffAdd today's date to the filename: 'prefix' = before the name, 'suffix' = after.
filenameSTRINGComfyUIBase filename for saved images (a counter is appended automatically).
add_timestampBOOLEANfalseAppend HHMMSS time to the filename for unique, sortable names.
separatorSTRING_Separator between filename parts (date, name, timestamp, counter).
jpg_qualityINT951–100JPEG quality (1-100).
webp_qualityINT901–100WEBP quality (1-100).
png_compressINT40–9PNG compression level (0-9).
png_bit_depthCOMBO8bitBit depth for saved PNG files. 16bit preserves more precision from the source tensor (larger files, no EXIF, only tEXt metadata).
modeSTRINGsavesave or preview (controlled by the on-node buttons).
formatsSTRINGpngComma separated formats: png,jpg,webp,psd (controlled by the on-node chips).
optionsoptSTAR_SAVE_OPTIONSOptional ⭐ Star Metadata Saver Option output (provides the 5 StarMetaData fields to embed).
maskoptMASKOptional mask - embedded as alpha channel (PNG/WEBP) so ⭐ Star Load Image+ can restore it. For JPG a separate _mask.png sidecar is written. For PSD it is embedded as a layer mask.

Outputs (1)

NameTypeDescription
pathSTRINGSave folder path (relative to the ComfyUI output directory, without filename).