Sys.Docs/v1 Reference

API Documentation

Plug the Sightova v1 API into your app in under five minutes. Four detection endpoints, three input modes, consistent JSON responses.

https://sightova.com
JSON
X-API-Key / RapidAPI

Step 01

Quick start

Get your first detection in under a minute.

  1. Create an account at /auth/signup. First 10 scans/month are free.
  2. Go to dashboard → API Keys and create a key.
  3. Make a request to POST /api/v1/detect/ai:
curl -X POST 'https://sightova.com/api/v1/detect/ai' \
  -H 'X-API-Key: sk_<your-key>' \
  -H 'Content-Type: application/json' \
  -d '{"image_url": "https://example.com/photo.jpg"}'

Don't want to manage API keys?

Subscribe via the RapidAPI marketplace — RapidAPI handles the key, quotas and Stripe billing for you.

Not a developer?

Use Sightova inside any Zapier workflow — no code required. Free tier includes 10 scans/month.

Step 02

Authentication

Pick whichever fits your stack — both modes hit the same endpoints.

Get an API key in your dashboard (keys start with sk_) and pass it as either header:

X-API-Key: sk_5fd9...3d2c
# or equivalently
Authorization: Bearer sk_5fd9...3d2c

Each request consumes one scan from your monthly quota. Limits and overage rules follow your Sightova plan.

Step 03

Endpoints

Four detection endpoints, all under /api/v1.

POST/api/v1/detect/ai10 operations / request

Detect AI-generated images (Midjourney, DALL·E, Stable Diffusion, Sora and friends) vs. real photographs. Returns probability scores and a confidence-graded verdict.

curl -X POST 'https://sightova.com/api/v1/detect/ai' \
  -H 'X-API-Key: sk_<your-key>' \
  -H 'Content-Type: application/json' \
  -d '{"image_url": "https://example.com/photo.jpg"}'

Example response

{
  "request_id": "req_5oQjGqU4mB2nQp9Hg7vTz",
  "endpoint": "/api/v1/detect/ai",
  "detection_type": "image moderation",
  "media": {
    "id": "med_x7uJq2eDjKpVnNl0aHsRt",
    "source": "url",
    "filename": "photo.jpg",
    "mime": "image/jpeg",
    "size_bytes": 124530,
    "width": 1024,
    "height": 768
  },
  "result": {
    "ai_probability": 0.94,
    "real_probability": 0.06,
    "confidence": 0.88,
    "verdict": "ai-generated"
  },
  "metadata": {
    "exif": {},
    "warnings": []
  },
  "processing_time_ms": 412,
  "rapidapi": null
}

Step 04

Request body

Three input modes. Pick the one that fits your stack.

image_urlJSON

Pass a publicly-accessible URL. We fetch and analyze the image.

Content-Type: application/json

{"image_url": "https://example.com/photo.jpg"}
image (file)multipart

Upload the image directly as multipart/form-data. Field name must be image.

Content-Type: multipart/form-data

image=@/path/to/photo.jpg
image_base64JSON

Embed the image inline as base64. Supports data:image/...;base64,... prefix.

Content-Type: application/json

{"image_base64": "iVBORw0KGgoAAAA..."}

Limits: images must be JPEG, PNG, GIF or WebP. Maximum 50 MB.

SSRF protection: image_url values targeting localhost or private IP ranges are blocked.

Step 05

Response shape

Every endpoint returns the same envelope — only the result field differs.

FieldTypeDescription
request_idstringUnique ID for this request. Format: req_xxx.
endpointstringEcho of the endpoint path.
detection_typestringe.g. "image moderation", "nsfw moderation", "violence moderation", "document tampering".
mediaobjectInformation about the analyzed image: id, source, filename, mime, size_bytes, width, height.
resultobjectEndpoint-specific result fields. See the example responses above.
metadataobject | nullEXIF and other extracted metadata, or null on failure.
processing_time_msnumberServer-side processing time in milliseconds.
rapidapiobject | nullPresent only for RapidAPI gateway calls: { user, plan }.

Step 06

Content Credentials (C2PA)

When an image carries a cryptographically signed C2PA manifest, we use it to harden the verdict.

Several AI generators (OpenAI DALL·E, Adobe Firefly, Microsoft Designer, Google Imagen, Black Forest Labs Flux) and hardware cameras (Sony, Leica, Canon, Nikon) embed C2PA Content Credentials — a cryptographically signed manifest recording who made the image, with what tool, and what edits were applied.

When the manifest validates against a trusted certificate chain AND identifies a known generator or device, Sightova overrides the pixel classifier with this ground truth. You'll see a new result.provenance_signal object in the response.

AI endpoint

Manifest with digitalSourceType = trainedAlgorithmicMedia verdict = ai-generated, ai_probability ≥ 0.99.

Validated hardware capture from Sony / Leica / Canon → verdict = real, real_probability ≥ 0.95.

Document tampering

Photoshop / Lightroom / Premiere in the action chain → verdict = tampered.

Validated capture with no edits recorded → verdict = clean.

Manifests that fail signature validation (missing intermediate cert, expired, etc.) attach an advisory provenance_signal but do not override the classifier — we never weaken the verdict on untrusted data.

Example: DALL·E image
"result": {
  "ai_probability": 0.99,
  "real_probability": 0.01,
  "confidence": 0.99,
  "verdict": "ai-generated",
  "provenance_signal": {
    "source": "c2pa",
    "verdict": "ai-generated",
    "generator": "OpenAI DALL-E 3",
    "signed_at": "2026-04-15T12:34:00Z",
    "validation_state": "Valid",
    "signature_trusted": true,
    "digital_source_type": "trainedAlgorithmicMedia",
    "confidence": 0.99,
    "classifier_disagreed": false,
    "overrode_classifier": true,
    "explanation": "C2PA manifest signed by OpenAI DALL-E 3 with digitalSourceType=trainedAlgorithmicMedia"
  }
}

Step 07

Error codes

Errors always return { error: string, request_id: string }.

StatusNameDescription
400Bad RequestInvalid input — missing image, unsupported format, unreachable URL, or invalid base64.
401UnauthorizedMissing authentication. Provide X-RapidAPI-Proxy-Secret (gateway), X-API-Key, or a valid session.
403ForbiddenInvalid RapidAPI proxy secret. Check the secret in your RapidAPI dashboard matches the server env.
429Too Many RequestsYou've hit your monthly Sightova quota. Upgrade your plan or wait until next month.
500Internal Server ErrorUnexpected server-side failure. Try again or contact support.
502Bad GatewayThe detection model itself failed to process the image. Retry with a different image.

Step 08

Rate limits & plans

Limits depend on where you got your key.

Direct API keys

Limits follow your Sightova plan. Hitting the quota returns 429.

  • Free50 / month
  • Starter300 / month
  • Premium1,000 / month
  • EnterpriseCustom

RapidAPI plans

Managed by RapidAPI's gateway. Overage billing available on paid tiers.

  • BASIC50 / month · free
  • PRO1,000 / month · $29
  • ULTRA10,000 / month · $149
  • MEGA100,000 / month · $899

Ready to build?

Start free with 10 scans/month. No credit card required.