Save Image @Liam
A leaner Save Image with no embedded workflow
- images
This is the pack's take on core ComfyUI's SaveImage: you hand it a tensor, it writes PNGs to your output folder with a filename prefix, and it's marked as an output node so the graph knows it's a finish line. The difference from the core node is subtle but worth knowing - it writes no workflow metadata. The core SaveImage embeds the entire workflow JSON into the PNG's metadata, which is the mechanism behind the ecosystem's "drag this image back into ComfyUI and the graph rebuilds" culture. This one explicitly saves with metadata = None, so the resulting files are clean PNGs with no embedded graph.
If that's a feature or a bug depends entirely on you. Clean files are smaller, have no hidden data, and won't leak your workflow if you share them. But you lose the drag-back reconstruction, which is how most of the community shares and recovers setups. For an API-driven pipeline (the pack's stated home), stripping metadata is often the right call.
Inputs
Two required inputs:
images- the IMAGE tensor to save. It handles batches: a batch of frames gets numbered filenames.filename_prefix- the name prefix (defaultComfyUI). The node appends a zero-padded counter and.png, e.g.my_render_00001_.png.
No outputs - it's a terminal node whose effect is the files it writes.
How it works
Under the hood it's a re-implementation of core SaveImage's saving logic: it resolves a save path via ComfyUI's folder utilities, converts the tensor to 0–255 uint8, and writes PNGs with compress_level = 4. Subfolder-style prefixes (like sub/folder/name) work, and it guards against writing outside the output directory. It saves to the standard ComfyUI/output folder.
Installing it
Part of LiamUtil:
cd ComfyUI/custom_nodes
git clone https://github.com/ai-liam/comfyui-liam
pip install -r requirements.txt
or ComfyUI Manager → search LiamUtil → install → restart. Only dependency is opencv-python.
Where people get burned
The metadata behavior is the thing to internalize. If you're used to dragging saved images back into ComfyUI to recover the workflow, that silently stops working here - the PNG won't carry the graph. Second, if you use a fixed prefix, note that the counter is computed from what's already in the folder, so repeated runs keep incrementing rather than overwriting (generally good, but it means old files accumulate). There's also no per-file type choice and no quality setting - PNG only, which is bigger on disk than JPEG for photos, though fine for most generated art. If you want embeddable workflows, stick with the core node; if you want lean, portable PNGs from an automated pipeline, this does the job with fewer bytes and zero surprises.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | ComfyUI | — |
Outputs (0)
No outputs