Set Minio Config
The Node Your Other Minio Nodes Demand You Run First
- response
ComfyUI-Minio is a three-node pack that points ComfyUI at Minio - the self-hosted, S3-compatible object store - so images live in buckets instead of (or alongside) your local input/output folders. The pitch is multi-machine: one box renders and writes results to a bucket, another box loads them back and keeps going. Before any of that happens, you run Set Minio Config exactly once. It's the front door, and the other two nodes refuse to open without it.
Why this node exists
ComfyUI is famously single-box. Workflows read from ComfyUI/input, write to ComfyUI/output, and sharing between machines means copying files around or juggling sync folders - the classic dependency-and-file hell of the custom node ecosystem, just with storage instead of pip packages. This pack's answer is to swap the local-directory model for buckets. Set Minio Config is where you tell the pack where Minio lives and hand over the credentials. Skip it, or get it wrong, and both Load Image From Minio and Save Image To Minio die with the same unhelpful "Please check if your Minio is configured correctly."
How it works
Run the node and it does three things: writes your settings into environment variables, tries to connect to Minio, and dumps a minio_config.json file into your ComfyUI output directory. That JSON file is how the other nodes find your server later - and it's how the config survives restarts, since they re-read it (or fall back to env vars) on every run.
The "did it connect?" check is a single bucket_exists call against your input bucket. Which hides a real trap: the pack never creates buckets. If comfyinput doesn't exist yet, the connection "fails" even with perfect credentials. Create your buckets before running this.
The inputs that matter
Seven fields, all plain values:
minio_host/minio_port- defaultslocalhostand9000. 9000 is Minio's default API port, so a local install usually just works.minio_access_key/minio_secret_key- your Minio credentials.ComfyUI_input_bucket/ComfyUI_output_bucket- defaultscomfyinputandcomfyoutput. Create them on the server first (Minio console, ormc mb comfyinput).minio_secure- boolean, default off. Leave it off forhttp://localhost:9000; flip it on when Minio is behind TLS.
The single output is a response JSON with a status code and message. ComfyUI has no built-in JSON viewer, which is why the author suggests installing ComfyUI-Toolbox to read it - but you don't need to. If the node runs without throwing, you're configured.
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 and install from there. Either way, restart ComfyUI afterward. The entire dependency list is one package - the minio Python SDK. No models, nothing heavy.
Common issues
- "Unable to connect" with correct credentials - the bucket doesn't exist. Create
comfyinputandcomfyoutputfirst; the pack only checks for them, it won't make them. - HTTPS server - leave
minio_secureoff and the Minio client will refuse to talk TLS over an http endpoint. Set it to true. - Credentials in plaintext in
output/minio_config.json- fine for a localhost test server, but don't point this at a production key you actually care about.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| minio_host | STRING | localhost | — |
| minio_port | STRING | 9000 | — |
| minio_access_key | STRING | — | |
| minio_secret_key | STRING | — | |
| ComfyUI_input_bucket | STRING | comfyinput | — |
| ComfyUI_output_bucket | STRING | comfyoutput | — |
| minio_secure | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | JSON | — |