ComfyUI Node

audio2video

Audio2video

By ForeignGods·Created 2 years ago·Updated 2 years ago· 248
audio2video
  • frames
  • video_file
audio_file
filename_prefixvideo_files\video
fps30

audio2video stitches a batch of image frames together with an audio track and writes out a finished video. It's the older name for what Mana Nodes now calls Combine Video, and like its sibling video2audio, the name is a bit of a tease - it's really "frames + audio → video," not "audio → video." It's the last stop in the pipeline, the node that turns a pile of rendered frames into something you can actually play.

Why you'd reach for it

The rest of the pack produces frames. Frames need encoding to become a video, and if you've been captioning a clip, you also need to re-attach the original sound. audio2video does both: it muxes your frame batch and an audio file into one output. That's the closing move in the "split a video, caption it, put it back together" workflow this pack is built around.

The inputs that matter

Note that here the audio is required, unlike in the newer Combine Video where it's optional:

  • frames - the IMAGE batch to encode, typically from a font2img / Text to Image Generator node.
  • audio_file - required. Path or URL to the audio track to mux in. In a caption graph this is the audio a video2audio / Split Video node extracted from the source, so the finished clip keeps its sound.
  • fps - default 30. Output frame rate; set it to the fps you split the source at so timing holds.
  • filename_prefix - output path relative to ComfyUI/output (default video_files\video).

The output is video_file, a string path to the encoded file, and it's an output node so the result shows up in the UI on run.

Installing it

Comes with Mana Nodes. ComfyUI Manager → search Mana Nodes → install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/ForeignGods/ComfyUI-Mana-Nodes.git

Install requirements and restart. Encoding uses FFmpeg under the hood, so it has to be installed and on the path - most "no file was produced" failures come down to FFmpeg not being available.

Common issues

Naming first: a current install likely shows Combine Video instead of audio2video. Same job, newer label; rewire old workflows accordingly. Also remember the contract difference - this legacy node requires an audio_file, so if you want a silent output you'll want the newer Combine Video (where audio is optional) rather than fighting this one.

Beyond that, the timing gotchas are the same as any combiner. Keep fps equal to the rate you split the source at, or the video plays too fast or slow and your captions drift. And make sure the frame count covers the same duration as the audio at that fps, or the picture and sound won't end together. The clean approach is to carry the split node's fps output straight through to this node so the numbers can't disagree.

CategoryMana Nodes

Inputs (4)

NameTypeDefaultDescription
audio_fileSTRING
framesIMAGE
filename_prefixSTRINGvideo_files\video
fpsINT301–60

Outputs (1)

NameTypeDescription
video_fileSTRING