Loading...
Loading...
Submit images, video, audio, or text for AI-powered deepfake analysis. DRD uses multi-model consensus to detect face-swaps, voice clones, synthetic media, and AI-generated text with high accuracy.
DRD supports four categories of deepfake detection, each powered by specialized ML models with multi-model consensus verification.
Identifies manipulated facial features in images and video using neural inconsistency analysis.
Analyzes audio for synthetic speech markers, spectral anomalies, and prosody irregularities.
Detects fully generated video content including temporal artifacts and rendering inconsistencies.
Identifies AI-generated text through stylometric analysis, perplexity scoring, and watermark detection.
Model Updates
Detection models are retrained monthly against the latest generative AI techniques. Accuracy rates reflect benchmark performance on our curated test set of 500,000+ samples.
Use the scan endpoint to submit content for deepfake analysis. Supports direct file upload or URL-based submission.
// Multipart form data
{
"file": "<binary>", // Direct file upload
"url": "https://...", // Or URL to content
"type": "image|video|audio|text",
"options": {
"models": ["face_swap", "voice_clone"],
"priority": "high",
"callbackUrl": "https://your-app.com/webhook"
}
}
// Response
{
"scanId": "scan_abc123",
"status": "processing",
"estimatedTime": 12,
"pollUrl": "/api/deepfake/scan/scan_abc123"
}import { DRD } from '@drd/sdk';
import { readFileSync } from 'fs';
const drd = new DRD({ apiKey: process.env.DRD_API_KEY });
// Scan an image file
const result = await drd.deepfake.scan({
file: readFileSync('./suspect-image.jpg'),
type: 'image',
models: ['face_swap'],
});
// Scan from URL
const urlResult = await drd.deepfake.scanUrl({
url: 'https://example.com/video.mp4',
type: 'video',
priority: 'high',
});
// Wait for results
const completed = await drd.deepfake.waitForResult(urlResult.scanId);
console.log(completed.verdict); // 'synthetic' | 'authentic' | 'inconclusive'
console.log(completed.confidence); // 0.94Each scan returns a confidence score between 0.0 (authentic) and 1.0 (synthetic), along with detailed analysis breakdown.
Authentic
Content is almost certainly genuine.
Likely Authentic
Minor anomalies, likely unmanipulated.
Inconclusive
Cannot determine with confidence.
Likely Synthetic
Strong indicators of manipulation.
Synthetic
Content is almost certainly synthetic.
{
"scanId": "scan_abc123",
"status": "completed",
"verdict": "synthetic",
"confidence": 0.94,
"analysis": {
"face_swap": {
"detected": true,
"confidence": 0.96,
"regions": [
{ "x": 120, "y": 80, "w": 200, "h": 250, "label": "manipulated_face" }
]
}
},
"metadata": {
"fileType": "image/jpeg",
"resolution": "1920x1080",
"processingTime": 3.2,
"modelsUsed": ["face_swap_v3", "neural_consistency_v2"]
}
}Register known identities (faces, voice prints) so DRD can proactively detect unauthorized use of your likeness across the web.
Once registered, DRD continuously monitors for unauthorized use of your identity and sends alerts when potential deepfakes are detected.
// Register a face identity
await drd.deepfake.registerIdentity({
type: 'face',
name: 'CEO John Smith',
samples: [
readFileSync('./john-photo-1.jpg'),
readFileSync('./john-photo-2.jpg'),
readFileSync('./john-photo-3.jpg'),
],
alertOnDetection: true,
webhookUrl: 'https://your-app.com/deepfake-alert',
});
// Register a voice print
await drd.deepfake.registerIdentity({
type: 'voice',
name: 'CEO John Smith',
samples: [
readFileSync('./john-voice-sample.wav'),
],
alertOnDetection: true,
});Scan multiple items concurrently using the batch API for high-throughput pipelines.
// Scan multiple items concurrently
const urls = [
'https://cdn.example.com/img/001.jpg',
'https://cdn.example.com/img/002.jpg',
'https://cdn.example.com/img/003.jpg',
];
const results = await drd.deepfake.scanBatch({
items: urls.map((url) => ({
url,
type: 'image' as const,
models: ['face_swap', 'gan_detection'],
})),
concurrency: 3,
});
for (const result of results) {
console.log(`${result.url}: ${result.verdict} (${result.confidence})`);
}Enable continuous monitoring to automatically scan content across configured sources for deepfakes of registered identities.
await drd.deepfake.monitoring.configure({
identityId: 'identity_01HQ3XMN4RPWK...',
sources: [
{ type: 'social_media', platforms: ['twitter', 'youtube', 'tiktok'] },
{ type: 'news', regions: ['us', 'eu', 'apac'] },
{ type: 'custom_feed', urls: ['https://your-cdn.com/uploads/'] },
],
alertThreshold: 0.80,
actions: {
onDetection: 'alert_and_flag',
notifyChannels: ['webhook', 'slack', 'email'],
},
});Privacy Notice
Identity registration requires explicit consent from the individual whose biometrics are being registered. DRD stores biometric data encrypted at rest (AES-256) and processes it in isolated compute environments.