API
FPT.AI Reader - Vietnamese Passport Recognition
Requirements
- The input image must have 4 clear angles or all main components of a Vietnamese Passport such as photocard, document title.
- All information fields must be visible, readable, unmodified, not blurred.
- The input image size does not exceed 5 MB and the minimum resolution is approximately 800x600 to ensure the confident rate.
- The ratio of Vietnamese Passport area must be at least ¼ of the total image area.
Standard image
Bad image
- Image with low quality and lack of corner
- Image with low quality and lack of information
Request
Request Url
POST https://api.fpt.ai/vision/passport/vnm
Request Headers
Parameter | Required | Default | Description |
---|---|---|---|
api_key | Yes | Your api key ( get from console.fpt.ai ) |
Request Body
FormData contain a single image to recognize
Parameter | Required | Description |
---|---|---|
image | Yes |
Sample Request
curl -X POST https://api.fpt.ai/vision/passport/vnm -H "api-key: xxxxxx" -F "image=@path/to/image"
Response
JSON
{
"errorCode" : x,
"errorMessage" : "xxxx",
"data" : [xxxx]
}
The system is able to extract all information found on the Vietnamese Passport image.
After successfully sending the request, the system will return a json file that includes text information on the Vietnamese Passport using the format below.
- errorCode: value is 0 if the request was successful with no error occurred
- errorMessage: value is equal to empty string if the request was successful with no error occurred
- data: include all information on the Vietnamese Passport image if the request succeeds without errors, return empty list [] if an error occurs (All fields that the system can not extract, will have value "N/A"). Also included with the information extracted is the probability that indicates the reliability of the returned results. (The detail of the errors that might occure include both errorCode and errorMessage is described on Errors)
Data
{
"errorCode" : 0,
"errorMessage" : "",
"data": [
{
"passport_number": "xxxx",
"passport_number_prob": "xxxx",
"name": "xxxx",
"name_prob": "xxxx",
"pob": "xxxx",
"pob_prob": "xxxx",
"sex": "xxxx",
"sex_prob": "xxxx",
"id_number": "xxxx",
"id_number_prob": "xxxx",
"doi": "xxxx",
"doi_prob": "xxxx",
"doe": "xxxx",
"doe_prob": "xxxx"
}
]
}
The API Responses composes of 8 data fields:
Field | Description |
---|---|
id | Passport number |
name | Name |
dob | Date of birth |
pob | Place of birth |
sex | Gender |
id_number | ID number |
doi | Date of issue |
doe | Expiry date |
Errors
This section covers common errors and can be handled by the system, messages are returned clearly and specifically for the purpose of instructing users to use the API accurately.
The system uses the error codes as follows:
Error Code | Meaning |
---|---|
0 | No error -- This is a successful call, no error |
1 | Invalid Parameters or Values! -- Wrong parameter in the request (e.g. no key or image in the request body). |
2 | Failed in cropping -- The Vietnamese Passport in the image is missing of corners so it cannot be cropped to the standard format. |
3 | Unable to find Passport in the image -- The system cannot find the Vietnamese Passport in the image or the image is of poor quality (too blur, too dark/bright). |
5 | No URL in the request -- The request uses the image_url key but the value is left blank. |
6 | Failed to open the URL! -- The request uses the image_url key but the system cannot open this URL. |
7 | Invalid image file -- The uploaded file is not an image file. |
8 | Bad data -- The uploaded image file is corrupted or the format is not supported. |