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 intelligence?: boolean;
11 audio_source_tracing?: boolean;
12 use_reverse_search?: boolean; // image only
13 use_ood_detector?: boolean;
14 zero_retention_mode?: boolean;
15}

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 status: string; // "processing" | "completed" | "failed"
10 url?: string;
11 audio_url?: string; // alias of url
12 filename?: string;
13 zero_retention_mode: boolean;
14 media_redacted: boolean;
15 media_deleted: boolean;
16 file_deleted_at: string | null;
17 visualize?: boolean;
18 audio_source_tracing_enabled?: boolean;
19 use_ood_detector?: boolean;
20 extra_params?: object;
21 error_message?: string;
22 intelligence?: {
23 uuid?: string;
24 description: string | IntelligenceDetails | null;
25 created_at: string;
26 detect_uuid?: string;
27 } | null;
28 audio_source_tracing?: {
29 label: string;
30 error_message: string | null;
31 } | null;
32 };
33}
34
35interface AudioDetectionResult extends BaseDetectionResult {
36 item: BaseDetectionResult["item"] & {
37 metrics: {
38 label: string;
39 score: string[];
40 consistency: string;
41 aggregated_score: string;
42 image?: string;
43 };
44 };
45}
46
47interface ImageDetectionResult extends BaseDetectionResult {
48 item: BaseDetectionResult["item"] & {
49 image_metrics: {
50 type: string;
51 label: string;
52 image: string;
53 score: number;
54 children: any[];
55 ifl?: {
56 score: number;
57 heatmap: string; // URL to heatmap visualization
58 };
59 reverse_image_search_sources?: Array<{ // present when use_reverse_search is enabled
60 url: string;
61 title: string;
62 reason: string;
63 verdict: string; // e.g. "known_fake"
64 similarity: number;
65 }>;
66 };
67 };
68}
69
70interface VideoDetectionResult extends BaseDetectionResult {
71 item: BaseDetectionResult["item"] & {
72 metrics: AudioDetectionResult["item"]["metrics"];
73 video_metrics: {
74 label: string;
75 score: number;
76 certainty: number;
77 treeview?: string;
78 children: Array<{
79 type: string;
80 conclusion: string;
81 score: number;
82 certainty: number;
83 "certainty (%)": string;
84 children: Array<{
85 type: string;
86 conclusion: string;
87 score: number;
88 certainty: number;
89 "certainty (%)": string;
90 timestamp: number;
91 children: Array<{
92 type: string;
93 conclusion: string;
94 score: number;
95 certainty: number;
96 "certainty (%)": string;
97 }>;
98 }>;
99 }>;
100 };
101 };
102}
FieldTypeDescription
pipelinestring | nullDeprecated field that may appear on older image/video detects returned by the API. Ignored for new detections.

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