Nodes/ComfyUI Chill Easy Image Save/Chill Image Save Plus
ComfyUI Node

Chill Image Save Plus

The ComfyUI save node for when PNG isn't the right format

By Megachill·Created 7 months ago·Updated about a month ago· 0
Chill Image Save Plus
  • images
    filename_prefixChill
    formatpng
    quality95
    strip_metadatafalse
    gps_enabledfalse
    gps_location_presetManual (use custom coords)
    gps_latitude0.0000
    gps_longitude0.0000
    gps_altitude0.0

    ComfyUI's built-in SaveImage has exactly one setting that ever seems to matter, and it's not even a setting: it saves PNG, period. Chill Image Save Plus (node class ChillImageSavePlus) is the drop-in replacement that also writes JPEG, WebP, TIFF, and BMP, gives you real quality control on the lossy ones, and - here's the party trick - can geotag the output like a camera would. It's a pure-Python utility, no model downloads, no API, no key. If you're saving for the web, posting somewhere that recompresses your PNGs anyway, or shipping files to a client who wants .jpg, this is the node you swap in where SaveImage used to sit.

    What it actually does

    It's an output node, so it hooks into the same spot in your graph that SaveImage does: wire the IMAGE tensor from your VAE Decode (or anywhere else) into images, and files land in ComfyUI/output/ with the same auto-incrementing counter and subfolder support you already know from the built-in node. Behind the scenes it's just Pillow - the quality slider only does anything for JPEG and WebP, and the code quietly enables optimize+progressive on JPEG and the best-compression method=6 on WebP, so those settings actually cost you encoding time for smaller files.

    The metadata handling is the part worth understanding before you trust it. Keep strip_metadata off (the default) and it embeds your workflow and prompt the same way stock ComfyUI does - as PNG text chunks, which is exactly why dragging the file back onto the canvas rebuilds the graph. That only works for PNG. JPEG and WebP get their metadata re-homed into EXIF instead, which means you cannot drag a .jpg back into ComfyUI to recover the workflow - that's a property of the format, not a bug in this node. Keep your master copy as PNG if you want the graph to travel.

    The inputs that matter

    There are a lot of widgets on this node, but you'll realistically touch these:

    • format - png, jpg, webp, tiff, or bmp. JPEG and WebP take quality; the rest ignore it. Pick WebP over JPEG for web use - equivalent quality, smaller file.
    • quality (1–100, default 95) - only for JPEG/WebP. 75–85 for the web, 50–70 if you're optimizing for size.
    • strip_metadata - flip this on to kill the workflow, prompt, and GPS from the file. Handy for privacy; also the difference between "my image is a project file" and "my image is just a picture."
    • filename_prefix - the default Chill produces Chill_00001_.png; subfolders work with a slash. Bonus the README barely advertises: it expands date macros, so %date:yyyy-MM-dd%/%time:HHmmss% gives you dated, timestamped folders.

    Then there's the GPS cluster - gps_enabled, gps_location_preset (44 real cities plus "Manual"), and gps_latitude/gps_longitude/gps_altitude. Flip gps_enabled on, pick a city, and the coordinates get written into the file's EXIF or PNG text chunks like a photo shot on location. It's a fun feature and it works, but the honest take is that the main reason it exists is to make AI images look like they were taken somewhere real. Keep that in mind before you use it for anything you care about. There are no outputs - it's a terminal node.

    Installing it

    The easiest route is ComfyUI Manager: search for "Chill Image Save Plus" (or the pack title, "ComfyUI Chill Easy Image Save") and install. Otherwise:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Megachill/ComfyUI-ChillEasyImageSave.git
    

    then restart ComfyUI. One gotcha the README glosses over: it claims the only dependency is Pillow, which ships with ComfyUI, but requirements.txt also lists piexif for JPEG EXIF. If you clone without installing requirements, JPEGs save fine but silently lose their EXIF metadata (the code degrades gracefully). Run pip install -r requirements.txt (or ../../../python_embeded/python.exe -m pip install -r requirements.txt from inside the folder on Windows Portable) and you're covered. No model files anywhere in this pack.

    Troubleshooting

    • JPEG saved with no workflow/EXIF at all - almost certainly the missing piexif above. Install requirements and re-run.
    • JPEG EXIF missing just the workflow JSON - the EXIF container tops out around 64KB, so with a big graph the node drops the workflow JSON to keep the GPS. Purely cosmetic if you're not trying to read the workflow out of a JPEG.
    • "Outside the output folder" errors with subfolders on Windows - a ComfyUI ≥ 0.30.0 path-security check misfires on drive roots like Z:\; this node ships its own fallback for that case, so it usually just works where stock SaveImage throws.

    At the end of the day this is a "replace one node" convenience, not a workflow rethink. If you never leave PNG, the built-in is fine. The moment you want JPEG/WebP output with sane quality, this earns its spot.

    CategoryChill

    Inputs (10)

    NameTypeDefaultDescription
    imagesIMAGE
    filename_prefixSTRINGChill
    formatCOMBOpng5 options: png, jpg, webp, tiff, bmp
    qualityINT951–100
    strip_metadataBOOLEANfalse
    gps_enabledBOOLEANfalse
    gps_location_presetCOMBOManual (use custom coords)44 options: Amsterdam, Netherlands, Athens, Greece, Bangkok, Thailand, Barcelona, Spain, Beijing, China, Berlin, Germany, +38
    gps_latitudeFLOAT0.0000-90–90
    gps_longitudeFLOAT0.0000-180–180
    gps_altitudeFLOAT0.0-1000–10000

    Outputs (0)

    No outputs