MediaUtilities_SaveAudio
Get your ComfyUI audio out of the graph and onto disk
- audio
MediaUtilities_SaveAudio is the node you reach for when you finally want the audio file that's currently just a AUDIO wire floating around your graph. It takes any ComfyUI AUDIO data, optionally reshapes it, and writes a real file to your ComfyUI/output directory in the format you pick. Think of it as the audio twin of the built-in Save Image node - and just as dull, which is a compliment.
Why you'd reach for it
Everything in this pack eventually wants to produce a file. Load Audio From URL gets you an in-memory audio clip; this node is what turns it into an .mp3 you can drag into a video editor, a podcast project, or a dataset. It's also a handy format converter: pull in whatever you loaded and re-encode it to wav, flac, ogg, or mp3 in one step, at whatever sample rate you need. If you're building a workflow that fetches an audio URL and archives it, Load Audio From URL → Save Audio is a two-node pipeline that just works.
How it works
The node takes the AUDIO dict, does a few housekeeping steps, and hands it to torchaudio.save. Three settings do the actual work:
format-mp3,wav,flac, orogg. Defaults tomp3.sample_rate- the output rate in Hz, from 8,000 up to 192,000, defaulting to 44,100. If it differs from the source's rate, the node resamples.normalize-True(default) scales the loudest peak to 90% so you're not clipping;Falsewrites it as-is.
The fourth input, filename_prefix, defaults to audio/media_url_loader, which means files land in ComfyUI/output/audio/ with an auto-incremented counter - same convention as ComfyUI's image saver. Nice touch: when you save FLAC, the node embeds your workflow prompt as a Vorbis comment in the file metadata, so the audio keeps a paper trail the way PNG workflows do. (FLAC only, sadly - mp3/wav/ogg don't get the metadata treatment.)
The node has no outputs. It's a terminal: it returns a small player in the UI so you can confirm what you saved, and that's the end of its branch.
Where the settings bite
The two you'll actually tune are format and sample_rate. If you're archiving, flac is lossless and carries the metadata. If you're sending something to a chat app or a video tool, mp3 at 44,100 is the safe default. Watch sample_rate when you're feeding downstream audio tools - resampling from 44.1k to 48k for video is a constant real-world annoyance, and this node makes it a one-field fix.
Install and dependencies
This is part of the ComfyUI-MediaUtilities pack, installable through ComfyUI Manager (search the pack title) or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ThanaritKanjanametawatAU/ComfyUI-MediaURLLoader
cd ComfyUI-MediaURLLoader
pip install -r requirements.txt
Restart after installing. No model files - the only real dependency beyond ComfyUI's stock stack is torchaudio, which most ComfyUI installs already have.
Troubleshooting
The failure mode to know about is the silent one. The whole save routine sits in a try/except, so if encoding fails you get an empty result and a Error saving audio: line in the console - the node won't scream at you. The classic trigger is mp3: torchaudio's MP3 encoding depends on its backend having an encoder compiled in, and some installs don't. If mp3 saves come back empty but wav works, that's your answer: fall back to wav/flac, or convert outside ComfyUI.
Two more gotchas worth remembering. First, this pack's README is stale - its manual clone URL is a placeholder (.../your-username/ComfyUI-MediaUtilities.git), so use the real one above. Second, the pack is a small single-author project (v1.1.1, mid-2025). For a save node that's fine; the bar for "good enough" is low, and it clears it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| filename_prefix | STRING | audio/media_url_loader | — |
| format | COMBO | mp3 | 4 options: mp3, wav, flac, ogg |
| sample_rate | INT | 441008000–192000 | — |
| normalize | COMBO | True | 2 options: True, False |
Outputs (0)
No outputs