Nodes/Comfyui-Minio/Save Image To Minio
ComfyUI Node

Save Image To Minio

Ship Your Outputs Off the Box and Get a Link Back

By prodogape·Created 2 years ago·Updated 2 years ago· 7
Save Image To Minio
  • images
  • JSON
typeoutput
filename_prefixComfyUI
expires_hours1

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 of input or output, default output. This picks which bucket the image lands in: your ComfyUI input bucket or output bucket. Save to input when another machine will load the image next, output for finished work.
  • filename_prefix - default ComfyUI. 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.

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 (or comfyinput, if you set type=input) must already exist on the server.
  • URLs 404ing after an hour - that's expires_hours working as designed. Raise it.
  • Config errors - same rule as the rest of the pack: run Set Minio Config first, so output/minio_config.json exists and the node knows where Minio lives.
CategoryComfyUI-Minio

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
typeCOMBOoutput2 options: input, output
filename_prefixSTRINGComfyUI
expires_hoursINT11–168

Outputs (1)

NameTypeDescription
JSONJSON