Nodes/Comfyui_Attome_S3/Attome S3 Save Audio
ComfyUI Node

Attome S3 Save Audio

Ship generated audio to S3 — WAV, MP3, FLAC, or OGG

By attome-ai·Created 9 months ago·Updated 8 months ago· 4
Attome S3 Save Audio
  • audio
  • s3_config
  • s3_uris
s3_keypath/to/output.wav
formatwav
save_metadatatrue

Attome S3 Save Audio takes ComfyUI's standard AUDIO object - the {waveform, sample_rate} dict every audio generation node produces - and uploads it to a bucket as a real audio file. Choose your format, get back an s3:// URI. It's the natural endpoint for TTS workflows, music-generation pipelines, or anything that mints audio and needs it somewhere a web app, a queue worker, or another machine can pick it up.

It belongs to Comfyui_Attome_S3, and mechanically it's the pack's usual pattern: encode locally, upload with boto3, return the paths.

Inputs and outputs

  • audio (required) - the AUDIO from your generation node.
  • s3_key (required) - destination path. Same placeholders as the rest of the pack (%date%, %time%, %random%, %index%), and if you give it voiceover with no extension, the right one gets appended.
  • format - wav, mp3, flac, or ogg, default wav. The extension auto-matches, so s3_key: out.mp3 + format: wav becomes out.wav.
  • save_metadata (optional) - default true.
  • Output: s3_uris - a list of uploaded object paths.

How it works, and the metadata asterisk

The node encodes via torchaudio.save() to a temp file, tags it if you left save_metadata on, and pushes the bytes up with the right content type (audio/mpeg for MP3, audio/wav for WAV, and so on). The metadata part deserves a footnote: MP3 gets ID3 tags, FLAC/OGG get Vorbis comments - but only if mutagen is installed, which is not in the pack's requirements.txt. It's an optional extra:

pip install mutagen

If it's missing, the node just silently skips tagging. You'll never get an error, which is exactly why you might not realize the workflow info isn't in your files. That's mostly fine - audio metadata was always a "nice to have" here - but if you're relying on it to recover workflows, install mutagen or verify your files actually carry the tags.

Install and gotchas

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. This node needs torchaudio (in the requirements) and it needs that torchaudio to match your torch build - a version mismatch shows up as an import error or a decode failure, not a helpful message. On the upload side it's the standard S3 drill: Access Denied means s3:PutObject is missing from the IAM policy, and MinIO/R2/Spaces users have to set endpoint_url in the config node or boto3 hunts on AWS. One format note: MP3 and OGG encoding depends on what backends your torchaudio build ships with - if a format you picked silently fails, fall back to WAV or FLAC, which always work. Batch input is accepted, and each item gets its own numbered file and URI.

The security habits from the rest of this pack apply here too: real keys belong in env.txt, not typed into a node that gets embedded in workflow metadata and uploaded right next to your audio. Set save_metadata: false for anything that leaves your control.

CategoryAttome/S3

Inputs (5)

NameTypeDefaultDescription
audioAUDIO
s3_keySTRINGpath/to/output.wav
s3_configoptS3_CONFIG
formatoptCOMBOwav4 options: wav, mp3, flac, ogg
save_metadataoptBOOLEANtrue

Outputs (1)

NameTypeDescription
s3_urisSTRING