Save Image Advanced
One save node, seven formats, ICC profiles, and a filename that does math
- images
- masks
- icc_profile
This is the flagship of ComfyUI-Image-Process: one node that can write PNG, JPG, WebP, TIFF, BMP, TGA, or AVIF, with alpha, ICC color profiles, DPI metadata, compression controls, and filename tokens - all in a single graph node. If you only install one save node from this pack, make it this one.
The name is worth a moment. The display name is "Save Image Advanced," but the class is SaveImageAdvancedCustom because core ComfyUI shipped its own SaveImageAdvanced in version 0.24.1, and this pack's author renamed the class to keep the schemas from colliding. If a workflow references the node by that internal name, this is the one.
What you actually set
- Format - the combo that decides everything:
png,jpg,webp,tiff,bmp,tga,avif. The frontend disables the irrelevant widgets per format, which is a nice touch you don't usually get. - Compression Level (0–9, default 4) - PNG only. Lower is bigger files, faster writes.
- Quality (1–100, default 90) - JPG/WebP/AVIF.
- TIFF Compression -
none,tiff_lzw,tiff_deflate,tiff_adobe_deflate,packbits,jpeg,tiff_jpeg,tiff_ccitt. For photos use LZW or Deflate;tiff_ccittis a fax-style bilevel codec that only works on black-and-white line art (the node converts to 1-bit and warns if you try it on anything else). - DPI (1–600, default 300) - mostly irrelevant on screens, very relevant if these images are going to a printer or an art site that reads DPI.
- Join Alpha Channel + Masks - clips the image with your mask. Doesn't work on JPG (no alpha in the format, obviously). Invert Alpha flips the mask before it's applied.
- ICC Profile - feed it the
ICC_PROFILEoutput from this pack's Load ICC Profile node to embed a color profile. Dropped with a warning on BMP/TGA, which don't support it. - Disable Metadata - default on, which flips the usual ComfyUI habit: your workflow JSON is not embedded unless you turn this off. On it saves smaller, cleaner files for sharing; off it writes the workflow (PNG
pnginfo, or EXIFUserComment/ TIFF tag 270) so you can drag the image back to rebuild the graph.
The filename tokens
This is the pack's signature feature and it's genuinely handy. In Filename Prefix you can use %date:yyyy-MM-dd%, %year%, %month%, %day%, %hour%, %minute%, %second%, plus %width% and %height% of the image. So renders/%date:yyyy-MM-dd%/%hour%-%minute% becomes renders/2026-08-16/21-05. Right-click the node and pick "Insert Filename Token" to append them without typing. Tokens resolve inside this pack's own helper, independent of ComfyUI core.
Save to Input Folder copies the file into your input folder too, so a downstream workflow can pick it up with a Load Image.
Installation
cd ComfyUI/custom_nodes
git clone https://github.com/wakaura-asaho/comfyui-image-process
pip install -r comfyui-image-process/requirements.txt
or just find ComfyUI-Image-Process in ComfyUI Manager. The requirements are the usual scientific stack (numpy, Pillow 12.1+, scipy, opencv, scikit-image) and there are no model files. The README's --upgrade-strategy only-if-needed hint exists because a forced pip upgrade here can quietly break other custom nodes. Modern ComfyUI required (frontend ≥ 1.37, base ≥ 0.12).
Gotchas
AVIF needs a Pillow build with libavif - the pinned 12.1+ floor is where that support lives, so a fresh install is fine. TIFF and TGA files won't preview properly in ComfyUI's UI; the node saves a PNG preview copy for display while the real file lands on disk in your chosen format. And remember: the class rename happened specifically because core ComfyUI added a conflicting node - if your install is old, update it before this pack makes sense.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to be saved. | |
| disable_metadata | BOOLEAN | true | Whether to include the metadata to the saved image. |
| join_alpha | BOOLEAN | false | Clip the image with the provided mask. Please note this does not work on JPG format. |
| invert_alpha | BOOLEAN | false | Whether to invert the alpha channel before saving. |
| dpi | INT | 3001–600 | The DPI to use when saving images. |
| compress_level | INT | 40–9 | The compression level to use when saving images as PNG (0-9). |
| quality | INT | 901–100 | The quality to use when saving images as JPEG or WebP (1-100). |
| tiff_compression | COMBO | none | The compression to use when saving images as TIFF. |
| tga_rle | BOOLEAN | true | Whether to use RLE compression when saving as TGA. |
| format | COMBO | png | The format to save the image in. |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
| save_to_input_folder | BOOLEAN | false | Whether to sync the image to the input folder. |
| masksopt | MASK | Optional alpha channel masks to clip the saved images. If provided, these masks will be applied to the corresponding images before saving. | |
| icc_profileopt | ICC_PROFILE | Optional ICC color profile to embed into the saved images. |
Outputs (0)
No outputs