Attome S3 Load Audio
Audio out of the bucket, as a proper ComfyUI AUDIO
- s3_config
- audio
Audio in ComfyUI isn't a file - it's a dict with a waveform tensor and a sample_rate. Attome S3 Load Audio is the node that gets you there from a bucket: it downloads a WAV (or MP3, FLAC, OGG - whatever the key points at) and decodes it into that standard AUDIO structure, ready to feed audio-conditioned workflows, audio-to-video pipelines, or any node that expects ComfyUI's audio format.
It's part of the Comfyui_Attome_S3 pack, and it's the mirror of the pack's save-audio node: one box renders a voiceover to S3, another box loads it back in a different workflow. That round-trip is the whole point of this pack.
How it works
Under the hood it's simple and a little inelegant: boto3 downloads the object, writes it to a temporary file, and calls torchaudio.load() on it. The result is a dict with waveform (with a batch dimension added, since that's what ComfyUI's audio nodes expect) and the real sample_rate read from the file. The temp file gets cleaned up afterward, so nothing litters your disk.
One quirk: if torchaudio isn't installed, it falls back to returning raw bytes with a made-up 44100 sample rate and a raw: true flag. Most downstream audio nodes won't know what to do with that, so treat that fallback as "install torchaudio," not a feature. And if s3_key is empty, you get a silent 1024-sample waveform at 44100 Hz instead of an error - the pack's standard "optional resource" behavior, useful but confusing if you forget why your audio is suddenly silent.
Inputs and outputs
s3_key(required) - the object path, e.g.voiceovers/intro.wav.s3_config(optional) - from the Attome S3 Config node, or rely on the pack'senv.txtdefaults.- Output:
audio- a single AUDIO.
Install
Same as every node in this pack - ComfyUI Manager (search "Comfyui_Attome_S3"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/attome-ai/Comfyui_Attome_S3
cd Comfyui_Attome_S3
pip install -r requirements.txt
Restart afterward. This node genuinely needs torchaudio, which is in the requirements file - and here's the one real gotcha: torchaudio must match your torch version. If you're on a custom torch build (a new CUDA wheel, say) and installed torchaudio from a mismatched channel, you'll get an import error or a silent "could not load" at decode time. Match them, and it's fine. The other usual suspects apply too: Access Denied means the IAM user lacks s3:GetObject, and MinIO/R2 users need endpoint_url set or boto3 will go looking on AWS. Beyond that it's a quiet, dependable little node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| s3_key | STRING | path/to/audio.wav | — |
| s3_configopt | S3_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |