The video API
that shows its work.
Segment, screen and triage footage against your own categories. Every answer comes back as typed JSON with timecodes and evidence, in seconds, from two cents a minute.
evidence · seen · 0.25–0.50 s
Empty park with trees and benches.
3.6 s
to segment the 24 s demo clip, end to end
$0.02
per minute to screen
$0.10
per minute to segment
0.5 s
timeline resolution on short clips
The 90-second tour
How a video becomes a decision.
Frames go to a vision model in parallel, every label comes back with evidence, and the answers snap into a timeline you can trust. Animated with the real results from the demo clip above.
How it works
Four steps from file to decision.
One asynchronous contract for every operation: create a job, get a typed result. No pipelines to assemble, no prompts to tune.
Send video
Upload a file in resumable chunks, or pass a direct link. Up to 20 minutes and 2 GB.
Ask in your words
Your labels, your categories, your instruction. No fixed taxonomy to learn.
Get typed results
Intervals and outcomes with timecodes, evidence and review flags, as JSON.
Wire it in
Long-poll, or a signed job.succeeded webhook. Results draw straight onto a timeline.
For developers
Ten lines from a file to a timeline.
The SDKs upload in resumable chunks, wait with long-polling, retry safely and raise typed errors that say how to recover. Drawing the result is arithmetic: every interval has a start and an end in seconds.
- Partition covers the whole range: no gaps, no overlaps
- Each result carries its receipt and retention dates
- Same request and key? Same job, one charge
Built to be trusted
Answers you can check, costs you can predict.
The contract was shaped by media teams who have to stand behind every clip they publish.
Partition and extract
Label every moment with one of your states, or return only the moments you ask for. Brief appearances are kept, never smoothed away.
Uncertainty is an answer
When frames don't show enough, you get uncertain intervals flagged for review, not a confident guess.
Evidence on every label
Each definite interval cites what was seen and when, so a producer can check it in seconds.
Spend you can cap
Quote before you run. Set max_charge per request; work stops before exceeding it. Failed jobs are free.
Safe to retry
Idempotency keys return the original job, never a second charge. The SDKs set them for you.
Test mode
s0_test_ keys return labelled fixtures with the real response shapes and are never billed.
Who it's for
Made for teams that live in footage.
Newsrooms, aggregators, archives and rights teams use the same three operations differently.
Find the usable moments in raw footage before the edit starts.
Producers describe what they need in plain words. Extract returns the matching moments with timecodes and a sentence of evidence each, so an editor jumps straight to them instead of scrubbing an hour of rushes.
segments.createAndWait({
input: { url: "https://media.example.com/rushes/cam-b.mp4" },
mode: "extract",
instruction: "Wide shots of the flooded high street with no people in frame",
constraints: { min_seconds: 2, max_segments: 20 },
})Illustrative output
- 00:41.5 – 00:47.0match
Wide view of a flooded street, no people visible
- 03:12.0 – 03:19.5match
Water covers the road between shopfronts
- 07:58.5 – 08:02.0match · review
Partly obscured by a passing van
Examples show the shape of real results; the footage and figures here are illustrative.
Pricing
Pay for minutes, not seats.
Two prices, both per minute of video. Every video bills at least 30 seconds. Credits never expire. Full pricing →
Screen everything cheaply, then segment the clips worth a closer look.
Estimated monthly cost
$50.00
- Screening · 1,000 min × $0.02
- $20.00
- Segmentation · 300 min × $0.10
- $30.00
Pay as you go from prepaid credits. Your first $10 is free. Volume pricing for more than 50,000 minutes a month: talk to us.
Your first hundred minutes are on us.
Sign up, verify your email and get $10 of credit: enough to segment 100 minutes of video. No card required.