KYC Verify

One request takes an identity document and a selfie and returns the fields it read from the document alongside a face-similarity score between the two.

$0.0150 per call POST /v1/tools/kyc-verify Runs a model

One request takes an identity document and a selfie and returns the fields it read from the document alongside a face-similarity score between the two. It replaces the usual two-step of running OCR yourself, then wiring up a separate face-matching service and reconciling the results.

What it does NOT do is reach a verdict. There is no approve/reject, and there is no liveness check — a printed photograph of a face will score like a face. Treat it as evidence for your own decision and pair it with a liveness signal if you are gating anything that matters.

Identity documents are personal data. Collect them only where you have a lawful basis, tell people what happens to them, and keep no more than you need.

Call it

The first response is 402 with the exact price and every rail you can pay with. Pay, repeat the request with the proof, and you get the result.

curl -X POST https://api.glianalabs.com/v1/tools/kyc-verify \
  -H 'content-type: application/json' \
  -d '{"id_image":{"image_url":"https://example.com/ktp.jpg"},"selfie":{"image_url":"https://example.com/selfie.jpg"}}'

When to use it

Ocr-id and face-compare in one call, for onboarding. Reads the document AND matches the photo on it against the selfie, fetching the document once instead of twice. Max 6.291456MB each; prefer image_base64 so nothing is stored, and any /v1/media upload you pass is deleted after the call. Returns { document:{fields,verification}, face:{similarity,match,threshold} } — measurements only, NO pass/fail verdict, because the threshold that counts is yours. THERE IS NO LIVENESS CHECK: a photo of a photo can match, so this is a signal for your decision, not identity assurance.

What it costs

$0.0150 per successful call — flat, with no plan, minimum or monthly fee. A call that fails validation is refused before it runs, so it is never charged.

Not sure this is the right endpoint? GET /v1/consult?intent=… is free and answers that.