Deepfake Detection

Analyze audio, images, and video for synthetic tampering. Submit media for detection and retrieve structured metrics and visualizations.

Request Schema

1interface DetectionRequest {
2 url: string; // publicly accessible media URL
3 callback_url?: string;
4 visualize?: boolean;
5 frame_length?: number;
6 start_region?: number;
7 end_region?: number;
8 max_video_fps?: number;
9 max_video_secs?: number;
10}

Response Shapes

1interface BaseDetectionResult {
2 success: true;
3 item: {
4 uuid: string;
5 created_at: string;
6 updated_at: string;
7 duration: string;
8 media_type: string;
9 url?: string;
10 };
11}
12
13interface AudioDetectionResult extends BaseDetectionResult {
14 item: BaseDetectionResult["item"] & {
15 metrics: {
16 label: string;
17 score: string[];
18 consistency: string;
19 aggregated_score: string;
20 image?: string;
21 };
22 };
23}
24
25interface ImageDetectionResult extends BaseDetectionResult {
26 item: BaseDetectionResult["item"] & {
27 image_metrics: {
28 type: string;
29 label: string;
30 image: string;
31 score: number;
32 children: any[];
33 };
34 };
35}
36
37interface VideoDetectionResult extends BaseDetectionResult {
38 item: BaseDetectionResult["item"] & {
39 metrics: AudioDetectionResult["item"]["metrics"];
40 video_metrics: {
41 label: string;
42 score: number;
43 certainty: number;
44 treeview?: string;
45 children: Array<{
46 type: string;
47 conclusion: string;
48 score: number;
49 certainty: number;
50 "certainty (%)": string;
51 children: Array<{
52 type: string;
53 conclusion: string;
54 score: number;
55 certainty: number;
56 "certainty (%)": string;
57 timestamp: number;
58 children: Array<{
59 type: string;
60 conclusion: string;
61 score: number;
62 certainty: number;
63 "certainty (%)": string;
64 }>;
65 }>;
66 }>;
67 };
68 };
69}

Use the endpoints below to submit jobs and retrieve detection results for each modality.