Nodes/kentskooking-nodes/Iterative Checkpoint Controller
ComfyUI Node

Iterative Checkpoint Controller

Checkpointing for renders that outlive your patience

By Kentskooking·Created 10 months ago·Updated 15 days ago· 8
Iterative Checkpoint Controller
    • checkpoint_config
    enable_checkpointingtrue
    checkpoint_interval16
    load_checkpointfalse
    checkpoint_run_id

    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_checkpoint is 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.
    • FileNotFoundError on resume - the run id doesn't match anything in output/video_checkpoints/. The id is the timestamp portion of the filename (video_ckpt_20260826_031512.latent20260826_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.

    Categorykentskooking/checkpointing

    Inputs (4)

    NameTypeDefaultDescription
    enable_checkpointingBOOLEANtrue
    checkpoint_intervalINT161–100
    load_checkpointoptBOOLEANfalse
    checkpoint_run_idoptSTRING

    Outputs (1)

    NameTypeDescription
    checkpoint_configCHECKPOINT_CONFIG