LayerUtility: SaveImagePlus V2(Advance)
SaveImagePlus V2 — ComfyUI Node Guide
- images
This is SaveImagePlus with two things added: an exact custom filename option and a DPI setting. If you've read the SaveImagePlus article, everything else here carries over unchanged - this one's just the "one more thing was needed" follow-up, which is a pattern that shows up a lot in this pack (there's an ImageAutoCrop V2 and V3 too).
Why DPI matters enough to get its own field: PNG and JPEG files carry a DPI metadata tag that most viewers ignore but print software absolutely does not. If you're generating assets that are going to get printed - merch, packaging mockups, physical prints - a mismatched DPI tag means the file opens at the wrong physical size in whatever layout tool picks it up next, even though the pixel dimensions are identical. This node lets you stamp the value you actually need instead of leaving it at whatever ComfyUI's default happens to be.
The two additions to know about: custom_filename lets you specify the exact output filename rather than relying on filename_prefix plus a timestamp - if you fill this in, it's used as-is, and the README is explicit that duplicate filenames get overwritten, not incremented, so use it when you actually want a fixed, predictable name (or you're combining it with the %date/%time placeholders to keep it unique). Leave it blank and the node falls back to filename_prefix plus timestamp, same as SaveImagePlus. And dpi (default 96, range 1–10000) sets the DPI tag written into the file.
Everything else is identical to SaveImagePlus: custom_path for a non-default output directory (supports the same %date/%time placeholders and / subfolder syntax), timestamp precision, format (png/jpg, with the same RGBA-needs-png caveat), quality for compression, meta_data to decide whether the full workflow gets embedded (default off - leave it that way if you're about to share the image), blind_watermark for the invisible QR-code watermark decodable with ShowBlindWaterMark, save_workflow_as_json for a sidecar JSON export, and preview for the UI thumbnail. Same single required images input, and it's an output node with nothing to wire downstream.
Installing it: identical to the rest of the pack - ComfyUI Manager, search "ComfyUI Layer Style Advance," or git clone https://github.com/chflame163/ComfyUI_LayerStyle_Advance into custom_nodes, then install_requirements.bat / pip install -r requirements.txt, then repair_dependency.bat, then restart. No model files, no unusual dependencies for this node specifically - if the install goes smoothly for the pack at all, this node comes along for free.
The one gotcha worth flagging: custom_filename silently overwrites rather than protecting you from clobbering a previous run. If you're batch-generating and want every file kept, either leave custom_filename empty and let the prefix-plus-timestamp scheme handle uniqueness, or make sure your custom filename itself includes %time (or something equally variable) so successive runs don't stomp on each other.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| custom_path | STRING | — | |
| custom_filename | STRING | — | |
| filename_prefix | STRING | comfyui | — |
| timestamp | COMBO | 3 options: None, second, millisecond | |
| dpi | INT | 961–10000 | — |
| format | COMBO | 2 options: png, jpg | |
| quality | INT | 8010–100 | — |
| meta_data | BOOLEAN | false | — |
| blind_watermark | STRING | — | |
| save_workflow_as_json | BOOLEAN | false | — |
| preview | BOOLEAN | true | — |
Outputs (0)
No outputs