Load Audio
The classic way to load audio in ComfyTV — straight from the input folder
- audio
ComfyTV has two ways to get audio into a pipeline, and they split exactly along the line of "is this file part of a project?" The Asset loader pulls from your project library; Load Audio is the plain one - it reads files that live in ComfyUI's input folder, same as the standard loaders you already know. You pick an existing file from the dropdown, or upload a new one right from the node. No asset library, no project ceremony, just audio on a wire.
For most people this is the first audio stage they'll actually use. You've got a music track sitting in ComfyUI/input, you drop a Load Audio node, select it, and the COMFYTV_AUDIO output feeds the rest of the audio chain - Dynamics, EQ, Loudness, Echo, Convolve reverb, or an audio-reactive stage that makes your video react to the beat. If you later want the same file managed as a project asset with history, switch to the Asset loader; if you just want a voiceover in the mix, this is plenty.
How it works
There's only one input that matters and it has the author's own description baked in: audio - "Pick an existing input file or upload a new one. The selected audio becomes this stage's output." It's a combo widget with an upload affordance, so the node both lists what's already in input and lets you add to it without leaving the graph. The other two inputs, project_id and parent_output_id, are internal lineage bookkeeping the frontend fills in.
The output is audio, typed COMFYTV_AUDIO. That's the wire every ComfyTV audio effect takes, either directly or by extracting audio from a COMFYTV_VIDEO input. This stage just hands the file reference downstream - decoding happens inside whichever effect you connect next.
Installing ComfyTV
The install is the pack install (~190 stages in one repo):
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV
Then restart the ComfyUI backend fully - a browser refresh isn't enough - and the stages appear under the ComfyTV category. ComfyUI Manager installs it if you search "ComfyTV". The pack declares zero extra Python dependencies; audio decode and filtering run through the PyAV/FFmpeg, numpy, and scipy ComfyUI already bundles, so there's nothing to pip install and no model files to fetch for this stage.
The one install trap worth repeating: on macOS, ComfyUI Desktop, or machines with several ComfyUI installs, the relative cd ComfyUI/custom_nodes can hit the wrong instance - clone "succeeds," nodes never show. Read the running instance's path from its startup log, clone into that instance's custom_nodes by absolute path (quote paths with spaces/parentheses), confirm ComfyTV/__init__.py is at the top level, and do a full restart.
Common issues
- Your file isn't in the dropdown. It needs to be in the
inputfolder of the running instance, and the list is built when the node loads - refresh the backend if you just added it. For files in a ComfyTV project, use the Asset audio loader instead. - The upload button doesn't stick. Uploads go to
ComfyUI/input; if that path is wrong for the running instance, you're in the wrong install (see above). - No audio comes out of effects downstream. Check you wired the
audiooutput into theaudioinput of the next stage, not left it dangling.
It's the boring, reliable entry point. When you want quick and dirty, this is the node; when you want project-managed, the Asset loader's got you.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| audioopt | COMBO | Pick an existing input file or upload a new one. The selected audio becomes this stage's output. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | COMFYTV_AUDIO | — |