Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This manual provides instructions for installing SenseID.
This manual describes how to install the JCV face recognition service "Sense ID." To successfully deploy the service, please read this manual carefully before starting.
This manual is intended for customers who belong to the IT department and have experience using and operating Linux, Kubernetes, Docker, and cloud.
The installation process described in this manual is described in detail in the following figure.
This page describes the system operating environment requirements of SenseID.
Ubuntu Server 18.04 LTS is recommended for the Sense ID usage environment. We recommend a quad-core or higher CPU, 8GM or higher RAM, and 100GB or higher disk capacity on the hardware side. Note that AVX is required for the CPU instruction set.
The services described in this section are running inside the server. It is strongly recommended to implement a secure API mechanism, authentication mechanism, secure communication, and DNS outside of SenseID for safe use.
It is recommended to use separate servers for Ruby-Cloud-API and Go-Workers if possible.
Ruby-Cloud-API
The HTTP services, including the main interface for client API calls.
Service port: 3000
Go-Workers
The back-end computing vision services, primarily the encapsulation of algorithms provided to Ruby-Cloud-API in HTTP.
Service port: 50050
Configuration items
Configuration requirements
Minimum operating system kernel version number
V3.2.0 or more
CPU model
x86_64
Requirements for the number of CPU cores
Quad-core (4) or more
CPU instruction set
SSE, AVX, FMA;
compatibility: SSE > AVX > FMA;
operating speed: FMA > AVX > SSE
RAM requirements
16GB or more
Supported OS & minimum version
Ubuntu Server (16.04 LTS) or higher
Disk space requirements
100GB or more
This page describes detailed steps to install SenseID.
This chapter describes how to deploy and activate the SenseID service, primarily installing, configuring, launching critical services and potential issues and solutions.
The installation package should have been unzipped to place the license files. See Section 3.3.1 for more details.
Change the directory to the root folder where you unzipped the SenseID installation package.
The structure is as follows:
This service is a major computing service, so it is recommended to allocate dedicated server resources if possible.
Before deploying Go-Workers, you need to get the number of physical CPU cores on your server. The command to get the physical CPU core information is as follows.
Change the directory to the Go-Workers folder, open the.env
file, and set theHANDLERS
value to the number of physical CPU cores obtained above if you are using a dedicated server. Otherwise, specify a number. Save and close the.env
file.
HANDLERS
cannot be set to a value that exceeds the number of physical CPU cores on the server. The higher theHANDLERS
value is, the higher the number of concurrent services and the higher the memory and CPU consumption.
Before you start, make sure your license has been replaced.
Start the Go-Workers service.
You only need to execute this instruction once.
A script to stop the service is also provided in the same folder. Execute it only when you want to stop the service.
To confirm whether the Go-Workers service started normally, try the following command to see the logs.
If the tail command contains Server Listen on port 50050, the service has started successfully.
Also, perform the health check with the following command.
An example is as follows (This indicates that the service started successfully).
The deployment of the following services depends on Docker. Make sure you have Docker installed on your server.
Load the Ruby-Cloud-API image file.
The execution result is as follows.
Get the IP address of the Go-Workers server.
Open the .env
file in the root folder of the SenseID installation package.
Set the WORKER_IP
value in the last line to the IP address of the server where the Go-Workers service is deployed.
Sets the number of physical CPU cores on the server, the same way as Go-Workers.
Open the.env
file, and set theHANDLES
value to the number of physical CPU cores obtained if you are using a dedicated server. Otherwise, specify a number. Save and close the.env
file.
HANDLES
cannot be set to a value that exceeds the number of physical CPU cores on the server. The higher theHANDLES
value is, the higher the number of concurrent services and the higher the memory and CPU consumption.
Start the Ruby-Cloud-API service.
The results are as follows.
Confirm that the Docker is running.
The results are as follows.
The service is now successfully deployed.
Perform the health check with the following command.
An example is as follows (This indicates that the service started successfully).
This page describes the activation of SenseID.
A license file is required to use the Go-Workers service of SenseID. The activation of the license is associating with the UDID. License files may differ depending on the services you are using. One SenseID server can correspond to one to three license files. You must rename the license file and place it in the specified directory before you can deploy the service.
Only the server for Go-Workers needs licenses. The server for Ruby-Open-API does not require licenses. Execute the following procedure only on the server for Go-Workers.
The JCV product window provides the SenseID license file. Refer to the following parts for activation details.
Change the SENSEID_FACE_xxx.lic
file to senseid_face.lic
.
Change the SENSEID_KESTREL_xxx.lic
file to senseid_kestrel.lic
.
Change the SENSEID_LIVENESS_xxx.lic
file to senseid_liveness.lic
.
Package name: 1v1-private-cloud-v1.8.tgz
Be sure to unzip the ZIP file on a Linux-based system. If you unzip it on a non-Linux system, a soft link failure may occur, and the program execution may fail.
Change the directory to the license folder where you unzipped the SenseID installation package.
You can confirm that the following three folders are displayed by executing the following command.
Copy the license files to the specified directories and overwrite the original files.
Thank you for using the JCV Face Recognition Service "Sense ID."
SenseID provides an easy-to-use AI Face Recognition service. Designed for all types of online authentication scenarios to ensure the security and compliance of your online business, SenseID offers features such as photo quality checks, face comparisons, and liveness detection based on a server and edge combination.
SenseID server (private cloud) offers two models, 1v1 (Face Comparison) and 1vN (Face Search). Here, different manuals are provided for each model. This manual is for "Sense ID 1v1 V1.8.0". To switch between other models and versions, click on the upper left of the screen and select the target model and version.
You can access the manual for the SenseID liveness detection SDK here.
Manuals are subject to revision. For details, refer to the revision history page in each manual.
This manual provides instructions during the operation of SenseID.
This manual describes each operation procedure required for SenseID.
This manual is intended for customers who belong to the IT department and have experience using and operating Linux, Kubernetes, Docker, and cloud.
This page provides the release notes of SenseID 1v1
This page describes common issues during SenseID installation.
First, check the instruction set contained in the current machine:
Execute this command: cat /proc/cpuinfo
Check flag
If it does not contain a mix of AVX & AVX2, indicating that the CPU instruction set does not support the Avx instruction set.
There are two solutions:
1) Replace it with a machine containing an AVX instruction set;
2) Force the machine to use an SSE instruction set. However, the service performance will degrade and processing speed will be halved;
Method to force the machine to use an SSE instruction set: open go-workers/. env,
Modify FORCE_SET_SSE=false to FORCE_SET_SSE=true.
Note: Save the exit after modifying, and restart the go-workers. The method to restart the service is as follows:
First execute ./stop/sh then execute ./start.sh
Note: Start "./start.sh "once respectively corresponding when starting Go-Workers or Ruby-Cloud-API.
1) Execute
2) Kill the corresponding process No. of ./tool/supervisord -c config/supervisor.conf -d:
1)error panic: bad license: -1
It means the license has broken(such as an empty licenes),please replace the license file again.
2) error panic: open fixture/license/senseid_ocr/senseid_ocr.lic: no such file or directory
It means the license is not imported,please import the license file into the specified folder.
3)error panic: bad license: -16
It meas "udid mismatch", and the hardware fingerprint bound to the license is inconsistent with the current device’s hardware fingerprint.Please make sure the device's hardware information has not changed.
Maybe you use the wrong license or the device's udid is changed.
If you make sure that device's uuid has changed,please provide the new udid to the business person who can apply for the new license to you,and then remember to replace the new license.
It means the file format is incorrect, mainly related to the model file.
For example, using the decompression software under the windows system to decompress and upload the "private cloud package" to server may cause partial damage of the model file. It is recommended that customers re-upload the installation package(xxx.tar) to the server and use the command line(tax xf xxx.tar) to decompress it on the server
This page describes the UDID required to issue a Sense ID license.
The UDID is a server identification code calculated from the server hardware information. SenseID activation is associating with the UDID. Download the UDID acquisition tool and follow the instructions to acquire the UDID before applying for a SenseID license.
Only the server for Go-Workers needs licenses. The server for Ruby-Cloud-API does not require licenses. Execute the following procedure only on the server for Go-Workers.
The UDID acquisition tool is used to get the UDID of the deployment target server.
The file name of the UDID acquisition tool isSenseIDPrivateCloud-UDIDGetter-V4.1.0.zip
.
Place and unzip the UDID acquisition tool on the server.
Be sure to unzip the ZIP file on a Linux-based system. If you unzip it on a non-Linux system, a soft link failure may occur, and the program execution may fail.
Change the directory to the unzipped folder and execute theUDIDGetter.sh
.
Please sent the outputUDID.txt
file, together with your contract number to the JCV product window .
This page describes how to change or renew the license of Sense ID.
To change or renew the license files, overwrite the new license files from the old licenses file and place them in the specified directories. Refer to in the for details.
After replacing the license files, restart the service.
The "private cloud package" which we provide does not contain licenses by default. For details of licenses, please refer to .
Date | Revised content |
2021/08/20 |
|
Date | Version | Revised content |
2021/08/20 | V1.8.0 |
|
2021/03/08 | V1.7.0 |
|
Date | Revised content |
2021/08/20 |
|
2021/03/08 |
|
This page describes the photo and video encryption method for using the SenseID API.
SenseID requires that personal data (photos and videos) must be encrypted before being uploaded via APIs. AES-256-GCM is adopted as the encryption algorithm. The key and IV required for encryption are set as follows by default.
To customize the key and the IV, update the environment variables PARAM_DECRYPT_KEY
and PARAM_DECRYPT_IV
. The key is 32 characters and the IV is 12 characters.
Load the photo or video file.
Encrypt the data with AES-256-GCM.
Encode the above result with Base64.
This manual provides instructions on how to use the SenseID APIs.
In this manual, we will provide detailed procedures for all APIs provided by SenseID on a case-by-case basis for readers to consult when necessary. The instructions on API include function introduction, parameters, responses, error messages, etc.
This page describes the standards of input photos and videos for using the SenseID API.
The photo format should be one of the following. JPG (JPEG) ,BMP, PNG, GIF, TIFF The recommended format is JPG (JPEG).
The width and height of the photo should be at least 32 pixels and no more than 5,000 pixels. The recommended size is 640*480 pixels.
The size of the photo file must be 5MB or less. The larger the size, the more the processing performance will be affected. We recommend compressing the photo file to 100KB.
Most common video formats are supported. Include but not restrict to MP4, AVI, FLV, WMV, MOV, RM
The recommended format is MP4.
The width and height of the video should be at least 8 pixels and no more than 5,000px. The recommended size is 640*480 pixels.
The size of the video file must be 16MB or less. The larger the size, the more the processing performance will be affected. We recommend compressing the video file to about 500KB to 1MB.
Compare the two photos including only one face each uploaded through the interface to determine whether the two faces belong to the same person.
For photo standards, refer to in the .
POST
Correlations between the verification score threshold and the error rate:
Recommended threshold: greater than 0.7.
This page describes the error code that occurs during the operation of SenseID.
This page describes how to update to a higher version of SenseID.
In this manual, we will guide you through the update procedure updating SenseID from V1.7.0 to V1.8.0.
As a preparation, unzip and place the V1.8.0 package 1v1-private-cloud-v1.8.tgz
in the same directory where V1.7.0 is installed.
Change the directory to the old version folder, and stop the Ruby-Cloud-API service.
Refer to , , in the , set the number of CPUs and the address of Go-Workers in the new version's configuration file as in the old version.
Change the directory to the new version folder, and load the Ruby-Cloud-API image file.
Start the Ruby-Cloud-API service of the new version.
Change the directory to the old version folder, and stop the Go-Workers service.
Copy the license files from the old version to specified folders of the new version.
After receiving senseid_kestrel.lic
, copy it to the specified folder of the new version with the following command.
Change the directory to the new version folder, and start the Go-Workers service.
Check if services started normally.
Ruby-Cloud-API
Go-Workers
senseid_kestrel.lic
is required since V1.8.0. If you have not received it yet, please contact the JCV product window () with the UDID.txt file and your contract number. For details, refer to in the .
Threshold | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 |
error rate | 1/10 | 1/100 | 1/1000 | 1/10,000 | 1/100,000 | 1/1,000,000 |
Name | Type | Instructions |
code | int | System response code |
message | string | Error Messages |
request_id | string | The ID of this request |
| Field value | Description |
1200 | invalid argument | Invalid input parameter |
2003 | invalid image size | The image size (height and width in pixel) does not meet the requirements |
2004 | invalid content length | The image file size does not meet the requirements |
2005 | invalid image type or corrupted | The image type does not meet the requirements |
4000 | detection failed | Feature extraction failed, no face detected in the image |
4004 | face occlusion | Face detected but partially obscured by eyes, nose, or mouth |
| Description |
400 | BAD_REQUEST |
404 | NOT_FOUND |
411 | LENGTH_REQUIRED |
413 | PAYLOAD_TOO_LARGE |
500 | INTERNAL_ERROR |
error_code | Value | Description |
|
| Success |
|
| Invalid parameter, please check whether the value of each input parameter is correct |
|
| Handle error, please check whether the input handle is correct |
|
| Insufficient memory, system error |
|
| Operation failure, internal error |
|
| The image format is not supported, please refer to the interface description |
|
| Resource file not found (such as license, model, etc.). Check whether the input path is correct |
|
| Incorrect file format, mainly related to the model file |
|
| Model file expired |
|
| Illegal license file (for example, the product name is not consistent), or license file does not load. |
|
| license file or SDK expires |
|
| UDID mismatch, and the hardware fingerprint bound to the license is inconsistent with the current device’s hardware fingerprint |
|
| Product SDK version mismatch. The current SDK version is beyond the version range specified in the license |
|
| The platform is not supported. The current running SDK platform is inconsistent with the platform scope specified in the license |
|
| Model decompression failed, please check whether the model file is damaged |
|
| Submodel does not exist, please check whether the use of the model file is correct |
|
| Use an interface that does not support capabilities in the license |
|
| Failed to get the UDID |
|
| Failed to read the model file |
|
| Failed to load dynamic library |
|
| The parent license can't |
|
| Too many parent certificates of the authorization file, up to 10 levels |
Name | Type | Required | Description |
first_encrypted_image | string | Yes |
second_encrypted_image | string | Yes |
auto_rotate | boolean | No | The default value is false, indicating that the photo is not rotated. When the value is true, the photo is automatically rotated. |
check_quality | boolean | No | The default value is false, and no quality test is performed. When the value is true, the photo quality is checked. |
Name | Type | Instructions |
code | int | System response code: 1000 |
verification_score | float | The face comparison score is from 0-1. The greater the value, the greater the probability that the two faces belong to the same person. |
request_id | string | The ID of this request |
Compare the photo and the video uploaded through the interface to determine whether the faces belong to the same person.
For photo and video standards, refer to Chapter 3 Photo and Video Standards in the Operation Manual.
POST
check_quality
can currently only evaluate face occlusion. Other evaluation items may be added in the future.
The possible results ofliveness_status
are as follows:
Correlations between the verification score threshold and the error rate:
Recommended threshold: greater than 0.7.
Perform silent liveness detection on the server to decide whether the person in the uploaded video is a living human or not.
For video standards, refer to Chapter 3 Photo and Video Standards in the Operation Manual.
POST
The possible results ofliveness_status
are as follows:
Compare the two photos with multiple faces included and uploaded through the interface to get the similarity score of each pair of faces in the two photos.
For photo standards, refer to Chapter 3 Photo and Video Standards in the Operation Manual.
POST
For example:
Suppose that Photo A corresponding to first_image_file contains two faces (a1, a2); Photo B corresponding to second_image_file contains two faces (b1, b2); a1b1 represents the comparison score of face a1 in Photo A and face b1 in Photo B. The response is like:
Correlations between the verification score threshold and the error rate:
Recommended threshold: greater than 0.7.
Compare the photo and the liveness data uploaded through the interface to determine whether the faces belong to the same person.
For photo standards, refer to Chapter 3 Photo and Video Standards in the Operation Manual.
POST
Correlations between the verification score threshold and the error rate:
Recommended threshold: greater than 0.7.
Perform a quality check of the photo.
The photo file can contain multiple faces.
For photo standards, refer to Chapter 3 Photo and Video Standards in the Operation Manual.
POST
Encrypted photo 1. Encryption method reference:
Encrypted photo 2. Encryption method reference:
Name
Type
Required
Description
encrypted_video
string
Yes
Encrypted video Encryption method reference: [Photo and Video Encryption]
encrypted_image
string
Yes
Encrypted photo Encryption method reference: [Photo and Video Encryption]
auto_rotate
boolean
No
The default value is false, indicating that the photo is not rotated. When the value is true, the photo is automatically rotated.
check_quality
boolean
No
The default value is false, and no quality test is performed. When the value is true, the photo quality is checked.
return_image
boolean
No
Whether to return the selected frame of face and timestamp of the selected frame of the photo. The default is false. image_timestamp
and base64_image
are returned only when this value is true and the live detection is passed.
return_face_image
boolean
No
Whether to return the face clipping of the selected frame of the photo. The default is false. base64_face_image
is returned only when this value is true and the live detection is passed.
return_status
boolean
No
Whether to return the error status description. The default is false. liveness_status
is returned only when this value is true.
Name
Type
Description
code
int
System response code: 1000
passed
boolean
Liveness detection passed or not
liveness_score
float
The score of silent liveness detection (for reference only, please refer to the passed field)
liveness_status
string
Description of the error status of silent liveness detection. This field is returned when return_status=true
verification_score
float
Face comparison score, recommended threshold: > 0.7. This field is returned when passed=true
image_timestamp
float
Timestamp of the selected frame of image in seconds. This field is returned only when passed=true and return_image=true
base64_image
string
The selected frame of the photo. This field is returned only when passed=true and return_image=true
base64_face_image
string
Face clipping of the selected frame of the photo. This field is returned only when passed=true and return_face_image=true
request_id
string
The ID of this request
Status
Description
ok
Silent liveness detection passed: the person in the video is real
hack
Silent liveness detection failed, reason: face spoofing (for example, photos taken by the mobile phone)
short_time
Silent liveness detection failed, reason: video time less than 2s
Threshold
0.4
0.5
0.6
0.7
0.8
0.9
error rate
1/10
1/100
1/1000
1/10,000
1/100,000
1/1,000,000
Name
Type
Instructions
code
int
System response code
message
string
Error Messages
request_id
string
The ID of this request
code
Field value
Description
1200
invalid argument
Invalid input parameter
2003
invalid image size
The image size (height and width in pixel) does not meet the requirements
2004
invalid content length
The image file size does not meet the requirements
2005
invalid image type or corrupted
The image type does not meet the requirements
4000
detection failed
Feature extraction failed, no face detected in the image
4004
face occlusion
The face is detected, but the eyes, nose, or mouth are partially occluded
4007
liveness silent check failed
Silent liveness detection failed
status
Description
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
500
INTERNAL_ERROR
Date
Revised content
2021/08/20
Deleted the unused error code 2006 from Chapter 1 Face Compare and Chapter 2 Quality Check.
Added descriptions to the error code 2003 and 2004 in Chapter 1 Face Compare and Chapter 2 Quality Check.
Deleted the unused liveness status from Section 1.4 /identity/silent_image_verification/stateless and Chapter 3 Liveness Detection.
2021/03/08
The first edition released
Name
Type
Required
Description
encrypted_video
string
Yes
Encrypted video Encryption method reference: [Photo and Video Encryption]
return_image
boolean
No
Whether to return the selected frame of face and timestamp of the selected frame of the photo. The default is false. image_timestamp
and base64_image
are returned only when this value is true and the live detection is passed.
return_face_image
boolean
No
Whether to return the face clipping of the selected frame of the photo. The default is false. base64_face_image
is returned only when this value is true and the live detection is passed.
return_status
boolean
No
Whether to return the error status description. The default is false. liveness_status
is returned only when this value is true.
Name
Type
Description
code
int
System response code: 1000
passed
boolean
Liveness detection passed or not
liveness_score
float
The score of silent liveness detection (for reference only, please refer to the passed field)
liveness_status
string
Description of the error status of silent liveness detection. This field is returned when return_status=true
image_timestamp
float
Timestamp of the selected frame of image in seconds. This field is returned only when passed=true and return_image=true
base64_image
string
The selected frame of the photo. This field is returned only when passed=true and return_image=true
base64_face_image
string
Face clipping of the selected frame of the photo. This field is returned only when passed=true and return_face_image=true
request_id
string
The ID of this request
Status
Description
ok
Silent liveness detection passed: the person in the video is real
hack
Silent liveness detection failed, reason: face spoofing (for example, photos taken by the mobile phone)
short_time
Silent liveness detection failed, reason: video time with the face is less than 2s
Name
Type
Instructions
code
int
System response code
message
string
Error Messages
request_id
string
The ID of this request
code
Field value
Description
1200
invalid argument
Invalid input parameter
2008
invalid video error
Invalid videos (video time is less than 2s)
4007
liveness silent check failed
Silent liveness detection failed
status
Description
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
500
INTERNAL_ERROR
Name
Type
Required
Description
first_encrypted_image
string
Yes
Encrypted photo 1. Encryption method reference: [Photo and Video Encryption]
second_encrypted_image
string
Yes
Encrypted photo 2. Encryption method reference: [Photo and Video Encryption]
auto_rotate
boolean
No
The default value is false, indicating that the photo is not rotated. When the value is true, the photo is automatically rotated.
Name
Type
Description
code
int
System response code: 1000
scores
array
The face comparison score of each group of photos
is from 0-1. The greater the value, the greater the probability that the two faces belong to the same person.
face_rects
hash
Face frame in each photo
request_id
string
The ID of this request
Threshold
0.4
0.5
0.6
0.7
0.8
0.9
error rate
1/10
1/100
1/1000
1/10,000
1/100,000
1/1,000,000
Name
Type
Description
code
int
System response code
message
string
Error Messages
request_id
string
The ID of this request
code
Field value
Description
1200
invalid argument
Invalid input parameter
2003
invalid image size
The image size (height and width in pixel) does not meet the requirements
2004
invalid content length
The image file size does not meet the requirements
2005
invalid image type or corrupted
The image type does not meet the requirements
2006
corrupted image error
Image corrupted
4000
detection failed
Feature extraction failed, no face detected in the image
status
Description
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
500
INTERNAL_ERROR
Name
Type
Required
Description
liveness_file
file
Yes
The encrypted binary stream file (i.e., protobufData) returned after the successful detection by interactive liveness or silent liveness SDK is already encrypted without additional encryption required
encrypted_image
string
Yes
Encrypted photo Encryption method reference: [Photo and Video Encryption]
auto_rotate
boolean
No
The default value is false, indicating that the photo is not rotated. When the value is true, the photo is automatically rotated.
check_quality
boolean
No
The default value is false, and no quality test is performed. When the value is true, the photo quality is checked.
Name
Type
Instructions
code
int
System response code: 1000
verification_score
float
The face comparison score is from 0-1. The greater the value, the greater the probability that the two faces belong to the same person.
request_id
string
The ID of this request
Threshold
0.4
0.5
0.6
0.7
0.8
0.9
error rate
1/10
1/100
1/1000
1/10,000
1/100,000
1/1,000,000
Name
Type
Instructions
code
int
System response code
message
string
Error Messages
request_id
string
The ID of this request
code
Field value
Description
1200
invalid argument
Invalid input parameter
2003
invalid image size
The image size (height and width in pixel) does not meet the requirements
2004
invalid content length
The image file size does not meet the requirements
2005
invalid image type or corrupted
The image type does not meet the requirements
2007
corrupted liveness data error
Liveness data corruption
4000
detection failed
Feature extraction failed, no face detected in the image
4004
face occlusion
Face detected but partially obscured by eyes, nose, or mouth
status
Description
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
500
INTERNAL_ERROR
Name
Type
Required
Description
encrypted_image
string
Yes
Encrypted photo Encryption method reference: [Photo and Video Encryption]
Name
Type
Description
code
int
System response code: 1000
faces
Array
Information about the quality of each face in the photo
request_id
string
The ID of this request
Name
Type
Instructions
code
int
System response code
message
string
Error Messages
request_id
string
The ID of this request
code
Field value
Description
1200
invalid argument
Invalid input parameter
2003
invalid image size
The image size (height and width in pixel) does not meet the requirements
2004
invalid content length
The image file size does not meet the requirements
2005
invalid image type or corrupted
The image type does not meet the requirements
4000
detection failed
Feature extraction failed, no face detected in the image
status
Description
400
BAD_REQUEST
404
NOT_FOUND
411
LENGTH_REQUIRED
413
PAYLOAD_TOO_LARGE
500
INTERNAL_ERROR