The NSFW detection API built for video.
Scan video by URL — no upload, no file-size limit, multi-GB files welcome — for €0.02 a minute. You give us a URL, we give you a verdict. Published accuracy, your content never retained. 1,000 image checks/month free.
# submit a video by URL — no upload, no size limit curl -X POST https://api.safereel.ai/v1/videos \ -H "Authorization: Bearer sr_live_…" \ -H "Content-Type: application/json" \ -d '{"url": "https://your-cdn.com/movie.mp4"}' # → {"id": "vid_…", "status": "queued"} · poll or get a webhook
Official SDKs for Node.js, Python, and Go — image checks, video polling, webhook verification, and retries out of the box.
How it works
- Submit a URL. POST any public http(s) link — your CDN, S3, a direct file. You never upload bytes, so file size doesn't matter.
- We analyze the full video. Frames are sampled across the entire duration — fragmented MP4s and corrupt indexes included — and scored by the production classifier.
- Get the verdict. Poll the job or receive a signed webhook:
cleanornsfw, with frame counts and duration. Free tier covers videos up to 10 minutes; paid tiers up to 4 hours.
Image detection, too
POST raw JPEG, PNG, or WebP bytes (up to 10MB) and get a synchronous verdict in ~150–250ms. Bytes are processed in memory and never stored. Repeat submissions of the same image return instantly from cache — and cached checks are never billed. 1,000 image checks/month free; pay-as-you-go is €0.50 per 1,000 beyond that.
What SafeReel detects — and what it doesn't
- In scope: pornographic content in video and images. Measured behavior for borderline categories is published in the accuracy report.
- Out of scope: non-explicit nudity, swimwear, and medical or artistic contexts.
- Not offered: CSAM detection and age determination. We run hash-matching against known-illegal-content lists and follow an escalation procedure on match — see Trust & privacy.
Who uses it
- UGC and video platforms screening uploads before publication.
- Dating and community apps moderating profile media and chat attachments.
- Marketplaces and storage pipelines scanning CDN-hosted libraries in bulk, straight from the URL.
- Media archives auditing large back-catalogs without re-downloading everything.
Why video?
- They won't take your files. Sightengine caps video at 50–500MB, and Rekognition's published on-demand pricing works out to ~€12 for a 2-hour movie (competitor figures as of mid-2026) — we charge €0.40 (20-minute billing cap, every video).
- Built for the hard cases. Multi-GB files, fragmented MP4s, corrupt indexes — analyzed end to end, not three lucky frames.
- Your content is never retained. Frames are deleted within minutes of the verdict. We keep hashes and verdicts, never your media.
- Private deployment. A dedicated single-tenant environment for teams whose data can't share infrastructure — your region, zero retention, private networking. Operated by us; you never manage a model.
Pricing
| Tier | Price | Included |
|---|---|---|
| Free | €0 | 100 video-min/mo (≤25 videos, ≤10 min each) + 1k images/mo |
| Pay-as-you-go | €0.020 / video-min 20-min cap per video | — + €0.50 / 1k images |
| Starter | €19/mo | 500 video-min + 5k images |
| Basic | €59/mo | 2,500 video-min + 25k images |
| Pro | €149/mo | 10,000 video-min + 100k images |
| Scale | €399/mo | 40,000 video-min + 500k images, overage €0.004/min |
| Private deployment | from €1,500/mo annual | Dedicated single-tenant GPU, your region, zero retention, private networking. Operated by SafeReel — no code, models, or decision logic on your side. |
Long videos don't cost more: every video bills at most 20 minutes, whatever its length. A 90-minute movie costs €0.40 — AWS Rekognition's published on-demand pricing works out to about €9.00 for the same scan (as of mid-2026).
Published accuracy
On 1,089 production videos: 95.5% accuracy, 92.2% recall, 0.41% false positives. On human-reviewed labels: 96.1% recall, 0% false positives (n=139). Methodology, label-quality caveats, and what the numbers don't cover: accuracy report. Numbers worth trusting come with their caveats attached.
FAQ
- Is there a file-size or length limit for videos? No file-size limit — you submit a public URL and we fetch the video, so multi-GB files are fine. Duration is capped at 10 minutes per video on the free tier and 4 hours on paid tiers. Every video bills at most 20 minutes regardless of length.
- What content do you retain? Never your media. Image bytes live only in request memory; video frames are deleted within minutes of the verdict. We retain verdicts, quota counters, and non-reversible content fingerprints (hashes).
- What exactly does the classifier detect? It flags pornographic content. Non-explicit nudity, swimwear, and medical or artistic contexts are out of scope. SafeReel does not offer CSAM detection and makes no age determinations.
- How accurate is it? On 1,089 production videos: 95.5% accuracy, 92.2% recall, 0.41% false positives. On human-reviewed labels: 96.1% recall, 0% false positives (n=139). Methodology and caveats: accuracy report.
Get your API key
Free tier, no card. We email you a key in about a minute — no sign-in required. The dashboard is for managing keys, usage and billing later; sign in there whenever you need it.