Audio + visual deepfake detection · runs on your device
Is that video real?
VerifAI looks at the faces and listens to the voice. Drop in a short clip and two neural networks — one for frames, one for audio — decide whether it has been manipulated. Everything runs in your browser: the video never leaves your device.
- 0.996ROC-AUC on FakeAVCeleb
- 4benchmark datasets
- 0 bytesof your video uploaded
- Loading models
- Sampling 5 frames
- Extracting audio → 40 MFCCs
- Xception scoring frames
- ResNet-18 scoring audio
- Late fusion → verdict
First run downloads the models (~32 MB) once — after that they are cached on this device.
Verdict
—
Research prototype — a probability, not proof. Analysis runs locally with WebAssembly; your video is never uploaded or stored.
How it works
Two senses, one verdict
Most deepfake detectors only look. VerifAI also listens — and if a clip has no usable audio it automatically falls back to a vision-only path. The whole pipeline runs inside your browser with ONNX Runtime Web.
Sample
Five evenly spaced frames are pulled from the clip and resized to 224×224. The audio track is resampled to 16 kHz.
Analyse
Xception CNN scores each frame for face-swap and re-enactment artefacts.
40 MFCC coefficients → ResNet-18 scores the voice for synthesis artefacts.
Fuse
A calibrated logistic-regression layer combines both probabilities (late fusion). No audio? The visual score is used on its own.
Decide
The fake-probability is compared with a threshold tuned on validation data for balanced accuracy.
Results
Measured, not promised
Held-out test sets with subject-level splits (no identity overlap between train and test).
| Dataset | Samples | Balanced acc. | ROC-AUC |
|---|---|---|---|
| DeeperForensics-1.0 | 740 | 98.7% | 1.000 |
| FakeAVCeleb v1.2 | 2,115 | 97.8% | 0.991 |
| FaceForensics++ (C23) | 712 | 56.8% | 0.588 |
Known limitations
- Heavily compressed footage (FaceForensics++ C23) remains hard for the visual branch.
- Benchmark-trained detectors generalise poorly to in-the-wild recordings: in a cross-dataset test on authentic user videos, the FF++ baseline flagged most genuine clips as fake. Treat every score as a signal, not a verdict.
- Trained on face-centric talking-head content; screen recordings, animations or clips without faces are out of distribution.
Paper & code
Open for scrutiny
Journal paper · in preparation
VerifAI: A Multimodal Audio-Visual Framework for Deepfake Detection
Giulio Dajani, Razia Sulthana Abdul Kareem
Trained and evaluated on FaceForensics++, Celeb-DF v2, DeeperForensics-1.0 and FakeAVCeleb v1.2. Winner of the Best Undergraduate Project award, University of Greenwich.
@software{dajani2026verifai,
author = {Dajani, Giulio},
title = {{VerifAI}: Multimodal Deepfake Detection Framework},
year = {2026},
url = {https://github.com/giuliolabs/VerifAI},
note = {Live demo: https://vrifai.com}
}
The browser runs int8-compressed ONNX exports of the same checkpoints as the Python API (backend/); scripts/check_onnx_parity.py compares the two.