Nodes/Bjornulf_custom_nodes/๐Ÿ’พ๐Ÿ”Š Save Audio (tmp_api.wav/mp3) โš ๏ธ๐Ÿ’ฃ
ComfyUI Node

๐Ÿ’พ๐Ÿ”Š Save Audio (tmp_api.wav/mp3) โš ๏ธ๐Ÿ’ฃ

A scratch file for passing audio between graphs

By justUmenยทCreated 2 years agoยทUpdated about a year agoยท 545
๐Ÿ’พ๐Ÿ”Š Save Audio (tmp_api.wav/mp3) โš ๏ธ๐Ÿ’ฃ
  • audio
    โ—„audio_pathโ€”โ–บ

    The name has a bomb emoji in it for a reason. This node writes your audio to a fixed, overwritable scratch file - tmp_api.wav or tmp_api.mp3 in the output folder - every single time. It's not a "save my finished song" node; it's a temporary handoff slot. The author uses it under the hood to shuttle audio between separate ComfyUI instances during API-driven workflows: one graph produces raw audio, drops it at the known path, another graph picks it up as processed audio. If that's not what you're doing, you probably want a proper save node instead.

    Think of it as a named pipe on disk. Fixed filename, always clobbered, useful precisely because the location is predictable.

    How it works

    You hand it audio and it writes it to ./output/tmp_api.{wav,mp3}, overwriting whatever was there. The format depends on how you feed it: pass an audio_path (a string path to an existing file) and it writes tmp_api.mp3; pass an audio object (ComfyUI's AUDIO type) and it saves tmp_api.wav - even if the underlying selection was an mp3, an AUDIO-type input always lands as wav. That's a small gotcha worth remembering.

    It's an output/terminal node, so it runs for its side effect (writing the file) and returns nothing.

    The inputs and outputs that matter

    Both inputs are optional; you supply one:

    • audio (AUDIO) - a ComfyUI audio object from a TTS node, a loader, whatever. Saves as tmp_api.wav.
    • audio_path (STRING) - a path to an audio file already on disk. Saves as tmp_api.mp3.

    There are no outputs. The whole point is the file at the fixed path; another node (or another ComfyUI process) reads it from there.

    How to install it

    ComfyUI Manager โ†’ Bjornulf_custom_nodes โ†’ install โ†’ restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/justUmen/Bjornulf_custom_nodes
    pip install -r Bjornulf_custom_nodes/requirements.txt
    

    then restart. The pack lists pydub among its dependencies for audio handling, so make sure the requirements install actually succeeded if audio nodes misbehave.

    Common issues & troubleshooting

    It overwrote my file. Yes - that's the design, and the bomb emoji in the node title is the warning. The path is fixed at tmp_api.wav/.mp3; there's no incrementing counter. Never point this at anything you want to keep. For real saves, use a proper save-audio node with a unique name.

    I passed an mp3 but got a wav. If you fed the AUDIO input (not audio_path), it always saves wav. Use audio_path if you specifically need the mp3 written.

    The other graph can't find the file. This is an inter-instance handoff pattern - both processes have to share the same output folder for it to work. On separate machines or containers with separate storage, the file written by one isn't visible to the other. Make sure they're pointing at the same location.

    Nothing happens. You need one of the two inputs connected, and the graph has to actually run - it's a side-effect node. If both inputs are empty there's nothing to save. Also confirm pydub installed cleanly; audio conversion leans on it.

    CategoryBjornulf

    Inputs (2)

    NameTypeDefaultDescription
    audiooptAUDIOโ€”
    audio_pathoptSTRINGโ€”

    Outputs (0)

    No outputs