Capability notes
Frame interpolation synthesizes intermediate frames between existing video frames to increase frame rate or create smooth slow motion. Two open-weight architectures dominate: RIFE (Real-time Intermediate Flow Estimation, 2022-2025, megvii-research) and FILM (Frame Interpolation for Large Motion, Google, 2022, ~4.7M params). Both accept two adjacent frames and output 1-N intermediate frames that smoothly transition position, color, and texture.
RIFE v4.18 is the default recommendation for quality + speed. Flow-based architecture (estimates pixel displacement fields, warps/synthesizes intermediate pixels). Key metrics for quality: PSNR 36-40 dB on Vimeo90K (standard interpolation benchmark), SSIM 0.97-0.99 — near-indistinguishable from ground-truth for moderate motion. For large motion (objects traversing >30% of frame width between frames), RIFE degrades: PSNR drops to 28-34 dB with visible warping. FILM handles large motion better (33-37 dB PSNR for >30% displacement) with a multi-scale pyramid approach, but runs 2-4× slower than RIFE.
**Performance**: RIFE on [RTX 4090](/hardware/rtx-4090) generates 1,000+ fps of interpolated output (500+ frame pairs/second) at 1080p. FILM: 200-400 fps. On CPU: RIFE manages 10-30 fps at 1080p, FILM 5-15 fps. This is the fastest AI video operation — orders of magnitude faster than [video generation](/tasks/text-to-video).
**Use cases beyond frame rate conversion**: (1) AI-generated video smoothing — diffuse-synthesized [Wan 2.1](/tasks/text-to-video) clips at 15fps interpolated to 30fps reduce temporal jitter. (2) Slow motion — 30fps source → RIFE 8× interpolation → 240fps slow-motion playback at 30fps display. (3) Stop-motion animation cleanup — physically shot stop-motion (12fps) interpolated to 24fps for smooth cinematic playback. (4) Video restoration — damaged frames reconstructed from adjacent frames via interpolation.
**Fidelity limits**: Interpolation works by estimating optical flow between two frames. If the optical flow is wrong (occlusions, lighting changes, complex motion), the synthesized frame looks plausible but physically incorrect — a running person's leg might appear in an anatomically impossible mid-stride position. These are "plausible lies," not ground-truth temporal reconstruction.
If you just want to try this
Lowest-friction path to a working setup.
Install RIFE via the [ComfyUI](/tools/comfyui) RIFE VFI custom node — the simplest GUI path. No CLI, no Python coding required. Workflow: Video Loader → RIFE VFI (set multiplier: 2× for double frame rate, interpolation factor: 1) → Video Combine. Input a 15fps video, output 30fps — this is the most common use case.
Hardware: RIFE runs on any GPU with 4 GB+ VRAM. [RTX 3060 12GB](/hardware/rtx-3060-12gb) handles 1080p at 200+ fps output speed (a 5-minute 30fps video has 9,000 frames; RIFE interpolates these at ~200fps, taking ~45 seconds). CPU-only is viable for batch processing: modern 8-core CPU handles 1080p at 10-20 fps output (5-minute video in ~7-15 minutes). For one-off use, CPU is adequate.
For standalone CLI use (no ComfyUI): download RIFE from GitHub (megvii-research/ECCV2022-RIFE or hzwer/ECCV2022-RIFE), install via pip: `pip install rife`. Command: `python inference_video.py --input video.mp4 --output out.mp4 --exp 2` (2× frame rate). Simple, fast, reliable.
If you have video with large motion (sports, action, fast pans): switch to FILM. Install via `pip install film-interpolation`. Command: `film-interpolate video.mp4 --times_to_interpolate 1 --output out.mp4`. FILM produces cleaner results on large motion at the cost of 2-4× longer processing time. The tradeoff is simple: RIFE for speed, FILM for large-motion quality.
Common beginner mistake: using the maximum interpolation multiplier (8×, 16×). Beyond 4×, artifacts compound — each interpolated frame is built from already-interpolated frames, and errors multiply. For smooth 240fps slow-mo, shoot at 60fps and 4× interpolate, don't shoot at 30fps and 8× interpolate.
For production deployment
Operator-grade recommendation.
Production frame interpolation is a pipeline component, not a standalone product. It sits between generation and delivery in [video generation pipelines](/tasks/text-to-video), [cinematic generation](/tasks/cinematic-generation), and [animation generation](/tasks/animation-generation).
**Batch interpolation pipeline**: Ingest video directory → per-file RIFE/FILM processing on GPU workers → quality check (inter-frame SSIM >0.85, flag below) → format conversion (MP4 H.265 for delivery) → CDN upload. Architecture: job queue (Redis/Celery) → GPU worker pool (one worker per GPU) → output storage. 4× [RTX 4070 12GB](/hardware/rtx-4070): ~1,500 output fps aggregate — handles 1 hour of 30fps input in ~2 minutes (2× interpolation = 60fps output).
**Quality gates**: (1) Inter-frame PSNR: compare interpolated frame N to average of N-1 and N+1 (should be within 3dB of neighbor average). (2) Motion vector coherence (check that flow fields between consecutive output frames are directionally consistent). (3) Artifact detection: CNN-based blur/ghosting detector flags frames for review (ResNet-18 fine-tuned on interpolation artifacts, ~50ms per frame). Flagged frames: per-frame threshold: if >5% of frames flagged, reprocess with FILM instead of RIFE.
**Large-motion handling**: For sports/action footage where objects move >30% frame width per frame: use FILM as primary interpolator + RIFE as post-smoothing (FILM handles large motion, RIFE handles fine texture). Pipeline: FILM at 2× → RIFE at 2× for 4× total. This combines FILM's large-motion accuracy with RIFE's texture quality. Adds ~30% processing time over FILM alone.
**Real-time interpolation**: For live streaming (30fps input → 60fps display output), RIFE's TensorRT engine achieves sub-frame (16ms at 60fps) latency on [RTX 4070](/hardware/rtx-4070). Implementation: NVIDIA Optical Flow SDK → RIFE TensorRT → V-synced output. Latency: ~12-14ms per frame, within the 16.7ms 60fps budget. Used for game streaming, live sports, and video calls — AI frame doubling without perceptible latency.
**Cost**: At 1,000 hours of video/month, 2× interpolation: 1,000 hours × 3,600s × 30fps = 108M frames. RIFE at 500 fps on [RTX 4090](/hardware/rtx-4090) = ~216,000 GPU-seconds = 60 GPU-hours. At $0.50-2.00/GPU-hour: $30-120/month. API interpolation services charge $0.01-0.05/min of video — $600-3,000/month for the same volume. Self-hosting wins decisively at scale.
What breaks
Failure modes operators see in the wild.
**Occlusion ghosting.** Symptom: a person walks behind a pole, and the interpolated frame shows a translucent ghost of the person overlaid on the pole. Cause: the flow estimator can't resolve occlusions — the pole pixel has two potential sources (pole surface in one frame, person in adjacent frame). Mitigation: use FILM (handles occlusions via multi-scale pyramid), or apply occlusion-aware post-processing (mask occluded regions, interpolate only unoccluded areas).
**Large-motion warp artifacts.** Symptom: a fast-moving hand appears stretched, rubbery, or disconnected from the arm. Cause: optical flow breaks down when pixel displacement exceeds the flow estimator's search radius (typically ~50 pixels). RIFE's flow network searches a smaller radius; FILM's multi-scale approach handles larger motion. Mitigation: detect motion magnitude pre-interpolation — if >30% frame-width displacement, route to FILM.
**Texture repetition ("checkerboard" artifact).** Symptom: repetitive textures (brick walls, fabric patterns, fences) in motion develop a checkerboard/aliasing pattern in interpolated frames. Cause: the flow estimator misaligns repetitive patterns — it matches the wrong brick in frame N+1 to a brick in frame N. Mitigation: pre-blur repetitive texture regions before interpolation, or apply anti-aliasing post-processing. This is a fundamental limitation of flow-based interpolation.
**Boundary extrapolation errors.** Symptom: interpolated frames show smeared/black regions at image edges, especially during camera pans. Cause: panning reveals new content at frame edges not present in either input frame — the interpolator has nothing to synthesize. Mitigation: crop input frames to 95% of width/height before interpolation, or apply content-aware inpainting to edge artifacts post-interpolation.
**Temporal inconsistency (flicker).** Symptom: interpolated frames exhibit brightness flicker or micro-texture jitter. Cause: RIFE generates each interpolated frame independently — no temporal consistency constraint between consecutive interpolated frames. Mitigation: apply temporal filter (3-frame moving average with edge preservation) to interpolated frames, or use FILM's temporal coherence mode (adds ~10% processing time).
Hardware guidance
**CPU-only tier ($0)**: Modern 8+ core CPU (Apple M4, Ryzen 9 7950X, Intel Core Ultra 9). RIFE: 10-30 output fps at 1080p. FILM: 5-15 output fps. A 10-minute 30fps clip (18,000 frames) at 2× interpolation (36,000 output frames): RIFE ~20-60 minutes CPU, ~30-90s on GPU. CPU is viable for occasional single-clip work (<30 min/day) but not batch.
**Entry GPU ($300-600)**: Any GPU with 4 GB+ VRAM. [RTX 3060 12GB](/hardware/rtx-3060-12gb): RIFE at 200-300 output fps at 1080p, FILM at 60-100 fps. [RTX 4060 Ti 16GB](/hardware/rtx-4060-ti-16gb): RIFE at 250-400 fps. [Intel Arc B580](/hardware/intel-arc-b580) via DirectML: 100-200 fps. This tier handles most individual and small-batch interpolation.
**SMB/production ($1,000-2,500)**: [RTX 4070 Ti Super 16GB](/hardware/rtx-4070-ti-super) or [RTX 5070 Ti 16GB](/hardware/rtx-5070-ti). RIFE at 400-600 output fps at 1080p. FILM at 150-250 fps. Supports 4K input at 60-100 output fps with tiled processing. [Apple M3 Ultra](/hardware/apple-m3-ultra) via MLX: RIFE at 100-200 fps, viable for batch on Mac.
**Enterprise/throughput ($1,500-5,000)**: [RTX 4090 24GB](/hardware/rtx-4090) or [RTX 5090 32GB](/hardware/rtx-5090). RIFE at 600-1000+ output fps. FILM at 200-400 fps. For high-volume media processing, 4× [RTX 4070](/hardware/rtx-4070) GPUs provide more aggregate throughput than 1× RTX 4090 for less money — interpolation scales near-linearly with FP16 compute.
**Memory scaling**: RIFE VRAM: ~3-6 GB at 1080p, ~8-14 GB at 4K. FILM VRAM: ~4-8 GB at 1080p, ~12-20 GB at 4K. 4K processing possible on any 12 GB+ GPU using tiled processing (process frame in 2-4 tiles). Tiling adds 15-25% processing time but makes 4K viable on consumer GPUs.
Runtime guidance
**If you need interpolation inside a video generation workflow** → RIFE VFI custom node in [ComfyUI](/tools/comfyui). The standard integration for AI video pipelines — connects directly to Wan/Hunyuan/AnimateDiff output. Supports arbitrary multiplier (2×-8×), handles frame sequences and video files. This is the default choice — it's pre-integrated and battle-tested with AI-generated video.
**If you need standalone batch processing** → RIFE CLI (`pip install rife`) for speed, FILM CLI (`pip install film-interpolation`) for large-motion quality. Both accept video files and output interpolated MP4. RIFE CLI also supports PNG sequences for integration with [Automatic1111](/tools/automatic1111) image generation pipelines. Shell-scriptable: `for f in *.mp4; do python inference_video.py --input "$f" --output "out_$f" --exp 2; done`.
**If you need real-time interpolation** → RIFE TensorRT engine via NVIDIA GPU. Compile RIFE to TensorRT (trtexec) for ~2× speedup + reduced latency variance. Integrate with NVIDIA Optical Flow SDK for hardware-accelerated flow estimation (offloads CPU, reduces end-to-end latency to 10-14ms at 1080p60). The only path to sub-frame real-time interpolation. Implementation: RIFE ONNX → TensorRT optimization → Vulkan/CUDA display pipeline.
**If working with 4K or high-resolution content** → use tiled processing with RIFE or FILM. Both support `--tile_size` parameter (e.g., 512 for 4K → 8 tiles horizontally). Example: `python inference_video.py --input 4k.mp4 --tile 512 512 --output out.mp4`. Tiling trades speed for VRAM — 4K on 8 GB GPU with 512px tiles = ~15-30 output fps (vs 60-100 at 1080p on same GPU).
**Integration with [text-to-video](/tasks/text-to-video) pipelines**: Standard video gen produces 15-16fps output. Post-processing pipeline: (1) Wan/Hunyuan generates 16fps → (2) RIFE 2× → 32fps → (3) Real-ESRGAN upscaling. RIFE is the second step in every production video gen pipeline. In ComfyUI: Wan Video output → RIFE VFI node → Upscale node → Video Combine. Single workflow, no external tools.