-
Image format must be jpg or jpeg
-
Size of the input image must not surpass 5 MB with minimum resolution around
640x480 to ensure accuracy rate
-
Face must take up at least ¼ of the total image area.
API Information
1. Create user on the system (to add index images)
Request Url
POST https://api.fpt.ai/vision/ekyc/facesearch/v4/create
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name and user information (id, name)
| Parameter | Requirement | Description |
|---|
| collection | yes | each collection will be indexed and searched separately |
| id | yes | user id must be unique |
| name | yes | |
Sample Request
curl --location --request POST 'https://api.fpt.ai/vision/ekyc/facesearch/v4/create' \\
\--header 'api_key: xxxxxxxxxxxxxxxx' \\
\--form 'collection=test2' \\
\--form 'id=1234' \\
\--form 'name=Nam'
Response
JSON
{
"data": "User created/updated",
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | User created/updated |
Sample Response: Success
{
"data": "User created/updated",
"code": "200"
}
2. Index user images
Request Url
POST https://api.fpt.ai/vision/ekyc/facesearch/v4/add
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name, user id, and face image
| Parameter | Requirement | Description |
|---|
| collection | yes | each collection will be indexed and searched separately |
| id | yes | user id created |
| file | yes | face detected |
| allow_id_card | no | true/false: allow id card image |
Sample Request
curl --location --request POST 'https://api.fpt.ai/vision/ekyc/facesearch/v4/add' \\
\--header 'api_key: xxxxxxxxxxxxxxxx' \\
\--form 'file=\@/path/to/photo.jpg' \\
\--form 'collection=test2' \\
\--form 'id=1234'
Response
JSON
{
"data": "Add photo success",
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | Image index successs |
| 400 | Wrong format / Multiple faces / No face detected |
| 406 | Face covered with mask, hat, or sunglasses |
| 410 | Photo is id card |
Sample Response: Success
{
"data": "Add photo success",
"code": "200"
}
Sample Response: Error
{
"data": "No face detected",
"code": "400"
}
{
"data": "Photo is id card",
"code": "410"
}
3. Facesearch
Request Url
POST https://api.fpt.ai/vision/ekyc/facesearch/v4/search
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name, and the face image to be searched
| Parameter | Requirement | Description |
|---|
| collection | yes | each collection will be indexed and searched separately |
| file | yes | face detected |
| threshold | no | The default threshold for identification of 2 similar faces is 0.85 |
| allow_id_card | no | true/false: allow id card image |
Sample Request
curl --location --request POST 'https://api.fpt.ai/vision/ekyc/facesearch/v4/search' \\
\--header 'api_key: xxxxxxxxxxxxxxxx' \\
\--form 'file=\@/path/to/search_photo.jpg' \\
\--form 'collection=test2' \\
\--form 'threshold=0.9'
Response
JSON
{
"data": {
"id": "1234",
"name": "Nam",
"similarity": 0.9999998807907104
},
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | Image index successs |
| 400 | Wrong format / Multiple faces / No face detected |
| 404 | Not found |
| 406 | Face covered with mask, hat, or sunglasses |
| 410 | Photo is id card |
Sample Response: Success
{
"data": {
"id": "1234",
"name": "Nam",
"similarity": 0.9999998807907104
},
"code": "200"
}
Sample Response: Error
{
"data": "No face detected",
"code": "400"
}
{
"data": "Photo is id card",
"code": "410"
}
{
"data": "Not found",
"code": "404"
}
4. Remove face data (not delete the user)
Request Url
DELETE https://api.fpt.ai/vision/ekyc/facesearch/v4/delete_faces
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name and user id
| Parameter | Requirement | Description |
|---|
| collection | yes | collection name |
| id | yes | the id of user |
Sample Request
curl --location --request DELETE 'https://api.fpt.ai/vision/ekyc/facesearch/v4/delete_faces' \
--header 'api_key: xxxxxx' \
--form 'collection="test1"' \
--form 'id="2"'
Response
JSON
{
"data": "User faces deleted",
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | Faces delete success |
| 404 | User not found |
5. Delete user
Request Url
DELETE https://api.fpt.ai/vision/ekyc/facesearch/v4/delete
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name and user id
| Parameter | Requirement | Description |
|---|
| collection | yes | collection name |
| id | yes | the id of user |
Sample Request
curl --location --request DELETE 'https://api.fpt.ai/vision/ekyc/facesearch/v4/delete' \
--header 'api_key: xxxxxxxx' \
--form 'collection="test2"' \
--form 'id="1234"'
Response
JSON
{
"data": "User deleted",
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | User delete success |
| 404 | User not found |
6. List users in collection
Request Url
GET https://api.fpt.ai/vision/ekyc/facesearch/v4/list
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Params
Request string contains the collection name
| Parameter | Requirement | Description |
|---|
| collection | yes | The collection name that want to list users |
Sample Request
curl --location --request GET 'https://api.fpt.ai/vision/ekyc/facesearch/v4/list?collection=test1' \
--header 'api_key: xxxxxx' \
Response
JSON
{
"data": [
{
"id": "1",
"name": "Nguyen Van A"
},
{
"id": "3",
"name": "Nguyen Van B"
}
],
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | Request success |
7. Delete collection
Request Url
DELETE https://api.fpt.ai/vision/ekyc/facesearch/v4/delete_collection
| Parameter | Requirement | Default | Description |
|---|
| api_key | Yes | | your api_key (from console.fpt.ai) |
Request Body
FormData contains the collection name
| Parameter | Requirement | Description |
|---|
| collection | yes | collection name |
Sample Request
curl --location --request DELETE 'https://api.fpt.ai/vision/ekyc/facesearch/v4/delete_collection' \
--header 'api_key: xxxxxx' \
--form 'collection="test1"'
Response
JSON
{
"data": "Remove collection success",
"code": "200"
}
Response Code
| Code | meaning |
|---|
| 200 | Collection delete success |
| 404 | Collection not found |