Nodes/DARASK Nodes/DARASK RIFE Interpolation
ComfyUI Node

DARASK RIFE Interpolation

Turn 8fps stop-motion into smooth 25fps video

By daraskme·Created 4 months ago·Updated 3 months ago· 1
DARASK RIFE Interpolation
  • images
  • images
source_fps16.0
target_fps25.0
scale1.00
model_nameflownet.pkl
batch_size8
use_fp16true

Low-fps generated video is jerky, and there are two ways to fix it: regenerate at higher FPS (expensive) or interpolate - synthesize the in-between frames from the ones you have. RIFE (Real-Time Intermediate Flow Estimation) is the standard tool for that, and this node wraps it for ComfyUI. Give it a frame sequence at 8 or 16 FPS, tell it the source and target rates, and it returns a sequence with the missing frames filled in. It's the frame-smoothening half of the pack's MMAudio recipe, and it works standalone on anything that produces an IMAGE batch.

How it works

RIFE estimates optical flow between pairs of frames and synthesizes the frames that would sit between them, iterating until the source rate reaches the target. The inputs are:

  • images - your [N, H, W, 3] frame batch (from DARASK Load Video (Upload) or any loader).
  • source_fps (default 16) and target_fps (default 25) - the math driver.
  • scale (default 1.0) - internal processing scale; 0.5 roughly doubles speed at a modest quality cost.
  • model_name - which RIFE model file to use, default flownet.pkl.
  • batch_size (default 8) - frame pairs processed in parallel. Higher is faster, costs VRAM.
  • use_fp16 (default on) - FP16 inference on CUDA, faster and lighter.

Output: images, the interpolated batch - roughly loaded_duration × target_fps frames.

The model file you have to fetch yourself

This is the one DARASK node that doesn't work out of the box. You need the RIFE weights: download RIFEv4.26_0921.zip from hzwer/RIFE on Hugging Face, extract flownet.pkl, and drop it in one of these spots (first found wins):

1. a "rife" folder you configured in extra_model_paths.yaml
2. <ComfyUI>/models/rife/flownet.pkl      ← the recommended one
3. this package's rife_internal/train_log/flownet.pkl

The node's internal RIFE architecture is the MIT-licensed original from hzwer's ECCV2022-RIFE work; only the ComfyUI wrapper is the pack author's own code.

Install and using it

Pack install: Manager → search DARASK → install, restart. It's OpenCV/CUDA-based; the pack pulls what it needs.

The README's recipe: Load Video (Upload) → RIFE Interpolation (16→25) → MMAudioSampler, with loaded_duration from DARASK Video Info feeding the audio duration so sound lines up with the new frame count. Two cautions: keep source_fps consistent with what the loader actually produced after filtering (use Video Info's loaded_fps if you used select_every_nth), and don't set target_fps wildly high - 16→60 is roughly a 4x frame count, and the memory and time blow up accordingly.

CategoryDARASK

Inputs (7)

NameTypeDefaultDescription
imagesIMAGE
source_fpsFLOAT16.01–240Source clip's frame rate.
target_fpsFLOAT25.01–480Desired frame rate after interpolation.
scaleFLOAT1.000.25–4Internal processing scale. <1 is faster but lower quality.
model_nameoptSTRINGflownet.pkl
batch_sizeoptINT81–64Frame-pairs processed in parallel — higher = faster, more VRAM.
use_fp16optBOOLEANtrueUse FP16 on CUDA for faster inference / lower VRAM.

Outputs (1)

NameTypeDescription
imagesIMAGE