REST API · Voice · Image · Video · 99.9% SLO

The deepfake detection API for voice, image, and video.

Detect AI-generated voice, images, and video with a single API call. POST a file or URL and get back a verdict, confidence score, and the signals that drove it, average response under 2 seconds.

SOC 2 In Progress · 60s file purge · Keys hashed at rest

cURL
JavaScript
Python
Java
Go
# detect an AI-generated voice curl -X POST \ https://app.deepfakedetector.ai/api/v1/detect/voice \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "media_url": "https://example.com/voice.mp3" }'
const res = await fetch( 'https://app.deepfakedetector.ai/api/v1/detect/voice', { method: 'POST', headers: { 'Authorization': 'Bearer sk_live_...', 'Content-Type': 'application/json' }, body: JSON.stringify({ media_url: 'https://example.com/voice.mp3' }) } ); console.log(await res.json());
import requests res = requests.post( "https://app.deepfakedetector.ai/api/v1/detect/voice", headers={ "Authorization": "Bearer sk_live_...", "Content-Type": "application/json", }, json={"media_url": "https://example.com/voice.mp3"}, ) print(res.json())
var url = URI.create( "https://app.deepfakedetector.ai/api/v1/detect/voice"); var req = HttpRequest.newBuilder().uri(url) .header("Authorization", "Bearer sk_live_...") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString( "{\"media_url\": \"https://example.com/voice.mp3\"}")) .build(); var res = HttpClient.newHttpClient() .send(req, HttpResponse.BodyHandlers.ofString());
body := strings.NewReader( `{"media_url": "https://example.com/voice.mp3"}`) req, _ := http.NewRequest("POST", "https://app.deepfakedetector.ai/api/v1/detect/voice", body) req.Header.Set("Authorization", "Bearer sk_live_...") req.Header.Set("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req)
Endpoints

One API for voice, image, and video deepfake detection.

A single base URL and the same auth, response shape, and error semantics across every media type. Detect cloned voices, AI-generated images, face swaps, and lip-sync manipulation with one integration.

POST/api/v1/detect/voice~1.4s
POST/api/v1/detect/image~0.8s
POST/api/v1/detect/video~2.1s
GET/api/v1/jobs/{id}~50ms
Request schema

Send a URL or a file. Get a verdict.

Upload via multipart, or pass us a public/signed URL. We'll fetch, scan, score, and purge, all within 60 seconds of the verdict.

ParameterTypeDescription
media_urlstringHTTPS URL to the file. Either media_url OR multipart upload required.required*
media_typeenumvoice, image, or video. Inferred from MIME if omitted.
callback_urlstringWebhook for async jobs. We POST the verdict here when done.
strict_modebooleanLower confidence threshold. Increases recall, may reduce precision. Default false.
retainbooleanKeep the file for 30 days for audit. Default false (60s purge).
Request body
// POST /api/v1/detect/video { "media_url": "https://example.com/clip.mp4", "strict_mode": false, "callback_url": "https://your-app.com/webhook" }
Response
{ "job_id": "job_8mTk2x", "verdict": "synthetic", "confidence": 0.91, "generator_family": "diffusion", "signals": { "skin_texture": "unnatural", "geometric": "symmetric", "lighting": "consistent" }, "flagged_segments": [ {"start": 2.4, "end": 5.8} ], "latency_ms": 1842 }
SDKs

Official clients in eight languages.

Same call, same shape. Auth, retries, exponential backoff, file streaming, and webhook signature verification handled for you.

JavaScript / TypeScript
Python
Go
Ruby
PHP
Java
.NET
Rust
Reliability

Production-ready by default.

Built on the same infrastructure that handles thousands of detections every month for paying customers, banks, newsrooms, fact-check desks, and KYC teams.

99.9%

Uptime SLO. Multi-region active-active. Status page at status.deepfakedetector.ai.

<2s

Median end-to-end latency for voice and image. Video scales with duration, ~1× realtime.

60s

File purge after verdict by default. SOC 2 In Progress. retain=true for 30-day audit holds.

60–300/m

Rate limits scale by plan, from 60 to 300 requests per minute. Burst allowance for known clients.

FAQ

Deepfake detection API questions.

Everything developers ask before they integrate.

What is a deepfake detection API?

A deepfake detection API lets you programmatically check whether media is AI-generated. Deepfake Detector's API analyzes voice, images, and video and returns a clear verdict with a confidence score, so you can automate media verification inside your own products and workflows.

Can the API detect AI-generated video?

Yes. Deepfake Detector detects face swaps, lip-sync manipulation, and fully AI-generated video, alongside voice and image detection, one AI video detection API with the same integration as every other media type.

What does the API return?

A structured JSON response with a verdict, an AI confidence score, and a request ID for traceability, plus flagged segments for voice and video, and metadata for images.

Which plans include API access?

Starter, Business, and Enterprise plans all include API access. Your monthly detections are shared between the web app and the API, so you can use them wherever your workflow lives.

How is the API secured?

Every request is authenticated with a Bearer API key. Keys are hashed at rest and shown only once at creation, and every call returns a request ID for auditing.

Is this a synthetic media detection API?

Yes. Deepfake Detector works as a synthetic media detection API and media forensics API, one API family for detecting AI-generated content across voice, image, and video.

Detect Deepfakes
Before They Spread.

Free tier includes 50 detections/month in the web app, no card required. API access starts on the Starter plan, with usage shared across the web app and API.