External Audio (ComfyUI Deploy)
Load audio into a deployed workflow from a URL or file path
- default_value
- audio
The 🔗ComfyDeploy category is full of "External X" inputs, and this is the audio one. "External Audio" takes an audio file - from a URL or a local path - and loads it into the graph as an AUDIO tensor, so a deployed workflow can consume sound instead of just pixels. If your pipeline does TTS from an uploaded clip, music-conditioned generation, or anything where the API caller supplies the audio, this is the node your input lands on.
The whole point of the External family is that the person calling your deployed API never touches your disk. They send a URL (or the ComfyDeploy backend gives you an uploaded file path), and this node pulls it into the exact format downstream audio nodes expect: a dict with waveform and sample_rate. It's the audio twin of External Image - swap the URL for audio and the pattern is identical.
How it works
The node uses torchaudio to decode the file. If audio_file starts with http:// or https://, it fetches the bytes first, then decodes from memory; otherwise it resolves a local path and loads it directly. Output is a standard ComfyUI AUDIO value - {"waveform": ..., "sample_rate": ...} - which wires into VHS-style audio nodes or whatever audio-conditioning your workflow uses. If loading fails for any reason, it falls back to the optional default_value rather than erroring.
Inputs and output
input_id- defaultinput_audio. The key ComfyDeploy matches API arguments to.audio_file- the local path or URL to load. Empty means "use the default."- Optional:
default_value(AUDIO),display_name,description.
Output: audio (AUDIO).
Installing it
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/BennyKok/comfyui-deploy.git
Restart ComfyUI, or install "ComfyUI Deploy" via ComfyUI Manager. No model downloads, no key.
Where people get burned
Here's the honest catch, and it's a real one: torchaudio is not in the pack's requirements.txt. The pack pulls aiofiles, pydantic, opencv-python, imageio-ffmpeg, brotli, and tabulate - no torchaudio. On a stock ComfyUI install torchaudio is usually present (ComfyUI core depends on it for audio features), but on a trimmed environment this node hits the ImportError path and silently returns default_value. If your audio input does nothing and you see a "torchaudio not installed" message in the console, that's why. Install it:
pip install torchaudio
Second gotcha: because failures fall back to the default, a bad URL doesn't surface as an error - the workflow runs with placeholder audio and the caller gets a result that's subtly wrong. If you're debugging "why did the audio get ignored," check whether the URL actually resolves. The node is lenient by design; that leniency is also its trap.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| input_id | STRING | input_audio | — |
| audio_file | STRING | — | |
| default_valueopt | AUDIO | — | |
| display_nameopt | STRING | — | |
| descriptionopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |