Nodes/Boyonodes/Boyo Video Saver
ComfyUI Node

Boyo Video Saver

The no-fuss ffmpeg video saver for your frame batches

By DragonDiffusionbyBoyo·Created 2 years ago·Updated 26 days ago· 16
Boyo Video Saver
  • images
  • audio
  • video_path
folder_namevideo_output
filename_prefixvideo
fps24.0
codeclibx264
qualityhigh

ComfyUI gives you an image batch out of a video sampler and then looks at you expectantly. You still need to turn those frames into a playable MP4, and core ComfyUI doesn't do that for you. Boyo Video Saver is the simplest member of the Boyonodes pack that solves it: frames in, .mp4 on disk, no prompt-pairing ceremony.

It's the plain sibling of Boyo Video Paired Saver. Same guts, one fewer responsibility - and one genuinely useful extra: it hands you back the path to the file it just wrote.

How it works

The mechanism is pure ffmpeg, wrapped. Each frame of your images batch is written to a temp folder as a zero-padded PNG, then ffmpeg is invoked with your fps and codec, forced yuv420p, and even-dimension padding so nothing breaks on strict players. The quality dropdown maps to real encodes - high is CRF 18 / slow, medium is CRF 23 / medium, low is CRF 28 / fast. If you wire an AUDIO tensor into the optional audio input, it gets muxed in as AAC at 192k with -shortest; if the audio has no usable stream, it warns and saves video-only rather than failing.

Filenames auto-increment per folder/prefix as video001.mp4, video002.mp4, and the counter picks up from the highest existing file in that folder, so re-running won't clobber earlier clips. Everything lands under ComfyUI/output/<folder_name>/.

The inputs that matter

  • images - the frame batch. Everything else is polish.
  • folder_name / filename_prefix - where it goes and what it's called. The counter is keyed on both, so changing either starts a new sequence.
  • fps - set this to your model's native frame rate (typically 16–30 for LTX/Wan-class models) or your clips will play at the wrong speed.
  • codec - libx264 for compatibility, libx265 or av1 for smaller files.
  • quality - high/medium/low, trading encode time for size.
  • audio (optional) - from a TTS or audio-loading pipeline, if you want sound in the clip.

The one output is video_path, a STRING with the full path to the file it wrote. Handy if you want to feed the path downstream - say, to a node that uploads or re-encodes it - though for most people the file on disk is the point.

Install

It's in ComfyUI Manager under "Boyonodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/DragonDiffusionbyBoyo/Boyonodes

Restart ComfyUI. No Python extras needed for this node - the pack's heavy requirements.txt exists for its audio/TTS nodes, not this one. The real dependency is ffmpeg on your PATH: ffmpeg -version to check, choco install ffmpeg / brew install ffmpeg / sudo apt-get install ffmpeg to fix.

Where people get burned

The almost universal failure is a missing or unpathed ffmpeg - you'll get an error with ffmpeg's stderr and no file. Check ffmpeg -version in the same shell you launch ComfyUI from, not just anywhere. Two subtleties beyond that: odd-width/height frames are padded for you, so ignore the Video dimensions not divisible by 2 panic; and if you just want the paired .txt prompt archive too, the Paired Saver does that - this node is for when you only need the clip.

CategoryBoyonodes

Inputs (7)

NameTypeDefaultDescription
imagesIMAGE
folder_nameSTRINGvideo_output
filename_prefixSTRINGvideo
fpsFLOAT24.01–60
codecCOMBOlibx2643 options: libx264, libx265, av1
qualityCOMBOhigh3 options: high, medium, low
audiooptAUDIO

Outputs (1)

NameTypeDescription
video_pathSTRING