Minio Download Bucket ๐
Pull your whole MinIO bucket back down to the ComfyUI box in one node
- minio_connector
- log
The upload nodes get all the attention, but MinioDownloadBucket is the node that actually completes the loop: it brings files from your MinIO server back onto the machine running ComfyUI. That matters more than it sounds - think of a workflow where you generate on one box, store on the NAS, and need the results locally for the next pass, or where a trained dataset lives in the bucket and has to reach your training machine. This node is your sync-back.
What it does. Given a bucket and a target folder, it lists every object in the bucket and downloads each one into that folder - specifically into a subfolder named after the bucket. Point it at temp and it creates temp/<bucket-name>/ and rebuilds the object structure underneath. So the remote key models/v2/lora.safetensors lands at temp/<bucket-name>/models/v2/lora.safetensors. The bucket-name subfolder is deliberate: it keeps multiple buckets from colliding into one another when you download several.
The inputs:
minio_connector- fromInitMinioConnector.bucket_name- what to pull.folder_path- where to put it, relative to the ComfyUI root, defaulttemp.
The part that makes it painless: skip-if-unchanged, again. Before each download it stats the remote object, compares its ETag to the local file's MD5, and skips anything that already matches. Re-run the workflow after a few new files were added and it only pulls the new ones. For anything approaching a full bucket, that's the difference between a quick sync and a long wait.
How it works. It joins your path onto the ComfyUI base directory, creates the bucket subfolder, then iterates the remote objects with list_objects(recursive=True) and downloads each via the SDK's fget_object, with the ETag check in between. The log output is one line per file. The path restriction from the rest of the pack applies - everything stays under the ComfyUI directory, by design, for safety.
Install. Same as every node in the pack. ComfyUI Manager โ search "ComfyUI-MinioConnector" โ install โ restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/MieMieeeee/ComfyUI-MinioConnector
cd ComfyUI-MinioConnector
pip install -r requirements.txt
No models, no GPU deps - the minio client is the whole dependency story.
Gotchas. Two things to know. First, unlike the Aliyun download node in this same pack, this one has no pattern filter, no filename rewriting, and no dry-run mode - it pulls everything, and it pulls for real. There's no is_mock to test with, so start it against a bucket you're prepared to receive. Second, auth failures surface here rather than at the init node, because the MinIO client connects lazily. If a download throws an S3Error, check the credentials and endpoint upstream before touching anything else.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| minio_connector | MINIO_CONNECTOR | โ | |
| bucket_name | STRING | โ | |
| folder_path | STRING | temp | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| log | STRING | โ |