Nodes/ComfyUI_StringOps/保存图像🐠meeeyo.com
ComfyUI Node

保存图像🐠meeeyo.com

Save images to any folder you want — and get the image back out

By MeeeyoAI·Created 2 years ago·Updated about a year ago· 209
保存图像🐠meeeyo.com
  • image
  • image
save_path./output
image_nameComfyUI
image_formatJPG

SaveImagEX is ComfyUI's Save Image node with two upgrades that matter: you get to pick the output folder, and it passes the image tensor back out instead of swallowing it. It's part of MeeeyoAI/ComfyUI_StringOps, added in the pack's 2025-06-05 update specifically to "save images to a specified directory (also added an image output port)."

The folder freedom is the real story. Core ComfyUI dumps everything into ComfyUI/output and you sort it out later. SaveImagEX lets you write straight to a dataset staging folder, a per-project directory, or anywhere on disk - which changes how you work when you're batch-generating reference sheets, building training sets, or dumping previews into a folder another script watches.

The inputs

  • image - the IMAGE tensor to save.
  • save_path - where to write, default ./output (which maps to ComfyUI's standard output directory). A relative path is resolved inside the output folder; an absolute path is used as-is and created if missing. So ./output/faces lands in your ComfyUI output, while /data/dataset/faces goes wherever you said.
  • image_name - the base filename, default ComfyUI. An extension is stripped and replaced, so typing ComfyUI.png or ComfyUI both work. Batches get a _00000-style numeric suffix per image.
  • image_format - PNG or JPG, defaulting to JPG.

The outputs

One: image, the same tensor that went in. Because the node is an output node that also returns the tensor, you can both save and keep wiring the image onward - a genuinely handy pattern if the same image feeds a preview and a downscale.

Where people get burned

The defaults write enormous files. PNG is saved with compress_level=0 - that's maximum speed, minimum compression, so PNGs come out as big as the format allows. JPG is saved at quality=100, which is also huge and pointless for most purposes. Neither is configurable. If you're dumping hundreds of images, this node will eat your disk unless you pick a format with real compression or save at quality you're willing to live with. And JPG forces RGB conversion, so any alpha channel in the image is silently dropped - feed RGBA to a JPG save and you lose transparency without a warning.

Also note this node writes to disk with no collision counter: two runs with the same image_name overwrite each other. That's why pairing it with GetCurrentTime (same pack) for timestamped filenames is such a common combo.

Installing

The pack install, same as everything here:

cd ComfyUI/custom_nodes
git clone https://github.com/MeeeyoAI/ComfyUI_StringOps.git

or via ComfyUI Manager searching ComfyUI_StringOps, then restart. Light dependencies - numpy, torch, Pillow - all already in a working ComfyUI.

It's a small quality-of-life node, and the disk-space behavior means it's not a free win. But "save to the folder I actually want, and hand the image back" is a workflow nicety you stop noticing - until it's gone.

CategoryMeeeyo/File

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
save_pathSTRING./output
image_nameSTRINGComfyUI
image_formatCOMBOJPG2 options: PNG, JPG

Outputs (1)

NameTypeDescription
imageIMAGE