Tutorial · Python · ~10 min
Create Slow Motion from Normal Video
Slow motion without a high-speed camera: interpolate the frames you didn't capture.
Why this matters
Simply playing 30fps at 25% speed stutters — there are no frames to show. Frame interpolation creates them, so slow motion looks like it was shot that way.
The higher the factor, the more important motion-aware generation becomes; naive blending ghosts fast action.
How it works
Submit with factor=4 and motion=smooth; the API generates the in-between frames, and you play the output at reduced speed.
Submit a job with an input URL (S3, GCS or HTTPS), poll the job URL, and download the rendered output. No GPU, no queues, no ffmpeg builds to babysit.
Code
import requests, time
API = "https://api.mlslabs.io/v1/frame-interpolation/jobs"
headers = {"X-API-Key": "YOUR_API_KEY"}
payload = {"input": "s3://bucket/clip.mp4", "factor": 4, "motion": "smooth"}
resp = requests.post(API, json=payload, headers=headers)
job = resp.json()
while job["status"] not in ("succeeded", "failed"):
time.sleep(3)
job = requests.get(job["url"], headers=headers).json()
print("Output:", job["output_url"])Pro tips
- Shoot at the highest frame rate you have, then interpolate the rest.
- For sports, keep the camera steady — pan blur limits what interpolation can fix.
- Deliver slow-mo as a separate clip; keep the original speed master.
Pricing note
Usage is metered per minute of media processed; the first tier is free each month. Volume discounts kick in automatically.
FAQ
Common questions
How slow can I go?
4–8x looks great; beyond that, motion blur and artifacts accumulate.
Does it work with 60fps sources?
Yes — 60→240fps equivalent is fine for most content.
Will fast motion ghost?
The motion-smooth preset minimizes ghosting; extreme speed differences still test it.
Keep exploring