Video Audio Fuse
Bolt up to three audio streams onto your video in one node
- image
- audio1
- audio2
- audio3
- image
- audio
The classic video-generation workflow ends in a mess of loose wires: your LTX clip comes out as an image batch, your dialogue is one audio stream, your music bed is another, and ComfyUI core gives you no tidy way to mash them into one AUDIO you can hand to a save node. TKVideoAudioFuse is that tidy way - one node that takes a video (as an IMAGE batch) and up to three audio streams, mixes them together, and passes the whole package out as matched image + audio.
"Fuse/Overlay up to 3 audio streams and 1 video together," says the description, and that's exactly it. It's the pack's audio-merging utility pointed at video workflows, and it's the natural final step before you save or preview a finished clip.
How it works
Under the hood it's a mixer, not a fancy one. Each stream gets its volume adjusted, then the streams are combined by resampling them to a common sample rate, converting to mono, zero-padding the shorter one, and averaging the waveforms. audio1 is the anchor - it sets the master sample rate, so if your streams disagree about sample rates the node normalizes everything to audio1's.
The important subtlety: this is averaging, not summing with gain. That means the volume controls are relative, not absolute. Two streams both at 0 will come out quieter than either alone, because each gets halved in the mix. If you want voice-over to sit on top of music, nudge the music's audioN_volume down - the range is -10 to +10 with 0 being "normal," so a -3 on the bed and 0 on the voice gets you a readable result.
The inputs that matter
image is the video part - your decoded image batch, passed through untouched. audio1 is required and is the primary stream; audio2 and audio3 are optional and can be left unwired. Each stream has its own audioN_volume knob, and that's basically the entire interface. You don't set durations, you don't set sample rates, you don't set offsets - the streams get aligned by length automatically (shorter ones padded with silence).
Outputs
Two: the image batch unchanged and a single fused audio. Wire both into a save node or a video combine node and you're done. If you need stereo or true multi-channel output, this isn't the node - the mono mix is a real limitation, but for dialogue-plus-bed on a social clip it's perfectly fine.
Install
Standard TKNodes install: ComfyUI Manager, search "Handy Nodes", install, restart.
cd ComfyUI/custom_nodes
git clone https://github.com/trashkollector/TKNodes
Restart after cloning. This node pulls in the pack's audio stack - torchaudio and pydub among the dependencies - and FFmpeg needs to be on your system PATH for anything that processes audio files. No model downloads, though; this is pure signal math. Where people get tripped up: feeding streams that were already chopped to different lengths and expecting the fuse to magically time-align the content. It aligns the lengths. If the actual speech is offset relative to the video, trim or shift it upstream first.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | the video part - so it can be merged with up to 3 audio streams | |
| audio1 | AUDIO | 1st Audio Stream - will be fused/merged with video, the images | |
| audio1_volume | INT | 0-10–10 | Enter volume -10 lowest, 0 = normal, 10 = loudest |
| audio2opt | AUDIO | 2nd Audio Stream - will be fused/merged with video and all audio tracks | |
| audio2_volumeopt | INT | 0-10–10 | Enter volume -10 lowest, 0 = normal, 10 = loudest |
| audio3opt | AUDIO | 2nd Audio Stream - will be fused/merged with video and all audio tracks | |
| audio3_volumeopt | INT | 0-10–10 | Enter volume -10 lowest, 0 = normal, 10 = loudest |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| audio | AUDIO | — |