Nodes/ComfyUI Save Image Without Metadata/πŸ’Ύ Save Image Without Metadata
ComfyUI Node

πŸ’Ύ Save Image Without Metadata

Your Workflow Isn't a Trade Secret β€” Until You Save This Way

By GeorgeJiangΒ·Created 6 months agoΒ·Updated 6 months agoΒ· 4
πŸ’Ύ Save Image Without Metadata
  • images
    β—„filename_prefixComfyUI_NoMetaβ–Ί

    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 same prefix_counter.png naming 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.

    Categoryimage

    Inputs (2)

    NameTypeDefaultDescription
    imagesIMAGEThe images to save.
    filename_prefixSTRINGComfyUI_NoMetaPrefix for saved files.

    Outputs (0)

    No outputs