Documentation / Getting started
On this page
All settings are optional. They are the same in every mobile plugin and in the native SDKs (as JSON).
{
"continuous": false,
"duplicateTimeoutMs": 3000,
"confirmation": "normal",
"timeoutMs": 0,
"torch": false,
"zoom": 1,
"vibrateOnRead": true,
"arOverlay": true,
"documentTypes": ["passport", "id", "visa"],
"regionOfInterest": null,
"isolateMrz": false,
"isolatedHeight": 300,
"title": "Passport & ID"
}
| Setting | |
|---|---|
continuous |
false: the camera closes after the first confirmed read. true: it keeps scanning, collects each new document, and closes on Stop (or the timeout). |
duplicateTimeoutMs |
Continuous only: the same MRZ is not collected again within this time. |
confirmation |
normal: two agreeing frames (more when a character no check digit covers is uncertain). fast: the first frame read with valid check digits. |
timeoutMs |
Close when nothing was read for this long. 0: never. |
torch, zoom |
The torch and the zoom when the camera opens. The screen has buttons for both. |
vibrateOnRead |
A haptic tick for each read. |
arOverlay |
The box that follows the MRZ, and the read shown on it. |
documentTypes |
Any of passport, id, visa. |
regionOfInterest |
{ "x", "y", "width", "height" } as fractions (0 to 1) of the upright camera picture: only an MRZ inside it is read. Null: the whole picture. |
isolateMrz, isolatedHeight |
Each read also gets isolatedMrz: the MRZ alone, straightened, in colour, this many pixels tall. |
title |
The title in the camera screen's bar. |
For photos
scanImage(image, options) takes { documentTypes, isolatedHeight }. The image is { path } (a file path or file:// URI) or { base64 } (a JPEG or PNG, with or without a data: prefix).
Desktop and server
The C library and the Python package have their own options (document types, a region of interest in percent, upside-down documents). See C API reference and Python.
Updated Oct 24, 2026 ยท Questions? Ask us