Video Motion
Frame Interpolation API — convert 24fps to 60fps with AI
Bidirectional optical flow synthesizes intermediate frames for fluid motion — for sports replays, game footage and archive refresh.
Before & after
See the difference
24 fps goes in, 60 fps comes out. Watch the ball on the left jitter while the right side stays smooth.
Frames arrive every 41.7 ms — fast motion looks jittery and strobes.
2.5× more frames, synthesized between the originals — motion is silky smooth.
What it does
Frame interpolation generates the frames between two real frames. Our engine uses bidirectional optical flow: it warps both neighboring frames toward the target time, refines occlusions, and renders a new frame with minimal ghosting. Cinematic and high-motion presets keep film feel or maximize smoothness — from a 24/25/30fps source, one job outputs 60 or 120fps.
Full API referenceimport requests
url = "https://api.mlslabs.io/v1/frame-interpolation/jobs"
resp = requests.post(
url,
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"input": "s3://bucket/gameplay-24fps.mp4",
"output": "s3://bucket/gameplay-60fps.mp4",
"target_fps": 60,
"preset": "high_motion",
},
)
job = resp.json()
print(job["job_id"])Key features
Why teams pick this API
Bidirectional optical flow
Warp-and-refine synthesis reduces ghosting and warping around occlusions.
Motion clarity presets
Cinematic and high-motion presets preserve film feel or maximize smoothness.
60/120fps output
Output any frame rate from a 24/25/30fps source, in one job.
Pipeline-ready
Compose with Super Resolution and encoding APIs in a single chain.
Use cases
Built for real workflows
Sports & replays
Convert 24/25fps broadcasts to 60fps for smoother action and replays.
Game footage
Lift 30fps captures to 60fps for streaming and highlight reels.
Mobile & social refresh
Refresh archive content to the frame rates social platforms reward.
Pricing
Credit-based pricing
Every request draws from your credit pool. This API bills 45 credits per second of output video.
| Billing unit | Cost in credits | Notes |
|---|---|---|
| Processing time | 45 credits | Per second of output video |
| Failed jobs | 0 credits | Credits auto-refunded |
| Batch processing | Same rate | One queue, per-file callbacks |
Learn
Guides, tutorials & comparisons
Batch Interpolate a Video Library
Batch interpolate a video library to 60fps: folder-prefix jobs, per-file output, and staged processi...
Read TutorialConvert 24fps to 60fps in Go
Convert 24fps video to 60fps in Go with the mlslabs Frame Interpolation API — RIFE-class quality wit...
Read TutorialConvert 24fps to 60fps in Node.js
Convert 24fps video to 60fps in Node.js with the mlslabs Frame Interpolation API — RIFE-class qualit...
Read TutorialHow to Convert 24fps to 60fps in Python
Convert 24fps to 60fps in Python with the Frame Interpolation API: install the SDK, pick sample foot...
Read TutorialConvert 30fps to 60fps
Convert 30fps footage to 60fps: smooth gaming captures and screen recordings with motion-aware frame...
Read TutorialCreate Slow Motion from Normal Video
Create slow motion from normal-speed video: generate true in-between frames so slow-mo stays smooth ...
ReadFrame Interpolation vs Optical Flow
Optical flow estimates how pixels move between frames; frame interpolation uses that motion to creat...
Read GuideRIFE vs DAIN vs FLAVR: Which Interpolation Model?
RIFE, DAIN and FLAVR compared for video frame interpolation: speed, quality, artifacts, GPU needs, a...
Read GuideThe Soap Opera Effect: Why 60fps Movies Feel "Wrong"
Why does 60fps video look cheap? The soap opera effect explained: TV motion smoothing, the 24fps fil...
Read GuideSource Interpolation vs TV Motion Smoothing
TV motion smoothing gives video the 'soap opera effect'. Source-level frame interpolation is the sam...
ReadFAQ
Common questions
Will there be artifacts on fast motion?
The high-motion preset is specifically tuned for fast action; cinematic preset prioritizes film feel. Sample your content type before committing.
Which source frame rates are supported?
24, 25, 30 and variable frame rates — one job converts to any target.
How does this compare to RIFE-based tools?
We ship a production-hardened variant of the same model family, with occlusion refinement and per-content presets — see the comparison page.
Can I chain it with upscaling?
Yes — Super Resolution + Frame Interpolation + encoding is a documented enhancement chain.
Related APIs