Skip to content

AI image detection API

AI image detection API with tamper forensics.

Check images for AI generation and local edits in two API calls. Findings, marked regions and a verifiable report cost US$1.99 per image.

Start freeRead the docs

Free start: 5 image or document checks and 5,000 text characters. No card, no subscription.

At a glancefvimg-2
Endpoints
POST /v1/files, POST /v1/analyses
Model
fvimg-2 · FVIMG V2
Accepted files
JPEG, PNG, WEBP
Maximum size
Up to 10 MB and 40 megapixels
Result
Wait for it in the same request, or receive a webhook
Price
US$1.99 per image check

Last updated

What it checks

What the image check answers.

Was the whole image generated? Was part of it edited? What do the file's own records say? One report answers all three, and the response field column tells you where to read each answer.

Questions answered by the image check and the response fields that carry them
QuestionWhat is examinedResponse field
AI generationWhether the image looks generated, with a likelihood and, where supported, the likely generator.questions.ai, generator
Local editsWhether part of the image was changed, with the marked regions in pixels.questions.edit, regions
Content Credentials, watermarks and AI labelsWhat the file's own records claim about its origin, and whether those claims hold up.questions.source, provenance
File metadataThe camera, software and capture time named in the file's records.provenance
Verdict and confidenceA risk level, a recommended action and how much this file allows the check to establish.summary, confidence

Request and response

Two calls and one report.

Upload the image, then create the check with the model fvimg-2. Send Prefer: wait to hold the request until the report is ready. If the wait runs out first, the check answers 202 with status processing. Fetch it later or receive a webhook.

RequestPOST /v1/files, POST /v1/analyses
FILE_ID=$(curl -s https://api.fileverity.com/v1/files \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -F file=@claim-photo.jpg | jq -r .id) curl https://api.fileverity.com/v1/analyses \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Prefer: wait=60" \  -d "{\"model\": \"fvimg-2\", \"file\": \"$FILE_ID\", \"metadata\": {\"order_id\": \"A-10492\"}}"
Response200 OK
{  "id": "an_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "analysis",  "created": 1793700120,  "model": "fvimg-2-2026-10-30",  "livemode": true,  "status": "succeeded",  "file": {    "name": "claim-photo.jpg",    "bytes": 2481920,    "format": "jpeg"  },  "report_id": "FV-7K2M-9QXD-4T8R",  "report_url": "https://fileverity.com/verify/FV-7K2M-9QXD-4T8R",  "summary": {    "level": "L2",    "assessment": "authentic_untouched",    "action": "accept",    "ai": "very_low",    "edit": "none"  },  "result": {    "report": {      "schema": "fileverity.report/1",      "id": "FV-7K2M-9QXD-4T8R"    },    "stamped_at": 1793700130  },  "error": null,  "progress": null,  "usage": {    "amount": 199,    "currency": "usd",    "funding": "balance"  },  "metadata": {    "order_id": "A-10492"  },  "completed_at": 1793700131,  "expires_at": 1794304931}
The first request uploads the file and the second creates the check. The response shows a finished check.

Where it fits

Put it where an image becomes evidence.

The API returns a risk level and a recommended action. Your reviewers keep the final call.

Limits

What it does not do.

A clean result narrows a review. It does not replace one.

  • It checks still images only. It does not analyze video or audio, and it does not identify people or match faces.
  • A result without findings is not proof that an image is authentic. Recapturing, screenshots and re-encoding remove evidence.
  • Screenshots, heavy compression and small images limit what can be established. The report states how much a file allowed.
  • Missing Content Credentials or watermarks prove nothing either way, because metadata is often stripped when images are shared.
  • Detection results vary by generator and by image. Read the report as evidence for a review, not as a verdict.

Evidence

Evidence you can keep.

Every check leaves a record you can store, share and check again later, not only a verdict.

  • Report ID

    A report ID in the form FV-XXXX-XXXX-XXXX. Store it next to your own case or customer record.

  • Fingerprints and timestamp

    SHA-256 fingerprints of the file and the report, and an RFC 3161 timestamp, are recorded with every report.

  • Public verification page

    Anyone you share the report ID with can confirm it on the verification page, without an account.

  • Files deleted, results kept

    Uploaded files are deleted after the check and never used to train models. The result stays available through the API for 7 days.

Integrate

Build it into your workflow.

Image and document checks follow the same pattern, so one integration covers both.

  • Wait for the result with Prefer: wait, or receive a signed webhook when the check finishes. Handle both a finished response and a processing response.
  • Send an Idempotency-Key on every POST request, so a retry never runs a check twice.
  • Build against fv_test_ keys first. They return fixed sample results and are never charged.
  • Failed checks are not charged. A busy service answers 503 with a retry-after header, and you retry with the same key.
  • Webhooks are signed and follow the Standard Webhooks specification.
  • Files up to 4 MB go in one multipart request. Larger files use a pre-signed upload URL, up to the model's limit.
  • Requests are limited to 120 per minute per key.

Pricing

Pay for each check.

One prepaid workspace balance covers image, document and text checks. Top up from US$19. There is no subscription and nothing renews.

API and Console prices
CheckPrice
Image checkBilled per imageUS$1.99
Document checkBilled per documentUS$5.99
Text checkBilled per 1,000 charactersUS$0.14

Text is rounded up to the next 1,000 characters for each request. Text checks need at least 100 words.

Free start

Try it before you add funds.

Your first workspace starts with 5 free image or document checks and 5,000 free text characters.

No card is needed to start. One free start per person, and a limited number per company email domain. Teammates should join through an invitation.

Frequently asked questions

How do I detect AI-generated images by API?

Upload the image with POST /v1/files, then create a check with POST /v1/analyses and the model fvimg-2. The response carries the finding on AI generation, any edited regions, the state of Content Credentials and a report ID that anyone can verify.

Does it find edited parts of a photo?

Yes. The check answers whether part of the image was changed and marks the regions in pixels, so a reviewer can look at exactly what was flagged. Local edits and whole-image AI generation are reported separately.

Can it tell which generator made an image?

Where supported, the report names the likely generator and how it was identified. Many images give no generator, and a missing name does not mean the image is authentic.

Does it read Content Credentials and watermarks?

Yes. It reads Content Credentials, watermarks and AI labels recorded in the file and reports their state. Their absence is not evidence of authenticity, because metadata is often stripped when images are shared.

Do screenshots and compressed images work?

You can submit them, but screenshots, heavy compression and resizing remove evidence. The report states how much the file allowed the check to establish, so treat low-confidence results with care.

How much does an image check cost?

US$1.99 per image check, paid from a prepaid workspace balance that you top up from US$19. Your first workspace starts with 5 free image or document checks, and test keys are never charged. Failed checks are not charged.

Which image formats and sizes are accepted?

Accepted formats: JPEG, PNG, WEBP. The limits are 10 MB and 40 megapixels per image. Files up to 4 MB go in one multipart request; larger files use a pre-signed upload URL.

Does it check video, audio or faces?

No. It checks still images only and does not match faces or identify people. For documents, use the document fraud detection API.

Guides

Practical guidance for review teams.

What each check establishes, where it stops and which evidence to request next.

All guides

Make your first check in minutes.

Open the Console, use your free start and send a test request. Add funds only when you are ready for live results.