Load Audio From Bucket
Browse your audio assets instead of memorizing keys
- audio
- manifest
Typing <subfolder>/<uuid> into Input Audio Bucket is fine when a program hands you the key. It's miserable when you're poking around the UI trying to remember which clip is which. Load Audio From Bucket is the dropdown version: pick an audio asset from a live list of everything in your bucket, and out come the audio (AUDIO) and manifest (BUCKET_MANIFEST) outputs, same as the Input node - it shares the exact same loader underneath.
How it works
When key listing is enabled (S3_ALLOW_KEY_LISTING=true, the default), the key input is a COMBO fed live from the /in_n_out/audio/keys route with a refresh button. Each entry is a <subfolder>/<uuid> key. Disable listing and it degrades to a plain text key field - identical to Input Audio Bucket.
The two UI conveniences carry over: select a key and the audio previews immediately without running the workflow, and there's a "choose file to upload" button that uploads a local file (transcoding non-native wav/m4a to FLAC losslessly), sets the key, and drops it into the dropdown.
When you'd use this over the Input node
Interactive picking, mostly - which is more common for audio than people admit. Say you have a voiceover directory in the bucket and you're A/B-testing takes in a TTS or dubbing pipeline: the dropdown is how you swap takes without editing the workflow. It also doubles as a poor man's asset browser: if you forgot the exact key, this is how you find it. Once you've locked the asset into an automated pipeline, switch back to the Input node so the key comes from data rather than a human.
Install
ComfyUI Manager (search In-N-Out Bucket) or:
cd ComfyUI/custom_nodes
git clone https://github.com/littleowl/ComfyUI_In-N-Out_Bucket.git
pip install -r ComfyUI_In-N-Out_Bucket/requirements.txt
cp ComfyUI_In-N-Out_Bucket/.env.example ComfyUI_In-N-Out_Bucket/.env
Restart, find it under buckets/audio. Only boto3 and python-dotenv install; PyAV already ships with ComfyUI.
Gotchas
Empty dropdown = either S3_ALLOW_KEY_LISTING=false (you'd see a text box) or the bucket wasn't reachable when the node registered - the node loads with empty options rather than failing loudly, so a dead endpoint looks like an empty list. Fix the endpoint/credentials and hit refresh. And remember the list reflects the bucket at load time: assets uploaded from another machine need a refresh before they show up. If you've got a huge bucket, listing every key on node load is a cost to keep in mind - that's part of why the S3_ALLOW_KEY_LISTING escape hatch exists.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| key | COMBO | Select an audio asset key from the bucket. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | Audio loaded from the asset bucket. |
| manifest | BUCKET_MANIFEST | Asset metadata. Derived from the audio if no manifest is stored. |