Nodes/comfyui-OreX/💾 Save Image (OreX)
ComfyUI Node

💾 Save Image (OreX)

3 prefixes, a date folder, and a counter that makes sense

By orex2121·Created 2 years ago·Updated a day ago· 53
💾 Save Image (OreX)
  • images
  • images
  • saved_path
  • filename_text
◄activetrue►
◄output_path►
◄create_current_date_foldertrue►
◄create_processed_folderfalse►
◄filename_prefix_1Image►
◄filename_prefix_2►
◄filename_prefix_3►
◄filename_separator_►
◄use_countertrue►
◄embed_workflowtrue►
◄image_formatpng►
◄jpg_quality90►
◄webp_quality90►
◄optimize_pngfalse►

ComfyUI's built-in Save Image is fine until you're saving hundreds of images and every file is ComfyUI_00001_. Save Image (OreX) is the pack's answer: three stacked filename prefixes, an optional date-stamped folder, a processed/ subfolder toggle for batch loops, a counter that actually resumes where you left off, and a choice of png/jpg/webp. If you do any kind of bulk generation - batch processing, dataset prep, A/B testing - this node is worth installing the pack for on its own.

How it works

The filename is built from filename_prefix_1 + filename_prefix_2 + filename_prefix_3, joined by filename_separator, plus either a zero-padded counter or a time suffix. That's the whole "three prefixes" trick: you can stack a subject (portrait), a style (studio), and a variant (v2) without editing one long string. The use_counter toggle is interesting - on it uses an index counter, off it switches to a HHMMSS timestamp - and the counter isn't dumb: it scans the output folder on first run and starts at the highest existing number instead of colliding with your old files.

Two folder features are where it gets genuinely clever:

  • create_current_date_folder (on by default) saves into a YYYY-MM-DD subfolder, which keeps a multi-day batch project organized without you lifting a finger.
  • create_processed_folder is the batch-safety valve: outputs go into a processed/ subfolder, so when your workflow is also reading from the same folder (via the pack's Load Image Batch), saved results don't get picked up and reprocessed in a loop. That's the classic "my batch keeps eating its own output" bug, solved with one checkbox.

The path itself comes from output_path - empty for the default output folder, relative resolves against it, absolute is used verbatim, and it supports %date:yyyy_MM_dd%-style variables in the string. And since it's an OreX node, there's an embed_workflow toggle so you can save PNGs without the embedded workflow JSON when you want a clean file.

Inputs and outputs

The essentials: active (master on/off), images, the three filename_prefix fields, filename_separator (default _), use_counter, and image_format with its matching jpg_quality / webp_quality. Outputs are images (pass-through) and saved_path - a STRING with the full path of the written file, which you can log or feed into Save Text.

Install

ComfyUI Manager (search "comfyui-OreX") or:

cd ComfyUI/custom_nodes
git clone https://github.com/orex2121/comfyui-OreX

Restart. No extra pip packages or models.

Where people get tripped up

The two gotchas are both path-related. On Windows, the node validates against the 260-character path limit and forbidden filename characters, and it will refuse a path that breaks either - which is correct but confusing if your prefixes run long. And remember create_current_date_folder is on by default, so files land in a dated subfolder, not the output root; if you're scripting something that greps the output folder, that's the first thing to check.

Category🤫OreX/Image

Inputs (15)

NameTypeDefaultDescription
activeBOOLEANtrue—
output_pathSTRING—
create_current_date_folderBOOLEANtrue—
create_processed_folderBOOLEANfalse—
imagesIMAGE—
filename_prefix_1STRINGImage—
filename_prefix_2STRING—
filename_prefix_3STRING—
filename_separatorSTRING_—
use_counterBOOLEANtrue—
embed_workflowBOOLEANtrue—
image_formatCOMBOpng3 options: png, jpg, webp
jpg_qualityINT9050–100—
webp_qualityINT9050–100—
optimize_pngBOOLEANfalse—

Outputs (3)

NameTypeDescription
imagesIMAGE—
saved_pathSTRING—
filename_textSTRING—