Save Image To Minio
Ship Your Outputs Off the Box and Get a Link Back
- images
- JSON
Save Image To Minio is the companion to the loader in this pack. Instead of writing your PNG into ComfyUI/output, it uploads it to a bucket on a Minio server and hands you back a shareable URL. If you've got a render box living in a closet and wish its outputs would just show up somewhere useful on their own, this is that.
How it works
You feed it an IMAGE tensor - the standard batch output of VAE Decode, exactly like the built-in Save Image. For each image in the batch it encodes a PNG and streams it up to Minio, then generates a presigned GET URL for the object. The output is a JSON list with one entry per image, containing the filename, the bucket, and the URL.
The inputs that matter:
images- the tensor to save. It handles batches, saving each frame as its own object.type- dropdown ofinputoroutput, defaultoutput. This picks which bucket the image lands in: your ComfyUI input bucket or output bucket. Save toinputwhen another machine will load the image next,outputfor finished work.filename_prefix- defaultComfyUI. Each file becomes<prefix>-YYYYMMDD-<uuid>.png, so you never clobber an existing object.expires_hours- how long the presigned URL stays valid, 1–168 hours, default 1. This is the one that bites people.
The gotcha: the link dies
That URL is not a permanent public link. It's a presigned URL that expires after expires_hours, and the default is one hour. Using this to publish images? Crank it to 168. Handing images to another machine on your own network? One hour is plenty - the receiver should fetch the object when it gets the link, not bookmark it for later.
The point of it
Standing alone it's a mild novelty - your outputs, now on a server. The real payoff is pairing it with Load Image From Minio: one machine saves to the output bucket, another loads from its input bucket, and images flow between boxes through Minio instead of you manually copying files. The S3-compatible API is everywhere, so the same pattern would work against any S3 store, though this pack is written for Minio specifically and its SDK.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/prodogape/ComfyUI-Minio
pip install -r requirements.txt
Or search "ComfyUI-Minio" in ComfyUI Manager, then restart. The single dependency is the minio Python SDK. No models to download.
Troubleshooting
- "Failed to connect to Minio" - the node checks that the target bucket exists but never creates it.
comfyoutput(orcomfyinput, if you set type=input) must already exist on the server. - URLs 404ing after an hour - that's
expires_hoursworking as designed. Raise it. - Config errors - same rule as the rest of the pack: run Set Minio Config first, so
output/minio_config.jsonexists and the node knows where Minio lives.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| type | COMBO | output | 2 options: input, output |
| filename_prefix | STRING | ComfyUI | — |
| expires_hours | INT | 11–168 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| JSON | JSON | — |