Detect manipulated videos with 94%+ accuracy using an ensemble of 6 neural network models
Live Demo β’ Features β’ Architecture β’ Installation β’ API Reference
| Feature | Description |
|---|---|
| π― Multi-Model Ensemble | 6 specialized AI models voting on authenticity |
| π₯ Real-Time Analysis | Process videos up to 500MB with live progress |
| π¬ Explainable AI | Grad-CAM visualizations and per-model contributions |
| π Modern UI | Glassmorphism design with light/dark themes |
| π Privacy-First | Videos deleted immediately after analysis |
| β‘ Fast Inference | GPU-accelerated or optimized CPU processing |
Luminark uses an ensemble fusion approach with 6 specialized detection models:
βββββββββββββββββββ
β Input Video β
ββββββββββ¬βββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββ ββββββββββββββββ βββββββββββββ
β VideoMAE β β EfficientNet β β WavLM β
β (Video) β β (Spatial) β β (Audio) β
ββββββ¬ββββββ ββββββββ¬ββββββββ βββββββ¬ββββββ
β β β
ββββββ΄ββββββ ββββββββ΄ββββββββ βββββββ΄ββββββ
β CNN-LSTM β β FFT/DCT β β Lip-Sync β
β(Temporal)β β (Frequency) β β Detector β
ββββββ¬ββββββ ββββββββ¬ββββββββ βββββββ¬ββββββ
β β β
βββββββββββββββββββββΌββββββββββββββββββββ
β
βββββββββΌββββββββ
β Fusion Layer β
β(Weighted Vote)β
βββββββββ¬ββββββββ
β
βββββββββΌββββββββ
β Verdict β
β REAL / FAKE β
βββββββββββββββββ
| Model | Type | Detection Focus |
|---|---|---|
| VideoMAE | Transformer | Spatio-temporal patterns |
| EfficientNet | CNN | Frame-level artifacts |
| CNN-LSTM | Hybrid | Motion inconsistencies |
| FFT/DCT | Frequency | Compression artifacts |
| WavLM | Audio | Voice synthesis traces |
| Lip-Sync | Multimodal | Audio-visual mismatch |
| Light Theme | Dark Theme |
|---|---|
![]() |
![]() |
- Python 3.10+
- Node.js 18+
- Docker (recommended)
# Clone repository
git clone https://github.com/IsVohi/Luminark-DeepFake_Detection.git
cd Luminark-DeepFake_Detection
# Option 1: Docker (Recommended)
docker compose up
# Option 2: Manual Setup
# Backend
pip install -r requirements/base.txt
pip install torch torchvision torchaudio
uvicorn backend.app:app --reload
# Frontend
cd frontend && npm install && npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
| Method | Endpoint | Description |
|---|---|---|
GET |
/health |
Health check |
POST |
/infer |
Analyze video (quick) |
POST |
/explain |
Analyze with XAI details |
curl -X POST http://localhost:8000/infer \
-H "X-API-Key: your_api_key" \
-F "video=@test_video.mp4"{
"verdict": "FAKE",
"confidence": 0.94,
"scores": {
"spatial": 0.89,
"temporal": 0.92,
"frequency": 0.87,
"audio": 0.96
},
"explanation": "High temporal inconsistency detected..."
}luminark/
βββ backend/ # FastAPI server
β βββ app.py # Main application
β βββ sdk/ # Client SDK
βββ core/ # ML pipeline
β βββ models/ # Neural network definitions
β βββ xai/ # Explainability (Grad-CAM)
β βββ infer.py # Inference orchestration
βββ frontend/ # React + Vite
β βββ src/
β β βββ pages/ # Landing, Analyze, Docs
β β βββ components/
β βββ public/
βββ models/ # Trained weights (download separately)
βββ infra/ # Docker, K8s, AWS configs
βββ requirements/ # Python dependencies
| Variable | Description | Default |
|---|---|---|
MODEL_DEVICE |
cpu or cuda |
cpu |
LUMINARK_API_KEYS |
Comma-separated API keys | - |
LOG_LEVEL |
Logging verbosity | INFO |
Tested on DFDC and Celeb-DF v2 datasets:
| Metric | Score |
|---|---|
| Accuracy | 94.2% |
| AUC-ROC | 0.967 |
| F1 Score | 0.938 |
| Inference Time | ~3s/video |
Backend: Python, FastAPI, PyTorch, OpenCV, FFmpeg
Frontend: React 18, Vite, Framer Motion, Lucide Icons
ML Models: VideoMAE, EfficientNet, WavLM, CNN-LSTM
DevOps: Docker, Kubernetes, AWS Lambda
This project is licensed under the MIT License - see the LICENSE file.
Vikas Sharma


