01
POST /api/analyze
A single image or video, sent as multipart form data. The response is synchronous and returns once every layer has reported. Requests are authenticated with a key issued during onboarding.
POST /api/analyze Content-Type: multipart/form-data file=@statement_photo.jpg
Video can also be submitted as three extracted frames instead of the whole file, which cuts the payload from tens of megabytes to a few hundred kilobytes. Public links can be submitted in place of a file.
02
The verdict is binary by design. Confidence is a presentation value and never contradicts the label, so a figure below 0.50 always accompanies Real Camera and one above it always accompanies AI-Generated.
{
"verdict": "AI-Generated",
"confidence": 0.97,
"generator": "Sora 2",
"summary": "Detected as AI-generated.",
"layers": {
"provenance": "active",
"neural": "ai",
"fingerprint": "ai",
"metadata": "suspicious",
"chrominance": "normal"
}
}
| Field | Notes |
|---|---|
| verdict | Exactly Real Camera or AI-Generated. There is no third value. |
| confidence | 0 to 1, always consistent with the label. |
| generator | The named engine where attribution is available. |
| summary | One sentence, suitable for an analyst-facing screen. |
| layers | Per-layer trace, so a reviewer sees the reasoning rather than a single score. |
A single detector spiking on its own does not move a verdict. That value exists so your analysts can see a signal was raised and deliberately not acted on.
03
| Max direct upload | 32 MB per request |
|---|---|
| Input formats | JPEG, PNG, WebP, MP4, MOV, public URL |
| Video sampling | 3 frames at fixed positions, so results are reproducible |
| Batch | Multiple files per request, paced internally to stay inside upstream limits |
| Scaling | Horizontal autoscale, stateless workers |
04
| Media retention | None. Files are deleted as the verdict returns |
|---|---|
| Audit record | Held by you. We keep no copy |
| Data residency | Region-pinned container deployment |
| Deployment models | Managed API, private tenancy on request |
There is no retrieval endpoint for past scans, because there is nothing to retrieve. If you need an audit trail, persist the response on your side at the moment you receive it.
Full documentation
Endpoint-by-endpoint documentation, authentication, error handling and a sandbox environment are provided during onboarding, alongside an evaluation run against your own media.
Request full documentation