Nodes/ComfyUI-JNK-Tiny-Nodes/Save Video Images JNK
ComfyUI Node

Save Video Images JNK

Spill a video batch onto disk as numbered PNGs

By Aljnk·Created about a year ago·Updated 12 months ago· 3
Save Video Images JNK
  • images
    output_dirFOLDER_PATH
    batch_nameIMG
    frame_tot8

    A generated video is, under the hood, just a big batch of image tensors - and sometimes you want those frames loose on disk so you can edit a few, upscale a pass, or feed them to something that isn't ComfyUI. "Save Video Images JNK" is the batch version of the pack's Save Frame: it writes every frame of an image batch to a folder as individually numbered PNGs. The pack's own README spells out the intended loop: decompose video into images, modify some frames, then reassemble into video.

    How it works is refreshingly blunt. You hand it the images batch, an output_dir, a batch_name prefix, and frame_tot - the number of frames you want out. It loops over images[:frame_tot] and writes IMG_0000001.png, IMG_0000002.png, and so on, zero-padded to seven digits. The iteration starts at 1, not 0, so frame numbering reads naturally for humans. It logs a ---JNK---> SaveVideoImages_JNK line to the console when it's done, telling you how many it saved and where.

    The detail that makes this node actually safe for re-runs: it checks os.path.exists before every save and skips frames that already have a file. That's baked in - no toggle, it's just the behavior. Re-run the same graph after editing frames 4–6 and frames 1–3 and 7–8 stay untouched. That's exactly the "modify some frames, reassemble" workflow, and it means you can render, edit, re-render, and never lose work. The flip side: if you want to overwrite every frame, you can't - you'll need to clear the folder or change the batch_name.

    Three inputs, all of which you'll set:

    • output_dir - full path to the folder. It's created on the fly, and the default literally says FOLDER_PATH - replace it or your frames land in a directory named "FOLDER_PATH".
    • frame_tot - how many frames to save. Cap it to a sane number; saving a 120-frame batch is a lot of PNGs.
    • batch_name - filename prefix, default "IMG".

    No outputs. It's a pure sink: wire the images in, get files out.

    Install: ComfyUI Manager → search "JNK" → Install, then restart. Or:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes.git
    

    Then restart. No extra Python dependencies for this node beyond what ComfyUI ships.

    Gotchas: it's PNG-only and lossless - if you want WebP or JPEG to save disk, this isn't the node. The frame_tot input is a hard cap, not a target; if your batch has only 20 frames and you ask for 50, you get 20. And the "skip existing" behavior is the one thing people both love and curse: it will never overwrite, which is great until you change a frame and re-run expecting it to update - it won't. Change the batch_name or clear the folder if you need a fresh pass. For a frame-sequence workflow it's the missing piece between "video generated" and "frames I can actually open in an editor."

    Categoryimage

    Inputs (4)

    NameTypeDefaultDescription
    imagesIMAGE
    output_dirSTRINGFOLDER_PATH
    batch_nameSTRINGIMG
    frame_totINT80–9999999999

    Outputs (0)

    No outputs