Nodes/NKD Preview Tools/😺NKD Freeze Frames
ComfyUI Node

😺NKD Freeze Frames

Pull the stills out of your render

By Nekodificador·Created 5 months ago·Updated 4 days ago· 41
😺NKD Freeze Frames
  • images
  • images
  • count
  • frame_1
  • frame_2
  • frame_3
  • frame_4
  • frame_5
  • frame_6
  • frame_7
  • frame_8
  • frame_9
  • frame_10
  • frame_11
  • frame_12
  • frame_13
  • frame_14
  • frame_15
  • frame_16
frames

Sixteen sockets, sixteen frames

You rendered a video and you need a handful of stills from it - a contact sheet, a reference for a re-cut, the exact frame that got the lighting right. NKD Freeze Frames, part of Nekodificador's NKD Preview Tools (same author as the NKD VFX and Klein packs), does one job and does it well: pick individual frames out of an image batch and put each on its own socket, previewed right on the node so you can see which is which.

How it works

The images input is an IMAGE batch - in practice, the images output of NKD Timeline. The frames field is a plain string of indices: 0, 12, 47. Any separator works, negatives count from the end of the batch, and repeats are kept, so 0, 0, 47 genuinely gives you three copies. The backend parses that list, pulls the frames with a clean copy (index_select, so nothing downstream can mutate the timeline's own batch by accident), and pops one image out of each of the frame_1 through frame_16 sockets. You also get images - the same frames packed back into one batch - and count, how many frames you asked for.

The killer pairing

Typing indices by hand is fine for a one-off, but the intended workflow is marker-driven. In NKD Timeline you press M on a clip to drop a freeze-frame marker, and the timeline's markers output hands you those indices as a comma-separated string. Wire markers into frames and every marker becomes a still, automatically. Even better: NKD Timeline's clip_markers option emits the first and last frame of every picture clip ahead of your hand-placed markers, so each cut's boundary frames get frozen without you marking anything by hand. That's the whole reason this node lives in a preview pack - scrub, mark, freeze, review the beats as stills.

What to do with them

Each frame_N is a normal IMAGE, so feed one to a save node, VAE-encode it for an img2img pass on that specific frame, or run a face-detail pass on it. The batched images output is there for when you want all of them at once - a grid or a batch save - instead of sixteen loose wires.

Install

Same pack as the rest of NKD Preview Tools - no models, no Python dependencies beyond core:

cd ComfyUI/custom_nodes
git clone https://github.com/Nekodificador/ComfyUI-NKD-Preview-Tools

Or ComfyUI Manager (search "NKD Preview Tools"), restart, and it lives under 😺NKD Nodes/Preview.

The one real limit

Sixteen sockets, sixteen frames, hard. Ask for seventeen and the node raises a clear error telling you to use the images batch output instead, or split the markers across two Freeze Frames nodes. That's the whole failure mode, and it's a friendly one.

Category😺NKD Nodes/Preview

Inputs (2)

NameTypeDefaultDescription
imagesIMAGEThe batch to pick from - normally the 'images' output of NKD Timeline.
framesSTRINGIndices into the batch, any separator. Negatives count from the end. Repeats are kept.

Outputs (18)

NameTypeDescription
imagesIMAGE
countINT
frame_1IMAGE
frame_2IMAGE
frame_3IMAGE
frame_4IMAGE
frame_5IMAGE
frame_6IMAGE
frame_7IMAGE
frame_8IMAGE
frame_9IMAGE
frame_10IMAGE
frame_11IMAGE
frame_12IMAGE
frame_13IMAGE
frame_14IMAGE
frame_15IMAGE
frame_16IMAGE