Documentation / Endpoints
Complete reference for all AI Image Detector API endpoints. All requests require an Authorization: Bearer header.
/v1/detect— Single image detectionUpload an image file or provide a URL. Returns AI detection verdict, confidence score, source model, and manipulation regions.
POST /v1/detect
Content-Type: multipart/form-data
Authorization: Bearer YOUR_API_KEY
image: (binary file){
"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
}/v1/batch— Batch 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.
| Parameter | Type | Description |
|---|---|---|
| urls | string[] | Array of image URLs to analyze (max 100) |
| webhook_url | string | URL for batch result delivery (required) |
{
"batch_id": "batch_xyz789",
"status": "processing",
"total_items": 25,
"webhook_url": "https://yourapp.com/webhooks/ai-detection",
"estimated_completion_seconds": 120
}/v1/forensic— Deep forensic analysisReturns ELA (Error Level Analysis), frequency spectrum analysis, noise pattern analysis, and EXIF/C2PA provenance data in addition to standard detection.
{
"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
}/v1/usage— Account usage statsReturns current billing period usage, remaining quota, and rate limit status.
{
"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
}
}| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Invalid parameters or unsupported image format |
| 401 | Unauthorized | Missing or invalid API key |
| 413 | Payload Too Large | Image exceeds maximum size (50MB) |
| 429 | Rate Limited | Rate limit or monthly scan limit exceeded |
| 500 | Server Error | Internal processing error — retry with exponential backoff |