Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Document Forgery Detection

Checks a photo or scan of a document, such as an ID card, certificate or contract, for AI generation and for edited content.

SlugIDStatusTaggedModel version
document-intelligence6ActiveWhen AI-generatedv1

What it detects

The document is checked in two stages:

  1. AI generation. If the document image is AI-generated, the job stops here.
  2. Tampering. Otherwise, the image is checked for edited regions such as altered text or fields.
DetectsDoes not detect
AI-generated document images, then edited regions such as altered text or fieldsChanges made only in the document's underlying digital file. For PDFs, use pdf-tampering-detection

Request

SlotAccepted contentType
originalimage/jpeg, image/png
{
  "taskTypeId": "6",
  "inputs": [
    { "slotName": "original", "fileName": "id-card.jpg", "contentType": "image/jpeg", "sizeBytes": 524288 }
  ]
}

See Running a job for the full create, upload and finalize flow.

Limits

  • File size: up to the account upload limit, 10 MB by default.

Result

FieldTypeDescription
isFakebooleantrue if the document image is AI-generated
isTamperedboolean | nullWhether edited regions were found; null when the document is AI-generated, since the tampering check doesn't run
confidencePercent, fakeConfidencePercent, realConfidencePercent, tag, tagBoundariesPresent only when the document is AI-generated; see result fields
modelVersionstringVersion of the model that produced the result

AI-generated document:

{
  "isFake": true,
  "isTampered": null,
  "confidencePercent": 91.2,
  "fakeConfidencePercent": 91.2,
  "realConfidencePercent": 8.8,
  "tag": "fake",
  "tagBoundaries": { "real": 30, "likelyReal": 50, "likelyFake": 75 },
  "modelVersion": "v1"
}

Real document, checked for tampering:

{ "isFake": false, "isTampered": false, "modelVersion": "v1" }

Treat the document as suspect if isFake or isTampered is true.

Output artifacts

kindFileDescription
resultresult.jsonCombined result of both stages
heatmapheatmap.pngWhen AI-generated: overlay showing where the model saw AI patterns
heatmapmask.pngWhen checked for tampering: color map of how likely each region is edited

Download them from artifacts on GET /jobs/{id}.

Cost and availability

  • Fixed price per job, set by your plan. The exact amount is returned as cost when you create the job. See Quotas & Credits.
  • Available on the cloud API; your plan decides which task types you can use.