Nodes/ComfyUI-BerniniR/BerniniR · Save Video (mp4/webm/gif/webp)
ComfyUI Node

BerniniR · Save Video (mp4/webm/gif/webp)

Write your result as mp4, webm, gif, or webp — one node, four formats

By neuregex·Created 3 months ago·Updated 3 months ago· 24
BerniniR · Save Video (mp4/webm/gif/webp)
  • images
    formatmp4
    fps16
    filename_prefixBerniniR

    BerniniR · Save Video is the output node for this pack: feed it the frames from BerniniR · VAE Decode (or any image batch) and it writes a file to ComfyUI/output in the format you pick - mp4 or webm via PyAV, gif or webp via Pillow. It's the counterpart to the pack's own Load Video node, and it saves you from hunting down a format-specific saver after every render.

    The reason it's worth having as part of the pack rather than a stock saver: it does the decode-to-file correctly for the frames this pipeline produces, handles the even-dimension requirement automatically, and its mp4 default matches what you actually want to post or drop into an editor.

    Inputs

    • images (IMAGE) - the frame batch, typically from BerniniR · VAE Decode.
    • format - mp4 (default), webm, gif, or webp. mp4/webm need PyAV; gif/webp need only Pillow, which ComfyUI ships.
    • fps - default 16, which matches the pack's sampler default and the 81-frames ≈ 5 seconds cadence. Set to your source clip's fps when you're editing to keep motion timing honest.
    • filename_prefix - default BerniniR; files come out like BerniniR_00001_.mp4 in ComfyUI/output.

    How it works

    mp4/webm are encoded with PyAV - it tries libx264 first and falls back to mpeg4 for mp4, libvpx-vp9 then libvpx for webm. Two details handled for you: video codecs require even dimensions (yuv420p), so odd sizes get rounded down, and the output registers with ComfyUI's UI preview (berninir_video) so mp4/webm show up in the browser instead of being a mystery file. gif/webp are written with Pillow's save_all, looping forever - fine for clips, and what you expect from those formats.

    Install & troubleshooting

    Shared pack install: ComfyUI Manager, or clone into custom_nodes + pip install -r requirements.txt.

    • "revisa pip install av" - the node literally tells you: mp4/webm need PyAV.
      pip install av
    • gif/webp work, mp4 fails? Same answer - that's the missing PyAV.
    • Video looks wrong in an editor? Check fps. An 81-frame render at 16 fps is ~5 seconds; saving it at 24 makes it run ~3.4 seconds and can feel wrong for an edit. Match the source.
    • Output files landing where? ComfyUI/output, named with the prefix. If the browser preview isn't showing mp4, that's the front-end needing the pack's web/berninir.js - make sure the whole pack folder is present, not just the Python nodes.

    If all you want is a quick look, a preview node is cheaper than writing a file - but when you're done iterating and want the actual clip, this is the one to reach for.

    CategoryBerniniR

    Inputs (4)

    NameTypeDefaultDescription
    imagesIMAGE
    formatCOMBOmp44 options: mp4, webm, gif, webp
    fpsFLOAT161–120
    filename_prefixSTRINGBerniniR

    Outputs (0)

    No outputs