πΎ Super Saver
Save images, sidecar text, alpha layers and metadata in one node β no more spaghetti savers
- image
- alpha_1
- image_path
- text_path
Saving is the part of ComfyUI everybody treats as an afterthought, and then fights about at the end of a workflow. The Super Saver is the pack's attempt to make "save this properly" a one-node job: images in four formats with per-format quality, a text sidecar written alongside, extra alpha layers, custom metadata stuffed into the PNG, and filename control with timestamps, prefixes and counters. If you've ever wanted a "save image + save its prompt + embed metadata, all in one place" node, this is it.
The display title - "πΎ Super Saver" - undersells it slightly. It's really two savers in one body: an image saver and a text saver, both driven by a shared naming system. You can save just the image, just the text, or both, and the two outputs hand back exactly where each landed on disk.
How it works
On the image side it writes PNG, JPEG, WEBP, or TIFF, each with its own quality/compression control (JPEG quality, WEBP quality, TIFF compression of deflate, lzw, or none). On the text side it writes a .txt (or whatever extension you set) alongside, so you can keep the generation parameters or a caption in the same folder as the image without any post-processing. Filenames come from a prefix, an optional timestamp mode, and an auto-counter with configurable zero-padding.
Two features are worth calling out because they tie into how ComfyUI metadata actually works:
strip_workflow- when on, it strips theworkflow/prompttext chunks from the PNG before saving. ComfyUI normally bakes the whole graph into every image, which is great for sharing (drag the PNG back in and the workflow rebuilds) and bad if you're shipping clean files. This toggle gives you the choice. As the KB'simage-io-metadatadoc hammers home, that embedded workflow is the payload, not a footnote - know what you're stripping.add_metadata- any JSON or free text you feed in is written as aniTXtmetadata chunk (native UTF-8), so it survives as structured, readable data rather than being lost to the void.
Inputs and outputs
- Key globals:
timestamp_mode(Disabled / Date_Time / HHMMSS / Unix_Epoch),overwrite,counter_padding,strip_workflow, and the image/text enable + prefix + subfolder + format settings. - Optional inputs:
image,caption_image(STRING),txt(STRING),add_metadata(STRING), and dynamicalpha_1,alpha_2, β¦ image ports for saving separate layers. - Outputs:
image_path(STRING) andtext_path(STRING) - the full paths of what was written.
It's an output node, so it terminates its branch - exactly what you want from a saver.
When you'd reach for it
Any time "save" is more than a single image. Training-set preparation (image + caption sidecar), deliverable exports where you want clean PNGs without embedded workflows, or layered work where separate alpha channels need to land on disk together. The caption_image/txt pair makes it a solid choice for captioning pipelines: save the image, save the caption text, get both paths back for whatever comes next.
Troubleshooting
- TIFF alpha exports are wrong or single-channel? Multi-channel TIFF alpha needs the optional
tifffilepackage - without it the node falls back to PIL and loses some alpha fidelity.pip install tifffile. - Shared a "clean" PNG and someone couldn't rebuild the workflow? You stripped it. That's the feature working as intended.
- Overwrite off + counter on is the safe batch setup; with overwrite on, repeated runs clobber the same file, which is sometimes exactly what you want for a live preview save.
Installing it
It's part of Orion4D_MetaNode:
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_MetaNode
Or via ComfyUI Manager (search "Orion4D_MetaNode") and restart. It lives under Orion4D_MetaNode β FileIO. Base requirements are covered by ComfyUI; add tifffile only if you need full multi-channel TIFF alpha. Honest context: this is a young, single-developer pack, so Super Saver is a personal-utility node rather than a community staple - but the image+text+metadata-in-one-node idea is genuinely handy for dataset work.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| timestamp_mode | COMBO | Disabled | 4 options: Disabled, Date_Time, HHMMSS, Unix_Epoch |
| overwrite | BOOLEAN | false | β |
| counter_padding | INT | 41β8 | β |
| strip_workflow | BOOLEAN | false | β |
| image_enable | BOOLEAN | true | β |
| image_sub_folder | STRING | Images | β |
| image_prefix | STRING | img | β |
| image_format | COMBO | PNG | 4 options: PNG, JPEG, WEBP, TIFF |
| jpeg_quality | INT | 951β100 | β |
| webp_quality | INT | 901β100 | β |
| tiff_compression | COMBO | deflate | 3 options: deflate, lzw, none |
| text_enable | BOOLEAN | true | β |
| text_sub_folder | STRING | Texts | β |
| text_prefix | STRING | text | β |
| text_extension | STRING | txt | β |
| imageopt | IMAGE | β | |
| caption_imageopt | STRING | β | |
| alpha_1opt | IMAGE | β | |
| txtopt | STRING | β | |
| add_metadataopt | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image_path | STRING | β |
| text_path | STRING | β |