Save Images Without Output
Save a batch of images to disk without the gallery clutter
- images
- file_paths
Stock ComfyUI's SaveImage is an output node - it writes files and also flags the run as producing results the UI gallery and the API response should show off. Most of the time that's exactly what you want. Sometimes it isn't: you're batch-processing a hundred images in one run and don't want a hundred thumbnails bloating the response, or you need to write a file to disk purely so a later node can read it back in (crop it, tag it, feed it to another model). SaveImagesWithoutOutput does the save, skips the output-node behavior, and hands you the path so you can keep working.
It's one of a handful of "without output" nodes in comfyui-easyapi-nodes, lldacing's pack for people running ComfyUI through its API. The pack's own description for this node is blunt about the use case: batch processing, and as a setup step for lazy-evaluation chains - nodes further downstream that only need to fire once a file genuinely exists on disk.
How it works
You feed it an IMAGE (a batch is fine), it writes files to the directory you specify, and instead of registering as a gallery output it just returns the path(s) it wrote. Nothing renders in the UI's image preview panel and nothing gets flagged specially in the API's output payload - the run looks, from the outside, like it produced no visible result, even though files landed on disk exactly where you told them to.
The inputs and outputs that matter
images(IMAGE, required) - the batch to save.filename_prefix(STRING, default"ComfyUI") - the prefix each saved file's name starts with, same idea as stock SaveImage.output_dir(STRING, default empty) - where to write the files. Point this wherever your pipeline expects them.addMetadata(BOOLEAN, optional, defaultfalse) - whether to bake workflow metadata into the saved PNGs, the same embedding stock SaveImage does when you have that setting on.- Output:
file_paths- the path(s) written, as a string, so a following node can pick the file back up (via LoadImageFromLocalPath, say) or your API caller can log where things landed.
How to install it
ComfyUI Manager: search comfyui-easyapi-nodes, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/lldacing/comfyui-easyapi-nodes.git
cd comfyui-easyapi-nodes
pip install -r requirements.txt
Restart ComfyUI. No model downloads here - this is pure file I/O.
Common issues & troubleshooting
Files aren't appearing where I expect. Check output_dir carefully - an empty string behaves differently than an explicit path, and if you're running on a server rather than your own machine, "where I expect" and "where the executor's filesystem actually is" can be two different things. The whole point of getting file_paths back is so you don't have to guess.
Directory doesn't exist / write fails. The pack's changelog mentions a config option, allow_create_dir_when_save, added specifically to control whether save nodes auto-create missing target directories - if your output directory doesn't exist yet, that setting (in the pack's own config, not on this node) is what decides whether ComfyUI makes it for you or errors out.
I need the run to show the image somewhere. Then this is the wrong node - use plain SaveImage or PreviewImage instead. SaveImagesWithoutOutput is deliberately silent about its results; that's the feature, not a limitation to work around.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | ComfyUI | 要保存的文件的前缀。支持的占位符:%width% %height% %year% %month% %day% %hour% %minute% %second% |
| output_dir | STRING | 若为空,存放到output目录 | |
| addMetadataopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| file_paths | STRING | 保存的图片路径列表 |