Documentation / Endpoints
Complete reference for all deepfake detection API endpoints. All requests require an Authorization: Bearer header.
/v1/detect— Single media detectionAnalyze a single image, video, or audio file for deepfake manipulation. Supports direct file upload, base64-encoded data, and URL fetch.
| Parameter | Type | Required | Description |
|---|---|---|---|
| media | file | Yes* | Media file (image, video, or audio) |
| url | string | Yes* | URL of media file to fetch and analyze |
| mode | string | No | standard | frame_analysis | heatmap |
| webhook_url | string | No | URL for async result delivery (video/audio) |
* Either media or url is required.
{
"id": "det_abc123xyz",
"score": 0.97,
"label": "deepfake",
"confidence": "very_high",
"manipulation": "face_swap",
"media_type": "image",
"heatmap_url": "https://deepfakedetectionapi.com/heatmaps/det_abc123xyz.png",
"frames_analyzed": null,
"processing_time_ms": 342,
"created_at": "2026-01-15T10:30:00Z"
}/v1/batch— Batch processingSubmit multiple media files for batch deepfake analysis. Results are delivered via webhook. Requires Pro plan or higher.
| Parameter | Type | Description |
|---|---|---|
| urls | string[] | Array of media URLs to analyze (max 100) |
| webhook_url | string | URL for batch result delivery (required) |
| mode | string | Analysis mode applied to all items |
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_items": 25,
"webhook_url": "https://yourapp.com/webhooks/deepfake",
"estimated_completion_seconds": 120
}/v1/usage— Account usage statsRetrieve your current billing period usage statistics, including scan counts by media type.
{
"plan": "pro",
"period_start": "2026-02-01",
"period_end": "2026-02-28",
"scans_used": 12847,
"scans_limit": 25000,
"scans_by_type": {
"image": 8234,
"video": 3891,
"audio": 722
}
}For async video and audio processing, provide a webhook_url parameter. The API will POST results to your URL when processing is complete.
{
"event": "detection.completed",
"data": {
"id": "det_abc123xyz",
"score": 0.94,
"label": "deepfake",
"manipulation": "lip_sync",
"media_type": "video",
"frames_analyzed": 842,
"processing_time_ms": 15230
}
}| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Invalid parameters or unsupported media format |
| 401 | Unauthorized | Missing or invalid API key |
| 413 | Payload Too Large | File exceeds maximum size (100MB) |
| 429 | Rate Limited | Monthly scan limit exceeded |
| 500 | Server Error | Internal processing error — retry with exponential backoff |