πΎ Save Image Without Metadata
Your Workflow Isn't a Trade Secret β Until You Save This Way
- images
Every PNG ComfyUI writes by default carries your entire pipeline inside it - the full graph JSON, every prompt, every seed, every model name - tucked into the file's text chunks. Drag that image back into ComfyUI and the whole workflow reconstructs. That's a feature (the "workflow included" culture is a whole thing), and sometimes a liability. πΎ Save Image Without Metadata is a drop-in replacement for the built-in Save Image node that just... doesn't write that stuff.
Why bother? Three reasons, and they're the three the README lists: you're sharing an image somewhere you don't want your setup inspected, you're posting to a platform that strips or mangles embedded workflows anyway, or you want smaller files. The embedded workflow JSON is often tens of kilobytes, sometimes more, and it adds up across a big batch. (The flip side, in case it's not obvious: once you save this way, the image will not drag-and-drop back into ComfyUI as a workflow. That's the whole point. Keep a .json export if you still want the pipeline shareable.)
How it works
The mechanism is refreshingly un-mysterious. Open the source and it's a near-total copy of ComfyUI's stock Save Image - same folder_paths.get_save_image_path() call for the output folder and counter filenames, same compress_level=4, same 255. * image.cpu().numpy() conversion that makes it safe on Apple Silicon as well as CUDA. The one deliberate change is the punchline:
# KEY: Do NOT add any metadata
metadata = None
img.save(path, pnginfo=metadata, ...)
ComfyUI feeds output nodes a hidden prompt and extra_pnginfo - the built-in Save Image stuffs those into pnginfo. This node accepts them so nothing errors, then pointedly ignores them. pnginfo=None means no text chunks, period.
The inputs (both of them)
There are no outputs - it's an output node, results land in your output folder. The only two inputs:
- images (IMAGE) - the tensor batch to save. Wire your decode/VAE output here.
- filename_prefix (STRING, default
ComfyUI_NoMeta) - the prefix for saved files. It uses the sameprefix_counter.pngnaming scheme as stock Save Image, so you can switch nodes without relearning your folder layout.
Installing it
No dependencies, no requirements.txt, no models. It only uses PIL, numpy, torch, and ComfyUI's own folder_paths - all already on your system. The README's recommended route is the download-a-ZIP method: grab the archive, extract, rename the folder from comfyui-save-image-no-meta-main to comfyui-save-image-no-meta, drop it into ComfyUI/custom_nodes/, restart. Or, the developer route:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/GeorgeJiang/comfyui-save-image-no-meta.git
One honest gotcha: the README has the ComfyUI Manager install block commented out with a note that it's "pending PR." So don't go hunting for it in Manager's search yet - the ZIP or clone path is the working one as of writing. It's a single commit from a solo author (Hongzhi "George" Jiang, MIT-licensed), so treat it as a tiny utility, not a maintained platform. For a 30-line node that does exactly one thing, that's fine.
The catch, in one sentence
Save with the no-meta node when you want clean files - and keep the stock Save Image around when you don't, because the two are siblings and swapping takes about ten seconds.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save. | |
| filename_prefix | STRING | ComfyUI_NoMeta | Prefix for saved files. |
Outputs (0)
No outputs