Combine Audio Video
Mux a soundtrack onto your generated clip
- video
- audio
- SCENE_VIDEO
Your video workflow spits out a silent clip. You've got audio from somewhere - a TTS node, a music generator, an uploaded track. This node marries the two into a single file with sound. That's it, and that's genuinely useful, because ComfyUI's core has historically been image-first and getting audio onto a render was more annoying than it should be.
How it fits the chain
CombineAudioVideo is the second half of a two-node pattern in Mixlab. First VideoCombine_Adv encodes your frames into a SCENE_VIDEO. Then this node takes that SCENE_VIDEO plus an AUDIO input and remuxes them together, handing back a new SCENE_VIDEO with the track laid in. So the typical flow is:
frames → VideoCombine_Adv → CombineAudioVideo → (save / preview)
audio ↑
Because it outputs a SCENE_VIDEO again, you can keep it in the Mixlab video world downstream.
The inputs - there are only two
- video - a
SCENE_VIDEO. In practice this comes straight from VideoCombine_Adv. It's not a generic file path; it's the Mixlab video handle, which is why you pair these two nodes rather than trying to feed it an arbitrary MP4. - audio - an
AUDIOobject, ComfyUI's standard audio type. This can come from a Load Audio node, a text-to-speech node (ChatTTS, Fish Speech), a music model, or any node that outputsAUDIO.
Output is a single SCENE_VIDEO - your clip, now with sound. It's an output node, so it also finalizes the file.
Installing it
Grab the pack. ComfyUI Manager: search mixlab, install comfyui-mixlab-nodes, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes
then install requirements (install.bat on Windows portable, or pip install -r requirements.txt) and restart.
Like every video node here, this one leans on ffmpeg - muxing audio into a container is an ffmpeg job. If ffmpeg isn't on your PATH, this node can't do its work. Install it and make sure ffmpeg -version runs from a terminal before you go hunting for bugs in the graph.
Common snags
- Audio and video are different lengths. Muxing doesn't stretch or trim to match - a 3-second clip with a 10-second track gives you one of those durations winning and the other cut off or trailing silence. Get your frame count × frame rate to line up with your audio length before this node, not after.
- No sound in the result. Almost always the
audioinput is empty or the source node produced nothing. Preview the audio on its own first to confirm it exists. - It won't accept your video. The
videoinput wants aSCENE_VIDEOspecifically. Feed it VideoCombine_Adv's output, not a raw image batch or a file loaded some other way. - ffmpeg errors in the console. Missing or broken ffmpeg install. This is the single most common cause of failure for any audio/video node in the pack.
And the standing Mixlab caveat: if the whole editor locks up (can't pan or zoom) right after you place one of these video nodes, that's a known JS conflict in the pack, not something wrong with your audio. Disabling the pack is the crude fix.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video | SCENE_VIDEO | — | |
| audio | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SCENE_VIDEO | SCENE_VIDEO | — |