Checkpoint Preview Loader
Reload the render that ComfyUI killed at frame 900
- latent
Iterative video renders are the kind of job you start at bedtime. Six hours in, at frame 900, the power blips and your GPU politely forgets the last three hundred frames it worked on. That's what this node is for: Checkpoint Preview Loader is the reload side of this pack's checkpointing system, and it's the difference between "re-render everything" and "pick up where I died."
Let's be honest about the name first, because it's a lie in a useful direction. It's called "Preview Loader," but it outputs a LATENT, not an image. You feed the .latent checkpoint file that the samplers saved mid-run, and it hands you back the latent tensor so you can decode it with a VAE and actually look at what the render looked like at the last save. If that sounds like a preview, great - but the same latent is also what you need to resume, so the node does double duty.
How it works
The ImageIterativeSampler and VideoIterativeSampler write rolling checkpoints as safetensors files with a .latent extension, plus a preview PNG beside each one. This node takes your checkpoint_path string, resolves it against the default ComfyUI/output/video_checkpoints/ directory, and loads the tensors. It's smart about the filenames: drop the video_ckpt_ or image_ckpt_ prefix and the .latent extension, and it'll still find the file. Under the hood it pulls the latent_tensor key out of the safetensors and wraps it in the LATENT dict ComfyUI's decoder expects.
The one required input is:
- checkpoint_path (STRING) - the run id, a filename, or a path to the
.latentfile.
Output is a single latent. Wire it into a VAE Decode to preview the last saved frame, or into the iterative sampler (with IterativeCheckpointController set to load) to resume the run.
Where it fits
The full loop is: IterativeCheckpointController → sampler (saves checkpoints every N iterations) → this node → VAE Decode → look at your progress. And because the preview PNGs are saved with embedded metadata - the workflow prompt and the checkpoint run id - you can restore the workflow state from the preview image itself, per the pack README.
Installing it
This node ships in kentskooking-nodes, so you install the whole pack once and all its nodes land together. Easiest: ComfyUI Manager → Install Custom Nodes → search kentskooking-nodes → install, restart ComfyUI. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kentskooking/kentskooking-nodes
Restart after cloning. No model downloads - the pack runs on torch, numpy, Pillow and safetensors, all already present in a stock ComfyUI.
Common issues
FileNotFoundErrorlisting bothvideo_ckpt_...latentandimage_ckpt_...latent- that's the node telling you it couldn't find your run id. Check theoutput/video_checkpoints/folder for the actual filename; the run id is the timestamp portion (like20260826_031512).- "checkpoint_path must be a non-empty string" - you gave it an empty path. The run id you pass to the loader must match what the sampler wrote; the
IterativeCheckpointControlleris what remembers it for you. - No preview image? The preview PNGs are only written when a VAE is connected to the sampler. No VAE, no preview - the checkpoint still saves.
The trap most people hit: treat the run id as opaque. Don't guess it, read it off the filename in output/video_checkpoints/.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint_path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |