Nodes/Image Processing Suite for ComfyUI/Video + Audio Combiner (V3)
ComfyUI Node

Video + Audio Combiner (V3)

Mix the original audio AND a new track, volumes included

By marcoc2·Created 2 years ago·Updated 5 months ago· 1
Video + Audio Combiner (V3)
  • video
  • audio
  • VIDEO
original_volume1.0
mix_volume1.0
audio_start_seconds0.0
loop_audiofalse

The "Simple" combiner in this pack replaces your video's audio with a new track. Video Audio Combiner (V3) is the one that mixes: it keeps the video's original audio and blends a new track in on top of it, with independent volume control for each. That's the difference that matters - think voiceover over a music bed, or sound effects layered onto your render's existing audio, rather than muting one in favor of the other. The node description is refreshingly plain about it: "Mixes video's original audio with a new audio track. Both volumes are adjustable (0=mute, 1=normal, 2=double)."

It's also the most modern node in this family, built on ComfyUI's newer typed IO - it takes real VIDEO and AUDIO sockets (not file paths) and returns a VIDEO. That means it slots into graphs where your video and audio exist as in-memory objects, straight from a video loader or an audio node, with no file juggling in between.

How it works

Under the hood it's still ffmpeg, but the command is a proper mix rather than a replace. The node saves the incoming video to a temp file, converts the audio tensor to a WAV, then runs ffmpeg with a filter_complex: the new audio gets looped if needed, trimmed to the video's duration, and volume-adjusted; the original audio track gets its own volume stage; then both go into amix - a true audio mixer with the two streams blended. The video track is stream-copied (-c:v copy), so your pixels stay untouched. The mixed result comes back out as a VIDEO type via the new VideoFromFile wrapper.

The inputs that matter

  • video (VIDEO) - input video; its original audio is preserved and mixed.
  • audio (AUDIO) - the track to mix in.
  • original_volume / mix_volume (0–2, default 1) - independent gain per track. 0 mutes, 1 is normal, 2 doubles.
  • audio_start_seconds (default 0) - start position inside the new audio.
  • loop_audio (boolean) - loop the new track if it's shorter than the video.

Single output: VIDEO, the mixed result. No output_path string here - it's a first-class video object you can preview or save with whatever video-output node you normally use.

Install

Manager → search AnotherUtils, or:

cd ComfyUI/custom_nodes
git clone https://github.com/marcoc2/ComfyUI-AnotherUtils.git

Restart. Important caveat: this node is built on the new ComfyUI video API (comfy_api.latest) and only registers when that API is present. If the node simply isn't in your menu, that's why - update ComfyUI itself first. It also wants ffmpeg (VHS's bundled binary if installed, else system ffmpeg) like the rest of the combiner family.

Common issues

The "node doesn't exist" problem is the number-one report, and it's a ComfyUI version issue, not a pack bug - the whole V3 family loads conditionally, and older ComfyUI builds never see it. Audio that ends too early is handled by loop_audio, but if you leave it off, the mix just has silence after the short track ends (duration follows the video's audio). And the volume scale is linear 0–2, not decibels - 2.0 is double, which is louder than it sounds, so nudge volumes in 0.1 steps rather than jumping to extremes.

CategoryAnotherUtils/video

Inputs (6)

NameTypeDefaultDescription
videoVIDEOInput video (original audio will be preserved and mixed)
audioAUDIOAudio to mix with the video's original audio
original_volumeFLOAT1.00–2Volume of the video's original audio (0=mute, 1=normal, 2=double)
mix_volumeFLOAT1.00–2Volume of the mixed audio (0=mute, 1=normal, 2=double)
audio_start_secondsFLOAT0.00–36000Start position in the new audio file (seconds)
loop_audioBOOLEANfalseIf new audio is shorter than video, loop it to fill the duration

Outputs (1)

NameTypeDescription
VIDEOVIDEO