Nodes/ComfyUI Frame Interpolation/Make Interpolation State List
ComfyUI Node Runs on cloud

Make Interpolation State List

Tell VFI which frames to skip

By Fannovel16·Created 3 years ago·Updated 4 months ago· 1,058
Make Interpolation State List
    • INTERPOLATION_STATES
    frame_indices1,2,3
    is_skip_listtrue

    This is the little helper node that lets you tell an interpolator, "don't tween these frames." It doesn't interpolate anything itself. It builds a control object that you plug into the optional_interpolation_states input on any VFI node in the pack - FILM, RIFE, GMFSS, AMT, whichever - so you can carve out frame pairs you want left alone.

    Why would you want that? Interpolation invents a smooth in-between for every gap in your clip. That's exactly wrong at a hard cut. If your sequence splices two shots together, you do not want a ghostly blended frame morphing from the last frame of shot A into the first frame of shot B - you want a clean cut. This node is how you protect those boundaries.

    How it works

    The node takes a list of frame indices and a mode flag, and outputs an INTERPOLATION_STATES object that encodes which gaps the downstream VFI node should process and which it should leave as a straight cut. The VFI node reads that object and skips interpolation at the marked positions, copying frames through instead of synthesizing tweens.

    The inputs that matter

    • frame_indices (STRING, default "1,2,3", multiline) - the comma-separated list of frame indices you're calling out. Type the frame numbers where your cuts or protected boundaries are.
    • is_skip_list (BOOLEAN, default true) - the mode switch, and the part to get right. When it's true, the indices you listed are the ones skipped (not interpolated) - a blocklist. When it's false, it flips to an allowlist: only the listed indices get interpolated and everything else is passed through. Most people leave it as a skip list and name their cut points.

    The single output is INTERPOLATION_STATES. Wire it into the optional_interpolation_states slot on the VFI node doing the actual interpolation.

    How you actually wire it

    Make Interpolation State List → the VFI node's optional_interpolation_states input. That's it. The frames still flow through the VFI node's normal frames input as usual; this side channel just modifies which gaps get tweened. If you never wire it, every VFI node interpolates everything, which is the default and fine for a single continuous shot.

    Installing it

    It's part of the ComfyUI Frame Interpolation pack - you get it automatically when you install the pack for the actual interpolators.

    • ComfyUI Manager - search ComfyUI Frame Interpolation, install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation, then python install.py (Linux, in your ComfyUI venv) or install.bat (Windows). Restart.

    This node loads no model of its own - it's pure bookkeeping, so there's nothing to download for it specifically.

    Common issues

    The classic mistake is getting the is_skip_list logic backwards and either interpolating your cuts anyway (list was empty or in the wrong mode) or accidentally skipping the whole clip (allowlist mode with too few indices). Remember: default true means "these are the frames to leave alone."

    The other gotcha is index counting - figure out whether your indices are lining up with the frame you think they are by testing on a short clip first, since an off-by-one here means you protect the wrong boundary. And because this node just hands off a control object, it can't cause interpolation errors on its own; if the run fails, the problem is in the VFI node it's feeding, not here.

    CategoryComfyUI-Frame-Interpolation/VFI

    Inputs (2)

    NameTypeDefaultDescription
    frame_indicesSTRING1,2,3
    is_skip_listBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    INTERPOLATION_STATESINTERPOLATION_STATES