Ino S3 Download Audio
Pull an audio file out of S3 and get a real AUDIO tensor on the wire
- success
- message
- audio
Cloud GPU work has a rhythm: you rent a box, run your job, and everything that mattered lives in object storage. If your workflow needs audio - a voiceover you generated, a reference clip, a backing track - sitting in an S3 bucket, InoS3DownloadAudio is how it gets into ComfyUI as something you can actually use. The important detail is that it doesn't just save a file somewhere; it downloads from S3 and returns a native AUDIO tensor, the same type ComfyUI's own audio nodes emit. That means it plugs straight into audio preview, processing, or whatever consumes audio in your graph without you hand-loading a file path.
It's part of the InoS3Helper family, which is built for exactly this pattern: media files stay in S3, and these nodes turn them into native ComfyUI types on demand.
How it works
Required inputs: enabled and s3_key - the object path in the bucket, e.g. input/example.wav. Optional: s3_config.
The s3_config field deserves a closer look because it's the pack's consistent convention: it's a JSON string with access_key_id, access_key_secret, bucket_name, endpoint_url, and region_name. The tooltip says it plainly - "you can leave it empty and pass it with env vars." Set these instead and they win: S3_ACCESS_KEY, S3_ACCESS_SECRET, S3_BUCKET_NAME, S3_ENDPOINT_URL, S3_REGION_NAME. Env vars are the right call for shared workflows, since you don't want keys living in a workflow JSON.
Mechanically, the node downloads the object to a temp folder with a unique filename, then loads it through ComfyUI's own LoadAudio, which is why the output is a genuine AUDIO tensor rather than a path string.
Outputs: success, message, and audio (the AUDIO tensor - or null if the download or load failed).
Installing it
Part of the 125+-node ComfyUI-InoNodes pack by nobandegani:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/comfyui_ino_nodes
cd comfyui_ino_nodes
pip install -r requirements.txt
Or search "ComfyUI Ino Nodes" in ComfyUI Manager, install, restart. V3 schema pack - keep ComfyUI current. The actual S3 client lives in the pack's inopyutils dependency.
Common issues
Almost every failure here is credentials or paths. s3_key must exist in the bucket exactly as typed - a wrong key gives you success: False and an error message, which is at least honest. If auth fails, check that your env vars are set in the environment ComfyUI actually starts from (not your shell's other terminal), and remember the endpoint matters: MinIO, Cloudflare R2, and Cloudreve all speak S3 but each has its own endpoint URL. Audio load failures after a successful download usually mean the file isn't actually an audio format ComfyUI's LoadAudio understands - mp3, wav, and similar are the safe bets. And it's a download node, not a sync node: every run fetches fresh from S3, so don't wire it inside a tight loop if you're paying per request.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| s3_key | STRING | input/example.wav | — |
| s3_configopt | STRING | {"access_key_id": "", "access_key_secret": "", "bucket_name": "", "endpoint_url": "", "region_name": ""} | you can leave it empty and pass it with env vars |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| message | STRING | — |
| audio | AUDIO | — |