ComfyUI Node

Save Audio As Wav

The plainest way to get audio out of ComfyUI as a .wav

By jax-explorer·Created 2 years ago·Updated about a year ago· 1
Save Audio As Wav
  • audio
    filename_prefixaudio/ComfyUI

    If you've got an AUDIO output sitting at the end of your graph - from a TTS node, a music model, whatever generated it - and you just want it on disk as a .wav, this is the node. No format picker, no bitrate menu, no fuss. It's the terminal node of an audio workflow: nothing plugs into its output because it doesn't have one, it just writes the file and stops.

    What it is and why it's here

    SaveAudioAsWav ships inside comfyui-model-dynamic-loader, a pack from jax-explorer that's mostly built around a completely different idea - pulling checkpoints and LoRAs from CivitAI, HuggingFace and a cloud service called ComfyOnline at run time instead of requiring you to have them downloaded already (see the other articles in this set if that's what brought you here). This node is the odd one out: a small, self-contained audio saver that doesn't touch any of that machinery. It's the kind of utility a pack author adds because they needed it for their own audio-adjacent workflow and it was easier to bundle than split into a separate repo.

    Functionally it's a close cousin of ComfyUI's own core "Save Audio" node - same idea, WAV specifically. If your workflow already uses the core save node, you don't need this one; if you landed on this page from a search, it's because you're looking at someone's custom_nodes folder and wondering what it does.

    The inputs that matter

    There are exactly two, both required:

    • audio (AUDIO) - the waveform. Anything upstream that outputs AUDIO connects here: a text-to-speech node, an audio-generation model, an audio-processing chain. If nothing's plugged in, ComfyUI will refuse to run the graph rather than silently skip the save - that's the validation catching you, not a bug in this node.
    • filename_prefix (STRING, default audio/ComfyUI) - where the file goes and what it's called, relative to your output directory. The default drops it in an audio/ subfolder with the usual ComfyUI auto-numbering behavior (ComfyUI_00001_.wav, ComfyUI_00002_.wav, and so on) so repeated runs don't clobber each other. Change the prefix if you want your own subfolder or naming scheme - it works the same way as the prefix field on the image save nodes you're probably already used to.

    No outputs. is_output_node is true, meaning this is one of the nodes ComfyUI treats as an execution endpoint - the graph runs to it, not through it.

    How to install it

    Two ways, same as any custom node:

    • ComfyUI Manager - open the manager, search "comfyui-model-dynamic-loader," install, restart.
    • Manual -
      cd ComfyUI/custom_nodes
      git clone https://github.com/jax-explorer/comfyui-model-dynamic-loader
      
      then restart ComfyUI.

    The pack's README doesn't list any Python dependencies or model downloads, and this node in particular doesn't need any - it's pure file I/O, no models involved. If installing pulls in extra packages, that's for the CivitAI/HuggingFace/ComfyOnline loader nodes elsewhere in the pack, not this one.

    Common issues & troubleshooting

    "Required input is missing" on audio. The usual cause is wiring the wrong output type into it - some nodes output a raw waveform tensor or a different custom type rather than ComfyUI's AUDIO type, and the socket colors won't match if that's what's happening. Check what type your upstream node actually emits.

    Files stacking up under one prefix. That's the auto-increment doing its job, not a leak - every run gets its own numbered file rather than overwriting the last one. If you want a clean folder per session, give each run a distinct filename_prefix (a date, a run id, whatever) instead of leaving the default.

    Nothing else to report. This is about as low-drama as a ComfyUI node gets - it takes audio, it writes a wav file. If your run fails, the problem is almost certainly upstream of this node, in whatever's generating the AUDIO output in the first place.

    Categoryaudio

    Inputs (2)

    NameTypeDefaultDescription
    audioAUDIO
    filename_prefixSTRINGaudio/ComfyUI

    Outputs (0)

    No outputs