AI image detection API
Screen uploads, listings and submissions for AI-generated photos, in one request.
Anyone can request API access, any time. Enabled within an hour.
$ curl https://perspicax.io/api/v1/scans \ -H "Authorization: Bearer $PERSPICAX_KEY" \ -H "Prefer: wait=10" \ -F [email protected]# 200 OK{ "status": "completed", "result": { "label": "ai_generated", "score": 0.97, "provenance": { "c2pa": null } }, "model": { "name": "TrueEye", "version": "2.1" }}What the API does
The Perspicax API checks whether a photo-like image was fully generated by AI. Send a file or a URL to POST /api/v1/scans and get a three-band verdict, a score, the provenance we found and the model version, in the same call or by polling. Anyone can request access, and it is enabled within an hour.
What every response includes
- A verdict: ai_generated, inconclusive or not_ai_generated
- A score from 0 to 1 (not a probability)
- Content Credentials (C2PA) and the IPTC source type, when present
- The model name and version (TrueEye 2.1)
Where teams use it
- Trust and safety: screen user uploads and profile photos
- Marketplaces: check listing photos before they go live
- Newsrooms: triage photos sent in by readers
- Dating and social apps: check profile photos
How requests work
- Sync: send Prefer: wait=N (up to 30 seconds) and get the result in the same call.
- Async: take a 202 and poll the Location URL until the scan is complete.
- Retries are safe with an Idempotency-Key header.
Credits for your team
Enterprise teams get a credit allowance that refreshes every month or year, with top-ups any time, a live usage dashboard and alerts at 80% and 100%. One credit is one scan, and scanning the same image again is not counted.
Your images
Images are kept as you sent them, in private storage, and are not used to train TrueEye 2.1 unless you opt in. Retention options are available for Enterprise.
Measured accuracy
| Images from | Models tested | Caught in testing |
|---|---|---|
| ChatGPT (GPT Image)GPT Image 2.5 Sunburst, GPT Image 2.5 Flare, GPT Image 2 | GPT Image 2.5 Sunburst, GPT Image 2.5 Flare, GPT Image 2 | 92.1–93.9% |
| Gemini (Nano Banana, Imagen)Imagen 4, Nano Banana 2.1, Nano Banana Pro | Imagen 4, Nano Banana 2.1, Nano Banana Pro | 93.6–98.3% |
| Seedream (Doubao, Dreamina, CapCut)Seedream 4.5, Seedream 5.0 Pro, Seedream 5.0 Lite | Seedream 4.5, Seedream 5.0 Pro, Seedream 5.0 Lite | 91.0–98.9% |
| Grok ImagineGrok Imagine 2.0 | Grok Imagine 2.0 | 96.2% |
| FLUXFLUX 3 | FLUX 3 | 96.6% |
| Other new modelsHunyuan 3.0, HiDream-O1, MAI-Image 2.5, Qwen-Image 3.0 | Hunyuan 3.0, HiDream-O1, MAI-Image 2.5, Qwen-Image 3.0 | up to 99.9% |
| Original camera photos | 99.4% called real |
Questions
How much does the AI image detection API cost?
API access runs on Enterprise credits: one credit is one scan, with an allowance that refreshes monthly or yearly. Contact us and we'll set it up.
How fast is it?
You can wait for the answer in the same call with Prefer: wait=N, up to 30 seconds. If a scan takes longer, you get a 202 and poll for the result.
Which image formats does it accept?
JPEG, PNG, WebP, HEIC, HEIF, AVIF and still GIF, up to 20 MB, by file or by URL.
Does it detect deepfake videos or edited photos?
No. It is built for still images that were fully generated by AI. Video and edits to real photos are outside its scope.
How do I get an API key?
Request access from the contact page or the app. Anyone can request it, at any time, and it is enabled within an hour.