Deepfake detection · AI image forensics · Content authenticity

Is this image or video real, or made by AI?

Ten independent forensic analyzers — neural classifiers, face and voice forensics, frequency, compression and diffusion-reconstruction analysis, plus cryptographic Content Credentials (C2PA) verification and invisible-watermark decoding — fused into one calibrated verdict, with every number behind it laid out for you.

Drop a video or image here or click to choose
mp4 · mov · mkv · webm · avi · jpg · png · webp — up to 20 MB · deleted right after analysis
Analyzing on the GPU
Warming up the models…
0s elapsed · typically 5–20s
10independent forensic analyzers
9neural models across image, face and voice
64recognized C2PA signing organizations
349labelled files used to calibrate the fusion
How we analyze
Ten analyzers, ten different ways a fake gives itself away

Each analyzer runs on our own GPU server, looks at a different layer of the file — pixels, faces, voice, frequency, compression, provenance — and reports two numbers: a score (0 = looks real, 1 = looks AI) and a confidence (how much it trusts its own answer for this file). An analyzer with nothing to go on abstains with confidence 0 instead of guessing.

01

Metadata & Provenance

Reads the file's paperwork before looking at a single pixel.

How it works

  • C2PA Content Credentials are verified cryptographically, fully offline, with the c2pa library: signature, certificate chain and manifest integrity.
  • The signer is matched against a local trust list of 64 organizations (Adobe, OpenAI, Google, Microsoft, Leica, Sony, Truepic…). A valid credential that declares AI generation is decisive.
  • EXIF, PNG text chunks, container tags and encoder strings are scanned for generator fingerprints (Stable Diffusion parameters, Midjourney, DALL·E, Sora, Runway, Pika, Kling…).
  • Absence of camera data, missing audio tracks and suspicious encoders nudge the score gently.
Fusion weight hard-flag capable
02

Frame Classifier

Neural networks trained to tell real photographs from generated images.

How it works

  • Up to 32 frames are sampled across the clip (a single frame for stills) and scored by a SwinV2 transformer (haywoodsloan/ai-image-detector-deploy), optionally ensembled with a second CNN detector (umm-maybe/AI-image-detector).
  • Test-time augmentation (flips / crops) averages out single-view noise.
  • Per-frame P[AI] is aggregated (mean, p90, share of frames above 0.7); runs of hot frames become suspicious segments with timestamps.
  • A 6×6 (image) or 4×4 (video) patch grid is re-scored to build the heat map.
  • Confidence is halved below 400 px — resizing destroys the artifacts it looks for.
Fusion weight strongest signal
03

Deepfake Face Analysis

Finds every face, then looks for the seams a face-swap leaves.

How it works

  • YuNet (ONNX) detects faces in each sampled frame; each crop is padded and normalised.
  • A ViT classifier (dima806/deepfake_vs_real_image_detection) scores each face for blending boundaries, waxy skin, mismatched lighting and warped textures.
  • Scores are pooled per frame and across the clip; confidence grows with the number of faces seen.
  • No face → the analyzer abstains (confidence 0) rather than voting.
Fusion weight abstains without faces
04

Spectral & Sensor-Noise Forensics

Listens for the faint electronic hiss a real camera sensor leaves behind.

How it works

  • A 2-D FFT of each frame gives the radial power spectrum; natural photos decay with a slope near −2…−3, generators are often over-smooth (steeper than −3.6).
  • Periodic high-frequency peaks (>6× the local median) are the fingerprint of decoder upsampling grids.
  • Block-wise residual noise is measured for level and uniformity — real sensors are noisy and uneven; synthesis is clean and uniform (heavy compression can mimic this, so weight is moderate).
  • Abstains below 400 px.
Fusion weight 8 frames averaged
05

Error Level Analysis (ELA)

Checks whether every region has lived the same compression life.

How it works

  • The image is re-saved as JPEG and the per-pixel residual against the original is measured in 16×16 blocks.
  • The hotspot ratio (99th-percentile block ÷ median block) is ≈2–4 for natural images; a pasted, inpainted or regenerated region with a different save history pushes it above 8.
  • Still images only — video frames share one codec history, so it abstains on video.
Fusion weight images only
06

Temporal Consistency

Runs the frames like a flip-book and watches for physics that stutters.

How it works

  • Farnebäck dense optical flow between consecutive frames measures motion irregularity — generated video often jitters or morphs where real motion is smooth.
  • Texture flicker (frame-to-frame change in fine detail) catches the shimmer of frame-by-frame synthesis.
  • Reported for transparency; calibration on labelled data assigned it near-zero weight, so it informs the evidence log without moving the verdict.
Fusion weight video only
07

Generalist Detector Panel

A second opinion from detectors trained for breadth, not for one generator.

How it works

  • Community Forensics ViT (buildborderless/CommunityForensics-DeepfakeDet-ViT) was trained on images from thousands of different generators, so it recognises models our primary classifier never saw.
  • A SigLIP AI-vs-human classifier adds 2025-generation coverage (Ateeqq/ai-vs-human-image-detector).
  • Up to 16 frames are scored by both, averaged per frame, then aggregated (trimmed mean + p90).
  • Deliberately kept separate from the primary classifier so calibration can measure how much independent information it really adds.
Fusion weight breadth coverage
08

Synthetic Voice Analysis

Listens to the sound track for text-to-speech and voice cloning.

How it works

  • ffmpeg decodes the first audio stream to 16 kHz mono PCM; the clip is cut into 4-second windows and silent windows are dropped.
  • Two wav2vec2 anti-spoofing classifiers trained on ASVspoof-style data score each window for the spectral and prosodic signature of synthetic speech.
  • Windows are aggregated like frames, so a clip where only part of the voice was cloned still stands out.
  • Catches the growing class of attacks where real footage carries a fabricated voice. Abstains on silent clips and stills.
Fusion weight video with sound
09

Diffusion Reconstruction

Pushes the picture back through Stable Diffusion's own image codec.

How it works

  • Latent-diffusion generators decode their pictures from an autoencoder's latent space — so passing such an image back through that autoencoder reproduces it almost perfectly.
  • We encode and decode through the SD 1.x and SDXL autoencoders and measure the perceptual difference (LPIPS, VGG layer 2), taking the closer of the two.
  • On our benchmark, generated images land near 0.020 and camera photos near 0.031.
  • Training-free (the AEROBLADE method). Soft by design: DALL·E and Midjourney use other decoders.
Fusion weight training-free
10

Invisible Watermark

Reads the hidden mark Stable Diffusion pipelines stamp into every picture.

How it works

  • Stable Diffusion 1.x/2.x embeds the byte string StableDiffusionV1, and diffusers' SDXL pipelines a fixed 48-bit pattern, using an imperceptible DWT-DCT watermark.
  • We decode both layouts and compare bit for bit; a near-exact match is decisive — the odds of a random image matching are about 1 in 10 billion.
  • A match raises a hard flag that overrides every other signal, exactly like a verified AI Content Credential.
  • Absence proves nothing: most generators do not watermark, and resizing or recompression destroys the mark, so the analyzer abstains rather than voting.
Fusion weight hard-flag capable
How we decide
One calibrated probability, four honest verdicts

We do not average opinions. Each analyzer's vote is centred (score − 0.5), scaled by its confidence, multiplied by a weight learned from labelled real and AI files, and passed through a logistic function. The result is a probability you can read literally.

The fusion rule
P(AI) = σ( b + Σi wi · (si − 0.5) · ci )
  • si — analyzer score, 0 (real) … 1 (AI)
  • ci — analyzer confidence; 0 means "abstained", so the term vanishes
  • wi — weight fitted by logistic regression on 349 labelled files
  • Hard flags — a verified AI Content Credential or an explicit generator signature overrides everything: the verdict becomes AI at ≥ 95 %
Calibration: loading…
When one analyzer overrules the average

Averaging is the wrong tool for a localised fake. A swapped face sits in otherwise genuine footage, so the whole-frame classifiers correctly report "real" — they were never looking for a face swap — and, carrying the heaviest weights, they would average the face detector into silence.

  • A confident specialist sets the verdict when it beats the weighted result, instead of being averaged away.
  • How far it may raise it depends on how often it is wrong on real media in our benchmark. The face and voice analyzers are capped just below the AI cut-off: they can say "Likely AI, look here", never "AI" alone.
  • Declaring "AI" outright needs corroboration — the second independent image classifier must agree, or the first must be near-certain.
  • Softer checks never escalate — compression, frequency, reconstruction and temporal analysis only ever act through their fitted weight.
Learned weights
AnalyzerWeight
loading…
Weights apply at full confidence; a low-confidence analyzer contributes proportionally less.
Verdict bands
RealP(AI) below 30 %No meaningful AI indicators.
Likely Real30 % – 50 %Leans genuine; anything mildly suspicious is highlighted.
Likely AI50 % – 80 %Balance of evidence points to AI; not a certainty.
AI≥ 80 % or hard flagStrong, usually multi-signal or signature-backed evidence.
What you get
A plain answer up top, the full forensics underneath

Every report is built in layers, so a first-time visitor and a forensic analyst both find what they need.

A

Verdict & meter

The band, the exact probability, and a Real ↔ AI meter with the band cut-offs marked. Media facts (resolution, codec, duration, analysis time) sit beneath.
B

Heat map & reasons

The frame classifier's patch grid blended with Grad-CAM — where the network actually looked — over the hottest frame. Hotter and redder means more AI-like. Plus the plain-language reasons, ranked by how much they moved the verdict.
C

Signal panel

Every analyzer in one table: score, confidence, learned weight and its signed contribution to the fused logit — with the fusion equation filled in with this file's numbers.
D

Evidence log

Each analyzer's raw findings and statistics (spectral slope, hotspot ratio, per-frame percentiles, models used, hard flags), the per-frame timeline for video, and a copyable JSON report.