Boyo Video Saver
The no-fuss ffmpeg video saver for your frame batches
- images
- audio
- video_path
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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| folder_name | STRING | video_output | — |
| filename_prefix | STRING | video | — |
| fps | FLOAT | 24.01–60 | — |
| codec | COMBO | libx264 | 3 options: libx264, libx265, av1 |
| quality | COMBO | high | 3 options: high, medium, low |
| audioopt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |