Comfy-Org/ComfyUI · error · ValueError
Unrecognized frame interpolation model format
Error message
Unrecognized frame interpolation model format
What it means
Frame-interpolation model loader raises this when detect_rife_config cannot recover the RIFE IFNet architecture (head channels, channel widths) from the state dict. Before this, keys are remapped (blockN.* -> blocks.N.*) and teacher/caltime keys are stripped, so failure means the checkpoint matches no known RIFE layout — wrong model file, unsupported variant, or corrupted download.
Source
Thrown at comfy_extras/nodes_frame_interpolation.py:69
model = FILMNet()
model.load_state_dict(sd)
return model
# Try RIFE (needs key remapping for raw checkpoints)
sd = comfy.utils.state_dict_prefix_replace(sd, {"module.": "", "flownet.": ""})
key_map = {}
for k in sd:
for i in range(5):
if k.startswith(f"block{i}."):
key_map[k] = f"blocks.{i}.{k[len(f'block{i}.'):]}"
if key_map:
sd = {key_map.get(k, k): v for k, v in sd.items()}
sd = {k: v for k, v in sd.items() if not k.startswith(("teacher.", "caltime."))}
try:
head_ch, channels = detect_rife_config(sd)
except (KeyError, ValueError):
raise ValueError("Unrecognized frame interpolation model format")
model = IFNet(head_ch=head_ch, channels=channels)
model.load_state_dict(sd)
return model
class FrameInterpolate(io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
node_id="FrameInterpolate",
display_name="Run Frame Interpolation Model",
category="video",
search_aliases=["rife", "film", "frame interpolation", "slow motion", "interpolate frames", "vfi"],
inputs=[
FrameInterpolationModel.Input("interp_model"),
io.Image.Input("images"),
io.Int.Input("multiplier", default=2, min=2, max=16),
],View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Verify you are loading a supported RIFE checkpoint (the model the node documents); re-download if the file is smaller than expected.
- Inspect the state dict keys yourself (torch.load then list(k for k in sd)[:20]) and compare against a known-good RIFE checkpoint.
- If it is a fork with renamed keys, remap the keys to the expected layout before loading, or use a stock RIFE release.
Example fix
# before
model = load_rife('GMFSS_model.pth') # wrong family
# after
model = load_rife('rife-v4.25.pth') # supported RIFE checkpoint Defensive patterns
Strategy: validation
Validate before calling
sd = torch.load(path, map_location='cpu')
probe = [k for k in sd if not k.startswith(('teacher.', 'caltime.'))]
if not any(k.startswith(('blocks.', 'block')) for k in probe):
raise ValueError(f'{path} does not look like a RIFE IFNet checkpoint (first keys: {probe[:5]})') Try / catch
try:
model = load_rife(path)
except ValueError as e:
if 'Unrecognized frame interpolation model format' in str(e):
raise ValueError(f'{path} is not a supported RIFE checkpoint; download a stock RIFE release') from e
raise Prevention
- Download RIFE checkpoints only from the source the node documents; verify file size after download.
- Do not point the loader at other interpolator families (FILM, GMFSS) — it loads RIFE IFNet only.
- For RIFE forks with renamed keys, remap keys to the expected layout before loading.
When it happens
Trigger: Loading a non-RIFE checkpoint (or a RIFE variant whose key layout detect_rife_config doesn't recognize) via the frame-interpolation loader; also truncated/corrupted .pth downloads where the probe keys are missing.
Common situations: Pointing the loader at FILM/GMFSS/other interpolator weights by mistake; community RIFE forks (RIFE v4 HD, realpath variants) with renamed keys; interrupted downloads (KeyError inside detect_rife_config is caught and re-raised as this generic message).
Related errors
- Unsupported RIFE model: expected 5 blocks, found {len(channe
- INVALID_TAG_FILTER
- INVALID_QUERY
- Invalid return type from node: {type(to_return)}
- Node {cls.__name__} is not expandable, but expand included i
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/c1148e9393140242.
Report an issue: GitHub.