Save Video Images JNK
Spill a video batch onto disk as numbered PNGs
- images
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."
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| output_dir | STRING | FOLDER_PATH | — |
| batch_name | STRING | IMG | — |
| frame_tot | INT | 80–9999999999 | — |
Outputs (0)
No outputs