Nodes/Boyonodes/Boyo Video Paired Saver
ComfyUI Node

Boyo Video Paired Saver

Save your video and the prompt that made it, as one unit

By DragonDiffusionbyBoyo·Created 2 years ago·Updated 27 days ago· 16
Boyo Video Paired Saver
  • images
  • audio
    enhanced_prompt
    folder_namevideo_batch_output
    filename_prefixvideo_gen
    fps24.0
    codeclibx264
    qualityhigh

    If you're building a video-text training set - or you're just sick of digging through workflow JSONs months later to figure out which prompt made which clip - this is the output node for you. Boyo Video Paired Saver renders your frame batch to an MP4 with ffmpeg and drops a .txt containing the prompt right beside it, with matching filenames. One render, one text file, zero archaeology.

    Here's the thing about ComfyUI video: the samplers hand you an image batch, not a movie. Core ComfyUI has no built-in MP4 writer, so the community relies on nodes like this that shell out to ffmpeg. Boyonodes is a grab-bag pack by DragonDiffusionbyBoyo, and this is the "paired" half of its video saver pair - the sibling, Boyo Video Saver, is the same thing without the prompt file.

    How it works

    Under the hood it's straightforward: it writes every frame of your images batch to a temp folder as PNGs, then calls ffmpeg with your fps and codec. The quality dropdown maps to real encode settings - high is CRF 18 with the slow preset, medium is CRF 23 medium, low is CRF 28 fast - and it pads to even dimensions and forces yuv420p so the result plays everywhere. If you wire in an audio input, it muxes it as AAC at 192k and uses -shortest so the clip ends when the shorter of audio or video runs out.

    It also keeps a per-folder counter: files come out as video_gen001.mp4 / video_gen001.txt, video_gen002.*, and so on, picking up where the folder left off between runs. Output lands in ComfyUI/output/<folder_name>/, not the root output directory.

    The inputs that matter

    You don't set most of these every run, honestly. The ones you touch:

    • images - your decoded frame batch. Wire this from whatever's at the end of your video pipeline.
    • enhanced_prompt - this one's force-input, so it can't be typed in; run a wire from a text node. It's written verbatim to the .txt.
    • folder_name and filename_prefix - decide where and what it's called. Change either to start a fresh sequence.
    • fps, codec, quality - self-explanatory. libx264 for max compatibility, libx265/av1 for smaller files that some players choke on.
    • audio (optional) - an AUDIO tensor from an audio pipeline (TTS, or VHS Load Audio). If it turns out to have no audio stream, it quietly saves video-only and warns in the console.

    There are no outputs - it's an output node; its job is the files on disk.

    Install

    The pack is on ComfyUI Manager (search "Boyonodes"), or clone it by hand:

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

    Restart ComfyUI. This node needs no extra Python dependencies beyond what ships - the pack's heavy requirements.txt is for the audio/TTS side. What it does need is ffmpeg on your PATH (ffmpeg -version in a terminal to check; choco install ffmpeg on Windows, brew install ffmpeg on macOS, sudo apt-get install ffmpeg on Linux).

    Where people get burned

    Missing ffmpeg is the classic one - the node throws a Failed to create video error with ffmpeg's stderr and no output file. Also remember the counter: if you've run a folder before, numbering continues from the highest existing file, so deleting a few clips won't reset it. And if your frame dimensions are odd, don't panic - the even-padding is automatic. If you only need the video and not the prompt pair, grab Boyo Video Saver instead and save yourself a forced input.

    CategoryBoyonodes

    Inputs (8)

    NameTypeDefaultDescription
    imagesIMAGE
    enhanced_promptSTRING
    folder_nameSTRINGvideo_batch_output
    filename_prefixSTRINGvideo_gen
    fpsFLOAT24.01–60
    codecCOMBOlibx2643 options: libx264, libx265, av1
    qualityCOMBOhigh3 options: high, medium, low
    audiooptAUDIO

    Outputs (0)

    No outputs