API
FPT.AI Reader - Liveness Detection
Quy định ảnh đầu vào
Đối với video
Video đầu vào không vượt quá 10 MB và độ phân giải tối thiểu khoảng 800x600 để đảm bảo độ chính xác
Tỉ lệ diện tích mặt phải phải chiếm tối thiểu 3/5 tổng diện tích video trở lên
Độ dài video từ 5-10s
Đối với hình ảnh gửi kèm (để so sánh khuôn mặt)
Ảnh muốn so sánh với frame trong video không vượt quá 5 MB và độ phân giải tối thiểu khoảng 800x600.
Tỉ lệ diện tích mặt phải phải chiếm tối thiểu 3/5 tổng diện tích ảnh trở lên
Ảnh tiêu chuẩn
Ảnh/Video kém chất lượng
- Ảnh chất lượng thấp hoặc mặt bị che
- Video bị mờ, quay với camera chất lượng thấp
Thông tin API
Request Url
POST https://api.fpt.ai/dmp/liveness/v3
Request Headers
Tham số | Yêu cầu | Mặc định | Mô tả |
---|---|---|---|
api_key | Có | api_key của bạn (lấy từ console.fpt.ai) |
Request Body
FormData chứa video và ảnh cần kiểm tra
Tham số | Yêu cầu | Mô tả |
---|---|---|
video | có | Video quay lại cử động tự nhiên của khuôn mặt khách hàng |
cmnd | không | Ảnh muốn so sánh với khuôn mặt thẳng nhất trong video |
Sample Request
curl --location --request POST 'https://api.fpt.ai/dmp/liveness/v3' \
--header 'api-key: xxxxxxxx' \
--form 'video=@"/video.mp4"' \
--form 'cmnd=@"/face.jpg"'
Response
JSON
{
"code": "200",
"message": "request successful.",
"is_live": true,
"prob": "0.006677149",
"need_to_review": false,
"is_deepfake": false,
"deepfake_prob": "0.0016087113",
"face_match": {
"isMatch": false,
"similarity": 1.8187788133647025
},
"face_match_error": {}
}
Các thông tin trả về
Trường | Mô tả |
---|---|
code | Mã kết quả/lỗi |
is_live | Kết quả xác thực video |
is_deepfake | Kết quả kiểm tra video có dùng deepfake không |
face_match | Kết quả so khớp khuôn mặt |
face_match_error | Lỗi (nếu có) khi so khớp khuôn mặt |
Mã Code
Code | Ý nghĩa |
---|---|
200 | Không có lỗi, xem thêm kết quả trong các trường ở trên |
408 | Trong video có 2 mặt người trở lên |
409 | Không có file video gửi lên/Sai extension |
410 | Trong video không có mặt người |
411 | Kích thước khuôn mặt quá bé |
412 | Mặt quá mờ |
413 | Video là ảnh tĩnh |
Sample Response: Success
{
"code": "200",
"message": "request successful.",
"is_live": true,
"prob": "0.006677149",
"need_to_review": false,
"is_deepfake": false,
"deepfake_prob": "0.0016087113",
"face_match": {
"isMatch": false,
"similarity": 81.81878813647025
}
}
Sample Response: Error
{
"code": "200",
"message": "request successful.",
"is_live": true,
"prob": "0.006677149",
"need_to_review": false,
"is_deepfake": false,
"deepfake_prob": "0.0016087113",
"face_match_error": {
"code": "407",
"data": "No faces detected"
}
}
{
"code": "200",
"message": "request successful.",
"is_live": true,
"prob": "0.1212767",
"need_to_review": true,
"is_deepfake": true,
"deepfake_prob": "0.99999964",
"face_match": {
"isMatch": false,
"similarity": 8.060021979547948
}
}
{
"code": "200",
"message": "request successful.",
"is_live": false,
"prob": "0.9255054",
"need_to_review": false,
"face_match": {
"isMatch": false,
"similarity": 22.457926631125535
}
}
{
"code": "408",
"message": "request successful.",
"data": "2 faces"
}
{
"code": "409",
"message": "request successful.",
"data": "Allowed extensions are mov, mp4, mkv, webm"
}
{
"code": "410",
"message": "request successful.",
"data": "No faces"
}
{
"code": "411",
"message": "request successful.",
"is_live": false,
"need_to_review": false
}
{
"code": "412",
"message": "request successful.",
"is_live": false,
"need_to_review": false
}
{
"code": "413",
"message": "request successful.",
"is_live": false,
"need_to_review": false
}