Nodes/ComfyUI-UniversalToolkit/Save Image Plus (UTK)
ComfyUI Node

Save Image Plus (UTK)

Get an actually print-ready file out of ComfyUI

By whmc76·Created about a year ago·Updated 2 months ago· 72
Save Image Plus (UTK)
  • images
    filename_prefixComfyUI/PrintReady
    file_formatPNG
    dpi300
    quality95
    png_compress_level6
    save_workflowtrue
    author
    description

    Stock ComfyUI's Save Image writes a PNG with no DPI metadata at all, which is fine until a print shop asks "and what resolution is this?" and the honest answer is "the pixels are what they are." This node fixes that specific, unglamorous problem: it embeds real DPI metadata in the file - 300 by default, the standard for print - so what comes out of the graph is a file a printer actually understands. It's the difference between handing someone a file and handing them a print job.

    How it works

    Under the hood it's the same PIL save path ComfyUI uses, with the knobs exposed. It converts the image tensor to a uint8 PIL image and passes dpi into the file format's metadata, which works differently per format:

    • PNG: DPI goes into the pHYs chunk, and with save_workflow on, the ComfyUI workflow JSON plus your author/description ride along as text metadata - the "workflow included" sharing culture, preserved in the file.
    • TIFF: the one the tooltip calls out as best for professional print. LZW-compressed, with DPI, Artist and ImageDescription tags, workflow JSON included.
    • JPEG / WebP: DPI and author/description go into EXIF - but only if the optional piexif library happens to be installed. If it isn't, the node still saves the file, just without the EXIF. Silent downgrade, no crash.

    It's an output node: nothing to wire out, its whole effect is the file it drops into ComfyUI's output/ folder.

    The inputs that matter

    • filename_prefix (default ComfyUI/PrintReady) - this is a path. Use / for subfolders, so prints/my_image lands in output/prints/.
    • file_format - PNG, JPEG, TIFF or WebP. Pick TIFF for real print work, PNG if you want the embedded workflow and smaller files.
    • dpi (72–1200, default 300) - 300 is standard print, 72 is screen. Set it once and forget it.
    • quality (1–100) - only affects JPEG/WebP. It does nothing for PNG/TIFF, which the tooltip says plainly.
    • png_compress_level (0–9) - only PNG. Lower is faster and bigger, higher is slower and smaller.
    • save_workflow - embed the graph JSON. PNG and TIFF only; JPEG/WebP can't carry it.

    The optional author and description fields embed into the metadata, which is handy when you're selling prints or want to know which run a file came from.

    Installing it

    It's part of the ComfyUI-UniversalToolkit pack. Easiest through ComfyUI Manager - search "ComfyUI-UniversalToolkit", install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/whmc76/ComfyUI-UniversalToolkit
    pip install -r requirements.txt
    

    then restart ComfyUI. It's a single-author MIT pack with no model downloads; the requirements are Pillow, numpy, torch and friends, which you already have if ComfyUI runs.

    Where people get burned

    • JPEG/WebP silently lose their DPI if piexif isn't installed, and it's not in the pack's requirements. Check with pip show piexif; if you need DPI on JPEGs, install it.
    • JPEG converts to RGB, so alpha gets dropped. Save transparent work as PNG.
    • The default prefix ComfyUI/PrintReady creates an output/ComfyUI/PrintReady/ tree. If you can't find your file, look in the output folder, not the input folder.
    • A quality or compression setting that "does nothing" isn't a bug - that's just format semantics.

    For getting pixel-accurate files into a print pipeline, this is the quiet utility that saves you from the "what DPI is this?" email.

    CategoryUniversalToolkit/Image

    Inputs (9)

    NameTypeDefaultDescription
    imagesIMAGE
    filename_prefixSTRINGComfyUI/PrintReadyFilename prefix. Use '/' for subfolders, e.g. 'prints/my_image'.
    file_formatCOMBOPNGOutput file format. TIFF is best for professional print workflows.
    dpiINT30072–1200DPI (dots per inch) embedded in file metadata. 300 = standard print, 72 = screen.
    qualityINT951–100Compression quality for JPEG/WEBP (1-100). Has no effect on PNG/TIFF.
    png_compress_levelINT60–9PNG ZLIB compression level (0=none/fastest, 9=max/slowest). Only affects PNG.
    save_workflowBOOLEANtrueEmbed ComfyUI workflow JSON into the image metadata (PNG/TIFF only).
    authoroptSTRINGAuthor name to embed in image metadata.
    descriptionoptSTRINGImage description to embed in metadata.

    Outputs (0)

    No outputs