Save Image Advanced (TIFF)
TIFF saving with real compression choices, EXIF, DPI, and alpha
- images
- masks
Save Image Advanced (TIFF) is where this pack's TIFF story gets serious. The simple Save Image (TIFF) writes lossless-but-huge uncompressed files; this one adds the compression codes that make TIFF actually practical - plus EXIF-style workflow metadata, DPI, alpha, and mask handling. If your AI art is going into a print or archival pipeline, this is the node you'll park at the end of the graph.
The control that matters most is TIFF Compression, a dropdown with the usual suspects:
none- baseline, huge files.tiff_lzw,tiff_deflate,tiff_adobe_deflate- lossless, sensible file sizes, this is where you should live for photography. The README is blunt about it: use these for photos.packbits- old Mac-era lossless compression, marginal on modern content.jpeg,tiff_jpeg- lossy, for TIFF files that are really photos with a TIFF wrapper.tiff_ccitt- a fax codec. This one is a trap: it only works on bilevel (1-bit black-and-white) images, i.e. line art and documents. Feed it a photo and the node converts to 1-bit and warns you, and you'll get a document, not a picture. For anything photographic, ignore it entirely.
The rest of the inputs
- Join Alpha Channel + Masks - clip a mask into the alpha channel (TIFF supports RGBA fine; the tooltip's "doesn't work on JPG" note is a copy-paste from the shared save code, and doesn't apply here). Invert Alpha flips the mask.
- DPI (1–600, default 300) - print-relevant metadata; 300 is the standard.
- Disable Metadata (default off) - when on, it discards the workflow data. When off, the node embeds the workflow JSON into TIFF tag 270, so the file still carries your graph for reconstruction. If you're shipping to a print lab, consider turning it on - some prepress tools get weird about unknown tags.
- Save to Input Folder - copies the TIFF into your input folder for downstream reuse.
Standard terminal-save shape beyond that: Images, optional Masks, Filename Prefix with token support (%date:yyyy-MM-dd%, %hour%, %minute%, %width%, %height%).
Two gotchas that will actually bite
The preview pane shows a PNG copy, not your TIFF - ComfyUI can't render TIFF in-browser, and the README warns about this explicitly. Your file is on disk and correct; the thumbnail is a stand-in.
And the CCITT trap above deserves a repeat: tiff_ccitt on a normal image silently produces a 1-bit output that looks like a fax of your photo. If your TIFF suddenly looks destroyed, that's why. Stick to LZW or Deflate.
Install
Ships in ComfyUI-Image-Process: git clone https://github.com/wakaura-asaho/comfyui-image-process into custom_nodes, pip install -r comfyui-image-process/requirements.txt, restart - or ComfyUI Manager. Dependencies are numpy, Pillow 12.1+, scipy, opencv, scikit-image; no model downloads. Modern ComfyUI required (frontend ≥ 1.37, base ≥ 0.12). If you've ever been burned by a save node silently writing 4 MB-per-image TIFFs, this is the one that lets you stop.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to be saved. | |
| disable_metadata | BOOLEAN | false | Disable embedding EXIF data into the saved images. Embed into `UserComment`. |
| 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. |
| 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. |
| dpi | INT | 3001–600 | The DPI to use when saving images. |
| tiff_compression | COMBO | none | The compression to use when saving images as TIFF. |
| 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. |
Outputs (0)
No outputs