Iterative Checkpoint Controller
Checkpointing for renders that outlive your patience
- checkpoint_config
Iterative video and image renders in this pack are not quick jobs. A long morph at high step counts can run for hours, and ComfyUI has exactly one attitude toward interruptions: start over. Iterative Checkpoint Controller exists to make that not be the end of the world. It tells the iterative samplers to save their progress every N iterations and, later, to resume from one of those saves instead of from scratch.
How it works
The node doesn't render anything. It produces a CHECKPOINT_CONFIG that the Image Iterative Sampler and Video Iterative Sampler consume. Two modes:
New run. With enable_checkpointing on (the default), it mints a run id from the current timestamp - something like 20260826_031512 - and the sampler starts writing .latent checkpoint files plus preview PNGs into ComfyUI/output/video_checkpoints/ every checkpoint_interval iterations.
Resume. Flip load_checkpoint on and give it the run id (or the filename). The controller finds the matching file, loads the latent tensors and metadata, and hands the sampler a config that says "start from frame N, and here's the latent you left off with." It even validates the checkpoint type so you can't accidentally feed a video checkpoint to the image sampler.
The important inputs:
- enable_checkpointing - master switch. Off means the samplers save nothing (useful for short test renders you don't want littering your output folder).
- checkpoint_interval - save every N iterations. 16 is the default; for a long overnight render, 8 gives you more resume points at the cost of some I/O.
- load_checkpoint - on to resume, off to start fresh.
- checkpoint_run_id - the run id or path of the checkpoint to load. Required the moment
load_checkpointis on.
Output: checkpoint_config, wired into the sampler's optional checkpoint_config input. When you're just previewing the last save, the companion Checkpoint Preview Loader reads the same .latent files.
Installing it
Part of kentskooking-nodes: ComfyUI Manager → search kentskooking-nodes → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Kentskooking/kentskooking-nodes
Restart after. No models, no extra dependencies.
Common issues
- "You enabled load_checkpoint=True but no checkpoint_run_id was provided" - the one error you'll actually hit. It's deliberate: the controller refuses to guess which checkpoint you meant. Fill in the run id.
FileNotFoundErroron resume - the run id doesn't match anything inoutput/video_checkpoints/. The id is the timestamp portion of the filename (video_ckpt_20260826_031512.latent→20260826_031512), so copy it from the file, don't retype it.- Checkpoint files piling up - every run with checkpointing on leaves files behind. The utils delete a checkpoint's files on clean completion in some paths, but don't count on it; prune
output/video_checkpoints/yourself between projects.
The genuinely useful habit: leave enable_checkpointing on even for medium renders. The preview PNGs double as a free progress report - glance at output/video_checkpoints/ and you know exactly where it is without opening the ComfyUI tab.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| enable_checkpointing | BOOLEAN | true | — |
| checkpoint_interval | INT | 161–100 | — |
| load_checkpointopt | BOOLEAN | false | — |
| checkpoint_run_idopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| checkpoint_config | CHECKPOINT_CONFIG | — |