Documentation / Endpoints

API Endpoints Reference

Complete reference for all AI Image Detector API endpoints. All requests require an Authorization: Bearer header.

POST/v1/detectSingle image detection

Upload an image file or provide a URL. Returns AI detection verdict, confidence score, source model, and manipulation regions.

Request

POST /v1/detect
POST /v1/detect
Content-Type: multipart/form-data
Authorization: Bearer YOUR_API_KEY

image: (binary file)

Response

200 OK
{
  "id": "det_8x7k2m",
  "is_ai_generated": true,
  "confidence": 0.971,
  "source_model": "midjourney_v6",
  "source_model_confidence": 0.89,
  "manipulation_regions": [
    {"x": 0, "y": 0, "width": 1024, "height": 1024, "type": "full_synthetic"}
  ],
  "heatmap_url": "https://api.aiimagedetectorapi.com/heatmaps/det_8x7k2m.png",
  "metadata": {
    "width": 1024,
    "height": 1024,
    "format": "jpeg",
    "has_exif": false
  },
  "processing_time_ms": 89
}
POST/v1/batchBatch detection (up to 100 images)

Submit multiple images for batch AI detection. Returns a job ID for async polling or webhook callback. Requires Pro plan or higher.

Request Parameters

ParameterTypeDescription
urlsstring[]Array of image URLs to analyze (max 100)
webhook_urlstringURL for batch result delivery (required)

Response

202 Accepted
{
  "batch_id": "batch_xyz789",
  "status": "processing",
  "total_items": 25,
  "webhook_url": "https://yourapp.com/webhooks/ai-detection",
  "estimated_completion_seconds": 120
}
POST/v1/forensicDeep forensic analysis

Returns ELA (Error Level Analysis), frequency spectrum analysis, noise pattern analysis, and EXIF/C2PA provenance data in addition to standard detection.

Response

200 OK
{
  "id": "for_9y8m3n",
  "is_ai_generated": true,
  "confidence": 0.985,
  "source_model": "stable_diffusion_xl",
  "forensic": {
    "ela_score": 0.92,
    "frequency_anomalies": true,
    "noise_pattern": "synthetic_uniform",
    "exif_present": false,
    "c2pa_manifest": null
  },
  "processing_time_ms": 245
}
GET/v1/usageAccount usage stats

Returns current billing period usage, remaining quota, and rate limit status.

Response

200 OK
{
  "plan": "pro",
  "period_start": "2026-02-01",
  "period_end": "2026-02-28",
  "scans_used": 12847,
  "scans_limit": 50000,
  "rate_limit": {
    "requests_per_minute": 100,
    "remaining": 94
  }
}

Error Codes

CodeStatusDescription
400Bad RequestInvalid parameters or unsupported image format
401UnauthorizedMissing or invalid API key
413Payload Too LargeImage exceeds maximum size (50MB)
429Rate LimitedRate limit or monthly scan limit exceeded
500Server ErrorInternal processing error — retry with exponential backoff