Skip to content

Thai ID Card anti-fake

Detecting fake face on Thai ID card, for example deepfake face.

Code example:

curl --location --request POST 'https://api.ekycpro.com/v1/th_card/antifake' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'X-API-Key: AbcdEfgh' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

Response for the input face is fake

{
"status": "OK",
"message": {
"blur": {
"isBlur": "no",
"score": 0
},
"deepfake": {
"isSpoofing": "yes",
"score": 95
},
"print": {
"isPrint": "no",
"score": 1
}
}
}

Response for the input face is not fake

{
"status": "OK",
"message": {
"blur": {
"isBlur": "no",
"score": 0
},
"deepfake": {
"isSpoofing": "no",
"score": 8
},
"print": {
"isPrint": "no",
"score": 1
}
}
}

Response for the input face is blur image

{
"status": "OK",
"message": {
"blur": {
"isBlur": "yes",
"score": 91
},
"deepfake": {
"isSpoofing": "no",
"score": 8
},
"print": {
"isPrint": "no",
"score": 1
}
}
}

Response for the input face is print image in black and white

{
"status": "OK",
"message": {
"blur": {
"isBlur": "yes",
"score": 91
},
"deepfake": {
"isSpoofing": "no",
"score": 8
},
"print": {
"isPrint": "yes",
"score": 100
}
}
}

Response for recognition fail

{
"status": "FAIL",
"message": "check input image and retry"
}

Response for invalid request parameters

{
"status": "INVALID_REQUEST",
"message": "check request params"
}

Response for invalid image format

{
"status": "IMAGE_INVALID_FORMAT",
"message": "image format not support"
}

Response for image size larger than 4M

{
"status": "IMAGE_INVALID_SIZE",
"message": "image larger than 4M"
}

Response for server error

{
"status": "INNER_ERROR",
"message": "Inner error, please retry later"
}

HTTP request

POST https://api.ekycpro.com/v1/th_card/antifake

Request parameters

parameterdescription
imgstring, base64 encoded image. It is recommended that the image be less than 200KB, so it will be returned within 2 seconds, otherwise the return time will be longer.

Response format

fieldsdescription
isSpoofingyes is fake, no is not fake
deepfake scorethis is the confidence level of the fake face, the range is [0, 100]. The default is greater than 85 points is fake face
isBluryes is blur, no is not blur
blur scorethis is the confidence level of the blur face, the range is [0, 100]. The default is greater than 70 points is blur face
isPrintyes is print image in black and white, no is not print image
print scorethis is the confidence level of the print image, the range is [0, 100]. The default is greater than 70 points is print face

Status code

statusdescription
OKcharge, success
FAILcharge, image recognition error, please check input image
INVALID_REQUESTfree, invalid request parameters
IMAGE_INVALID_FORMATfree, invalid image format, image format should be one of jpeg/jpg/png/bmp
IMAGE_INVALID_SIZEfree, invalid image size, should be less than 4M
INNER_ERRORfree, server error