Face Liveness Detection — Anti-Spoofing Check
Detect if a face image is a real person or a spoof attempt (photo, screen, mask). Passive liveness check — no user action required.
curl -X POST "https://production.deepvue.tech/v1/liveness-check" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN (JWT)" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"image": "example_string"
}'
import requests
import json
url = "https://production.deepvue.tech/v1/liveness-check"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
}
data = {
"image": "example_string"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://production.deepvue.tech/v1/liveness-check", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
},
body: JSON.stringify({
"image": "example_string"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"image": "example_string"
}`)
req, err := http.NewRequest("POST", "https://production.deepvue.tech/v1/liveness-check", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN (JWT)")
req.Header.Set("x-api-key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://production.deepvue.tech/v1/liveness-check')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN (JWT)'
request['x-api-key'] = 'YOUR_API_KEY'
request.body = '{
"image": "example_string"
}'
response = http.request(request)
puts response.body
{
"code": 200,
"timestamp": null,
"transaction_id": "string",
"sub_code": "SUCCESS",
"message": "Request processed successfully",
"data": {
"is_live": true,
"score": null
}
}
{
"code": 200,
"timestamp": null,
"transaction_id": "string",
"sub_code": "FACE_NOT_DETECTED",
"message": "Face Not Detected"
}
{
"detail": "Inactive client_id"
}
{
"detail": "Not authenticated"
}
{
"detail": "Not a valid token"
}
{
"code": 422,
"timestamp": null,
"transaction_id": "string",
"sub_code": "INVALID_URL",
"message": "Invalid URL"
}
{
"code": 422,
"timestamp": null,
"transaction_id": "string",
"sub_code": "INVALID_BASE64_STRING",
"message": "Invalid base64 string"
}
{
"code": 500,
"timestamp": null,
"transaction_id": "string",
"sub_code": "INTERNAL_SERVER_ERROR",
"message": "Internal Server Error"
}
/v1/liveness-check
ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
The media type of the request body
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token (JWT). ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
API Key for authentication. The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
Body
Responses
Overview
Liveness Check is a process of verifying that a real person is present and not a photo or video. It is a critical step in the KYC process. This API employs passive liveness detection, analyzing a user-provided selfie or image to determine authenticity without requiring active user participation.
The API accepts image data either as a URL or as a base64-encoded string within the request body. Successful requests return confirmation that a live face was detected with an is_live boolean flag, or notification that no face was detected in the submitted image.
Last updated 4 weeks ago
Built with Documentation.AI