Nodes/CRT-Nodes/Save Video With Path (CRT)
ComfyUI Node

Save Video With Path (CRT)

Save your video where you actually want it, not in the output swamp

By PGCRT·Created 2 years ago·Updated 2 days ago· 132
Save Video With Path (CRT)
  • image
    folder_path/tmp/ComfyUI/output
    subfolder_namevideos
    filenameoutput
    suffix
    fps16
    frames_limit-1
    activatetrue

    ComfyUI's built-in video saver writes into output/ with an auto-generated timestamp name and calls it a day. That's fine for casual runs. Once you're doing batches, iterations, or feeding a pipeline, you want control: an exact folder, an exact filename, a suffix that tells you which variant this is. That's what Save Video With Path is for. It's the save node you reach for when "good enough" stops being good enough.

    How it works

    It takes a batch of IMAGE frames, writes them to a temp directory as PNGs, then shells out to ffmpeg to mux them into an MP4. The encoding settings are sensible defaults: H.264 (libx264), yuv420p pixel format (so the file plays everywhere), and CRF 3, which the node itself labels "lossless" - it's near-lossless at that CRF, definitely overkill for most purposes but nice when the video is the deliverable. It also embeds your ComfyUI prompt and workflow metadata into the file's ffmpeg metadata, which is a genuinely handy detail for tracking what made what.

    A few niceties in there worth knowing: if you leave the filename blank it auto-generates a unique name so a save never silently fails on an empty field, and the activate boolean lets you leave the node in the graph but turned off without deleting it.

    The inputs that matter

    • folder_path - the absolute directory, defaults to ComfyUI's output dir.
    • subfolder_name - appended under that, defaults to videos. Want output/videos/2026-08/? This is where you do it.
    • filename and suffix - the base name plus an optional suffix appended before the extension. output + _v2 becomes output_v2.mp4.
    • fps - playback rate, 16 by default (right for LTX/Wan-style output), up to 120.
    • frames_limit - cap how many frames get written, -1 for all. Handy when a sampler returned more frames than you wanted to keep.
    • activate - the kill switch described above.

    No outputs; it's an output node that just writes the file.

    Installing it

    Standard CRT-Nodes install: ComfyUI Manager, search CRT-Nodes, install, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PGCRT/CRT-Nodes.git
    cd CRT-Nodes
    pip install -r requirements.txt
    

    Where people get burned

    The one real gotcha: the node calls ffmpeg as a plain command, so ffmpeg has to be reachable on your PATH. ComfyUI portable ships ffmpeg inside its Python environment, so it usually just works there; on a bare install, ffmpeg -version at a shell should return something or this node will throw. And because it writes to an absolute path you chose, a typo means the video lands somewhere unexpected - check folder_path the first time and confirm the printed [OK] Video saved successfully to: line actually points where you think.

    CategoryCRT/Save

    Inputs (8)

    NameTypeDefaultDescription
    imageIMAGE
    folder_pathSTRING/tmp/ComfyUI/output
    subfolder_nameSTRINGvideos
    filenameSTRINGoutput
    suffixSTRINGOptional suffix appended to filename.
    fpsINT161–120
    frames_limitINT-1-1–10000
    activateBOOLEANtrue

    Outputs (0)

    No outputs