Early access

AI-Manipulated ID Photo Detection API

Screen an ID, passport, visa, or badge photo for AI generation or AI editing before anyone submits it. The planned response is a pass, review, or reject verdict, a score, and a record you can keep with the file.

This API is in early access. It is not in the public API reference, and it is not a government system. IDPhoto.ai is not an approved Qatar studio and is not a partner of Qatar’s Ministry of Interior.

Usage-based. Contact us for pricing. There is no public rate card yet.

Why this matters now

. The Peninsula reported a Qatar Radio interview (Al Shurta Maak, “Police With You”) in which First Lieutenant Engineer Ali Hassan Al Sayed, an officer in the Ministry of Interior’s Civil Systems Section, described a new way to update a Qatar ID (QID) photograph. When someone starts a Metrash or MOI transaction that needs a photo, the system checks the photo already on file. If an update is required, the person gets a QR code, goes to an approved studio, and the studio uploads a new photo through a dedicated page on the Ministry’s website. He said the photos must meet ICAO and ISO standards, and that the Ministry will use automated checks and human review. He also said photographs manipulated with artificial intelligence will be rejected immediately when those checks detect them. Studios submit their name, location, and hours, and the Ministry will list them on Metrash and the MOI site. They need a QR scanner.

The Peninsula article does not state a fee, publish the studio list, or give a calendar launch date. Al Sayed said the service will first reach a limited group of users so the Ministry can gather feedback from applicants and studios, then expand. The article also cites a 25 October announcement that technical preparations were complete and that the official launch follows once remaining technical and logistical requirements are checked with studio owners. Al-Sharq reported the same interview. This page summarizes those reports. It is not an MOI notice, and IDPhoto.ai is not part of the service.

Qatar is one example of a wider shift. Governments and ID issuers are starting to reject AI-altered photos. A studio, a photo app, a pharmacy counter, an HR or badge system, or a visa platform that uploads first and finds out later pays for the retake. The useful check happens before the file leaves your system.

Who it is for

What you get back

These are planned capabilities for early access. They are not measured accuracy figures, and the field names can change before a public reference is published. We are not publishing a detection rate.

ResultWhat it means
passUnder the policy you selected, the check did not flag disallowed manipulation.
reviewA signal is present. A person should look before the file is uploaded.
rejectThe policy treats the signal as disallowed for this issuer. Do not submit the file.
ScoreA number from 0 to 1 on the same response. Higher means more reason to look. The policy, not a cutoff published here, maps the score and the signals onto the verdict.

Planned signals:

An optional heatmap marks regions the check found suspect, so a reviewer can see where to look. It is an aid. It is not pixel-level proof. Optional ICAO and ISO checks can ride along: send a specCode from the existing specification catalog and the response can include the same photo issue codes the Passport Photo API already returns for pose, expression, glasses, light, and framing. Those codes answer a different question from manipulation. A photo can be unedited and still fail a head-size rule.

Allowed processing and disallowed manipulation

IDPhoto.ai’s photo APIs remove a background, crop, and size a portrait to a specification. Many issuers allow that. They do not allow a new face. Detection is how you tell those apart, with a policy per country or issuer.

A plain background, a crop, and a resize to the document size are the usual compliant steps. The background removal API and the Passport Photo API do that work. A US or UK passport still needs an unedited likeness: those rules reject a digitally altered person even when the background is plain. Employee badges and some internal IDs allow more correction. The Fix Passport Photo API page says where an edit is refused.

The planned policy id is yours to configure. A Qatar QID upload, a US passport flow, and a staff badge do not have to score the same file the same way. A plain specification background can be treated as allowed processing. A generated face, a face swap, or a beauty filter that changes the likeness can be treated as disallowed. You decide what your product does with pass, review, and reject. The API does not file the photo with an issuer, and it does not approve a studio.

How a call is shaped

One REST call: your backend POSTs the image and reads JSON. Keep the key and secret on that server. Do not put them in a browser, a kiosk page, or a mobile binary. The sample below is the planned early-access contract. The host is a placeholder. Do not send it to the live photo API hosts. Path, fields, and policy ids are issued with access and can change.

curl -sS -X POST "https://EARLY_ACCESS_HOST/v2/detectManipulatedPhoto" \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "apiSecret": "YOUR_API_SECRET",
    "imageBase64": "data:image/jpeg;base64,...",
    "policy": "issuer-strict",
    "specCode": "us-passport",
    "includeHeatmap": true,
    "includeCompliance": true
  }'

An example response. The numbers illustrate the shape. They are not a measured result, and they are not an accuracy claim.

{
  "requestId": "req_example",
  "verdict": "review",
  "score": 0.62,
  "policy": "issuer-strict",
  "signals": [
    {
      "code": "AI_FACE_RESHAPE",
      "severity": "review",
      "detail": "Possible reshape or beauty filter on the face."
    },
    {
      "code": "PROVENANCE_MISSING",
      "severity": "info",
      "detail": "No C2PA manifest and no camera metadata."
    }
  ],
  "heatmap": {
    "format": "PNG",
    "outputType": "IMAGE_BASE64",
    "output": "..."
  },
  "compliance": {
    "specCode": "us-passport",
    "issues": []
  },
  "checkedAt": "2026-11-02T18:00:00Z"
}
FieldRole
policyWhich country or issuer rule to apply. Configured for the account. issuer-strict in the sample is a placeholder name.
specCodeOptional. A code from the photo specification catalog, used only when you also want ICAO or ISO issue checks.
includeHeatmapAsk for the region image. Omit it when you only need the verdict.
includeComplianceAsk for issue codes on the same call. Leave it off when another step already ran POST /v2/makeIdPhoto.

The JSON is the audit record: request id, verdict, score, signals, policy, and time. Store it next to the submission in your own system. A webhook can POST that same JSON when you do not want to wait on the request, including when a batch finishes. Batch mode accepts a set of portraits instead of one. Both are part of early access. Email support@idphoto.ai to turn them on. There is no self-serve switch in the dashboard yet.

Photos are not training data

Photos sent to this API are not used to train models. Retention is set on the account and includes auto-delete, so we do not have to keep a copy after you have the JSON and, if you asked for it, the heatmap. The data privacy notes for the existing photo APIs already describe two choices: take the file back as Base64 and store nothing on our side, or use a temporary link. Early access follows that same choice. Transmission is encrypted. Do not log the secret or the portrait.

Where it sits next to the photo APIs

  1. The camera, booth, or upload page captures one color portrait.
  2. Your server calls detection with the policy for that destination.
  3. On review or reject, show a retake. Do not upload the file to the issuer.
  4. On pass, continue. If the product also needs a sized JPEG, call the Passport Photo API with the spec code. Read issue codes. A pass on manipulation does not clear a pose or lighting failure.
  5. Keep the detection JSON with the order, the employee record, or the application. That is the trail if someone asks why a file was refused.

FAQ

Will Qatar reject AI-edited QID photos?

The Peninsula reported on 26 October 2026 that an official at Qatar’s Ministry of Interior said photographs manipulated with artificial intelligence will be rejected immediately when the Ministry’s checks detect them. The same report said new Qatar ID photos in the upcoming studio flow must meet ICAO and ISO standards and go through automated checks and human review. That is a Ministry process. This API is not a Qatar MOI system, and a screening result here is not an MOI decision or a promise that a photo will be accepted.

Is background removal considered AI manipulation?

Not by itself, when the only change is processing many issuers already allow: a crop, a resize, and a plain specification background. IDPhoto.ai’s photo APIs do that work. The detection API is meant to separate that processing from a change to the person, such as a generated face, a face swap, reshaping, or a beauty filter that alters the likeness. You set that line per country or issuer. A generated scene, or inpainting on the face, is the kind of change the planned signals are meant to flag.

How does the API work?

Your server sends one image in a POST and receives JSON. The planned response includes a verdict of pass, review, or reject, a score, the signals that fired, an optional heatmap of suspect regions, and optional ICAO or ISO issue checks from the same specification catalog as the Passport Photo API. Early access also includes a webhook and batch mode. The sample on this page is the planned contract. It is not a live path in the public API reference.

Does a pass verdict mean the issuer will accept the photo?

No. Pass means this check, under the policy you selected, did not flag disallowed manipulation. The issuing authority still decides. Qatar’s reported flow also includes a person reviewing the photo.

Do you train models on customer photos?

No. Photos sent to this API are not used to train models. Retention is set per account and includes auto-delete, so a copy does not have to remain after you have the JSON. The existing photo APIs already let you take a Base64 file back or use a temporary link. Early access follows that same choice.

Is the API generally available, and what does it cost?

It is early access, not a self-serve product in the dashboard. Request access or book a demo at support@idphoto.ai. Pricing is usage-based. Contact us. There is no public rate card yet.

Check the photo before it is submitted

Early access is open to studios, photo apps, badge platforms, and visa teams. Tell us the issuers you file to and how you want rejections handled. Usage-based pricing. Contact us.