QUANTAPROOF|API Documentation
Get API Key

QuantaProof API Reference

Integrate deepfake detection — video, image, and text — into any application. 16 forensic layers including CLIP ViT-H/14 semantic analysis, rPPG liveness, and quantum-assisted fusion.

REST APIJSON responsesBearer authRate limitedZero-storageCPIA compliant
Base URL
https://api.quantaproof.com
All endpoints require Authorization: Bearer <token> header. Use a per-user API key (qp_live_...) for production.
Quick Start
import requests

API_KEY = "qp_live_your_key_here"
BASE    = "https://api.quantaproof.com"

headers = {"Authorization": f"Bearer {API_KEY}"}

# Analyse a video
with open("video.mp4", "rb") as f:
    r = requests.post(
        f"{BASE}/api/v1/analyse",
        headers=headers,
        files={"video": f},
        data={"case_id": "CASE-001"}
    )
result = r.json()
print(result["verdict"], result["authenticity_score"])

# Analyse an image
with open("photo.jpg", "rb") as f:
    r = requests.post(f"{BASE}/api/v1/analyse/image",
                      headers=headers, files={"image": f})
print(r.json()["verdict"])

# Detect AI-generated text
r = requests.post(f"{BASE}/api/v1/analyse/text",
    headers={**headers, "Content-Type": "application/json"},
    json={"text": "Your text here...", "context": "news article"})
print(r.json()["verdict"], r.json()["ai_probability"])
Verdict Values
AUTHENTIC
No manipulation detected across all layers
SUSPICIOUS
Minor anomalies — warrants further review
TAMPERED
Evidence of post-capture editing/splicing
SYNTHETIC
AI-generated or fully synthetic content

Endpoints

POST/api/v1/analyseVideo▲

Analyse a video file for deepfake manipulation across all 16 forensic layers.

Auth: Bearer tokenBody: multipart/form-data
Parameters
NameTypeRequiredDescription
videoFilerequiredMP4/MOV/AVI/MKV/WebM (max 500MB)
officer_namestringoptionalExaminer name for forensic report
case_idstringoptionalCase reference number
notesstringoptionalAdditional notes
Response
{
  "success": true,
  "analysis_id": "uuid",
  "media_type": "video",
  "verdict": "AUTHENTIC | SUSPICIOUS | TAMPERED | SYNTHETIC",
  "authenticity_score": 87.4,
  "overall_confidence": 91.0,
  "layer_scores": {
    "prnu": 82.1, "compression": 91.3, "gan": 88.7,
    "lip_sync": 95.2, "audio": 79.4, "rppg": 84.0,
    "clip_semantic": 90.1, ...
  },
  "tamper_regions": [...],
  "summary": "No significant anomalies detected across 16 forensic layers.",
  "audio_deepfake": { ... },
  "clip_deepfake": { "score": 90.1, "verdict": "AUTHENTIC", ... },
  "rppg": { "liveness_score": 84.0, "estimated_bpm": 72, ... },
  "c2pa": { "has_c2pa": false, ... }
}
POST/api/v1/analyse/imageImage▼
POST/api/v1/analyse/textText▼
POST/api/v1/analyse-urlURL▼
GET/api/v1/heatmap/{analysis_id}Heatmap▼
POST/api/v1/bulkBulk▼
GET/api/v1/bulk/{job_id}Bulk▼
GET/api/v1/report/{analysis_id}/pdfPDF▼
POST/api/v1/keysAPI Keys▼
POST/api/v1/webhooksWebhooks▼
Rate Limits & Plans
PlanDaily AnalysesBulk UploadPDF ReportsWebhooksAPI Keys
Free5/day————
Pro50/day20 files✓—3 keys
Business500/day100 files✓5 URLs10 keys
EnterpriseUnlimitedUnlimited✓∞Unlimited
Errors: 401 Unauthorized · 429 Rate limited · 503 Queue full