log in sign up for free
physics-grounded media verification

know what's real.

Detection for AI-generated video and audio. It shows you why, and tells you when it can't be sure.

sign up for free see how it works
5 free clips  ·  clips scored then deleted  ·  terms apply
video
diffusion & autoregressive generators, face swaps, reenactment
audio
neural text-to-speech, voice clones, synthetic vocals

how it works

three commitments that separate a real verdict from a guess

physics, not vibes

operators measure photon statistics, sensor traces, and optical geometry that generators don't reproduce

shows its uncertainty

every score carries a spread and an abstain band. It tells you when it won't make the call

keeps nothing

clips are scored and deleted on the spot; your media never trains anything

the score you can audit

not one number. The full per-operator breakdown, every time

0.78 ± 0.04 p(ai) likely AI-generated
photon statistics0.81
temporal noise0.88
psf coherence0.69

pricing

video costs 5 tokens · audio costs 1 token · $0.20/token

STARTER
100
tokens
choose
PRO
500
tokens
choose
SCALE
1000
tokens
choose

built for pipelines too

Issue an API key from your dashboard and score clips programmatically. Same verdict, same breakdown.

read the docs
POST /v1/analyze
Authorization: Bearer rr_live_…
file: clip.mp4

{ "p_ai": 0.78,
    "verdict": "ai",
    "per_head_p_ai": {…} }

questions

do you store the files I upload?
No. Uploaded clips are written to a temporary file, scored, and deleted immediately after the verdict returns. We retain only the scan metadata (request id, modality, verdict, timestamp) so you can see your history. Your media is never used for training.
how accurate is it, and when does it abstain?
Every score carries a spread (σ) and an abstain band derived from validation thresholds. If a clip lands inside that band, the detector reports "abstained" instead of forcing a real/AI call. This is a deliberate choice: we'd rather be honestly uncertain than confidently wrong.
can I call it from my own code?
Yes. Sign up, generate an API key from your dashboard, and POST clips to /v1/analyze with a bearer token. The response includes the same per-operator breakdown the dashboard shows. See the docs for full request/response shape.
stop guessing. start verifying.
sign up for free