Liveness
Analyzes a single photo to determine whether it likely came from a live person (not a screen, printed photo, or mask).
No template enrollment or comparison is performed — this is a standalone liveness check.
Endpoint
POST https://cloud.ooto-ai.com/api/v1.0/liveness
Request Format
Method: POST
Content-Type: multipart/form-data
Authentication Headers
To access the API, you need to include the following headers in your request:
APP-ID: Your application's unique identifier.
APP-KEY: Your application's authentication key.
Form Data
Field
Type
Required
Description
photo
File
Yes
JPEG or PNG image with one clear human face
Example Request (cURL)
curl -X POST --location 'https://cloud.ooto-ai.com/api/v1.0/liveness' \
--header 'APP-ID: <put_app_id_here>' \
--header 'APP-KEY: <put_app_key_here>' \
--form 'photo=@"/path/to/photo"'
Replace «app_id», «app_key» with your actual credentials and the path to your selfie image.
Successful Response (HTTP 200)
{
"transactionId": "6cd34e01-d641-4ace-b2c0-3d548df1beae",
"result": {
"liveness": {
"score": 0.8860905766487122,
"fine": true
},
"box": {
"x": 25,
"y": 275,
"w": 606,
"h": 761
},
"landmarks": [
[
230,
574
],
[
457,
567
],
[
369,
740
],
[
248,
802
],
[
444,
796
]
]
}
}
Field Explanation
Field
Description
score
Liveness score from 0.0 to 1.0 — higher is more likely live
fine
true if score passes internal threshold (usually ≥ 0.75)
quality
Image quality of detected face
box
Bounding box of detected face [x1, y1, x2, y2]
landmarks
Facial keypoints (68-point format)
Error response (HTTP 400)
{
"transactionId": "efb66e50-4c87-493d-b026-543dacdbe314",
"result": {
"status": "error",
"code": 5,
"info": "can not detect face"
}
}
Engine Errors
Code
Info
1
photo should not be empty
2
wrong mime-type in input data
3
photo size is 0 bytes
4
can not decode image, check it is valid jpeg or png file
5
can not detect face
6
more than one face detected on photo
9
can not extract features from sample, probably it is too small
Notes
Use in real-time flows to detect screen/photo attacks
Input must contain exactly one frontal face
Can be used before enrolling or verifying identity
Last updated