Nodes/MKRShift_Nodes/Presave Video
ComfyUI Node

Presave Video

Preview video without burying your output folder in mp4s

By criskb·Created 7 months ago·Updated 5 months ago· 0
Presave Video
  • video
    preview_onlytrue
    output_formatauto
    filename_prefixMKR_video
    subfolder
    overwritefalse
    animation_fps24
    webp_quality90
    animation_loop0
    filename_label

    MKRPresaveVideo is the video sibling of MKRPreSave, and it earns its keep the same way: preview_only defaults to true, so it acts like a fast preview instead of a commit. Iterate on the preview, then flip the toggle and let it write the real file. If your video-generation workflow currently ends in a stack of unnamed mp4s cluttering your output folder while you're still tuning the prompt, this is the node that fixes the habit.

    What it's for

    The input socket is the * wildcard type, which means it accepts just about anything video-ish: a file path, a decoded frame tensor from a video loader, or an MKR_VIDEO payload from another MKRShift media node. It figures out what it's looking at, previews it if you only want to look, and - when you uncheck preview_only - writes it to output/<subfolder> in your chosen format.

    It's an output node that always reruns (the float("nan") IS_CHANGED trick), and like MKRPreSave it ships a custom frontend, so the UI you get is the pack's own.

    Inputs that matter

    • video - any file, tensor, or MKR_VIDEO payload.
    • preview_only - True = temp preview, False = commit to disk.
    • output_format - auto, mp4, mov, webm, gif, webp. auto keeps the source container when it can, which is usually what you want.
    • animation_fps (default 24), animation_loop (default 0 = loop forever), webp_quality (90) - output parameters for animated/compressed formats.
    • filename_prefix, subfolder, overwrite, and optional filename_label - standard output plumbing.

    Installing it

    The pack install is the same everywhere:

    cd ComfyUI/custom_nodes
    git clone https://github.com/criskb/MKRShift_Nodes
    

    restart ComfyUI, or use Manager → MKRShift_Nodes. One extra step that actually matters here: the README is explicit that you need ffmpeg on your PATH for the video export and muxing nodes. mp4/mov/webm go through ffmpeg; gif and webp can be written with PIL alone. Install ffmpeg (a package manager install is fine) or you'll find mp4 requests silently downgrading to gif with a warning in the summary.

    Common issues

    Missing ffmpeg is the big one - the node falls back gracefully (it warns and uses gif), but "why is my output a gif" is almost always "ffmpeg isn't installed." The other thing to watch: auto picks the format by what's already there, so if your source is a low-quality gif, your "saved" output inherits that container. And if the input is a bare frame tensor with no fps info, the animation_fps value is what the output gets - set it before you commit, or your looped preview will play at the wrong speed.

    CategoryMKRShift Nodes/Inspect/Preview

    Inputs (10)

    NameTypeDefaultDescription
    video*
    preview_onlyBOOLEANtrue
    output_formatCOMBOauto6 options: auto, mp4, mov, webm, gif, webp
    filename_prefixSTRINGMKR_video
    subfolderSTRING
    overwriteBOOLEANfalse
    animation_fpsINT241–120
    webp_qualityINT901–100
    animation_loopINT00–1000
    filename_labeloptSTRING

    Outputs (0)

    No outputs