Skip to content

Repository files navigation


Status Node PyTorch FastAPI React Docker License


See it. Scan it. Know it. Upload any image or video — get a verdict in seconds. Powered by Xception deep learning + EXIF metadata forensics.


Department of Computer Science & Engineering · Section 2FH · Academic Project


✦ At a Glance

🧠 Deep Learning 🔎 Metadata Forensics 2s Latency
Xception backbone + PyTorch EXIF camera, GPS, AI-software flags End-to-end under 3 seconds

✦ Quick Start

git clone https://github.com/namann5/Ai_deepfake.git
cd Ai_deepfake

# Docker — one command, all services
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
Service URL
Frontend http://localhost:3001
Backend API http://localhost:5000
ML Inference http://localhost:7000

✦ Architecture

┌─ Browser ─────────────────────────────┐
│  React 19 · React Router 7 · Axios     │
└────────────────┬───────────────────────┘
                 │  POST /api/analyze
                 ▼
┌─ Node.js (Express 5) ─────────────────┐
│  Multer · Rate Limiter · Helmet · CORS │
├────────────┬───────────────────────────┤
│ Metadata   │  ML Client (axios) ───────┼──► FastAPI · PyTorch · Xception
│ (exifr)    │                           │
└────────────┴───────────────────────────┘
        │              │
        └── Score Aggregator ──► MongoDB

Services

Container Role
deepscan-backend Express API — routing, validation, orchestration
deepscan-ml-service FastAPI + PyTorch — Xception deepfake inference
deepscan-frontend React SPA — upload, results, history
deepscan-mongo MongoDB 7 — scan persistence

✨ Features

🖼️ Image & Video Upload JPEG/PNG/WEBP + MP4/MOV — drag & drop or click
🤖 Deep Learning Detection Xception backbone → pixel-level forgery analysis
🔎 EXIF Forensics Camera make/model, GPS, timestamps, AI software signatures
📊 Probability Score 0–100% with "Synthetic" / "Real" verdict + confidence band
🗄️ Scan History Every result stored in MongoDB with full breakdown
🐳 Dockerized docker compose up — all four containers, one command

✦ API

POST /api/analyze

Content-Type: multipart/form-data
Field: image (file) · Optional: description (string)
{
  "prediction": "deepfake",
  "score": 72.4,
  "verdict": "SYNTHETIC",
  "confidence": "Medium",
  "breakdown": {
    "model_score": 68.0,
    "metadata_score": 85.0
  },
  "flags": ["No EXIF data found — strong synthetic signal"]
}

GET /api/results

?page=1&limit=20

GET /api/results/:id


✦ Project Structure

deepscan-backend/
├── server.js                    # Express entry point
├── routes/analyze.js            # Analysis & results endpoints
├── services/
│   ├── mlservice.js             # ML inference client (axios)
│   ├── metadataService.js       # EXIF parsing & scoring
│   └── scoreAggregator.js       # Score fusion
├── middleware/fileValidator.js  # Multer upload validation
├── models/Result.js             # Mongoose schema
└── ml_server/
    ├── image_server.py          # 🔵 Primary — PyTorch + Xception
    └── video_server.py          # 🟡 Secondary — TensorFlow video classifier

deepscan-frontend/
└── src/
    ├── components/              # UploadZone, ResultCard, MetadataPanel, ...
    ├── pages/                   # Checker, History, About, ...
    └── services/api.js          # Axios client

✦ Team

Name Role
👤 Anurag Singh Backend & System Analysis
👤 Arpita Raj Frontend & UI Design
👤 Harshita Nagpal Frontend & Documentation
👤 Naman Singh Backend & Testing

Supervisor: Mr. Abhishek Singh · Submitted To: Mr. Sanjay Madaan


Fighting synthetic misinformation, one pixel at a time. 🔍

Department of Computer Science & Engineering · Section 2FH

About

AI-powered deepfake & synthetic image detection system — Node.js backend with EXIF forensics, visual artifact analysis, and weighted score aggregation.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages