Passive Face Liveness Detection distinguishes between a live image and a 2D printed, 3D printed or a digital image of a user's face uploaded by a spoof artifact. This model works as an anti-spoofing technology against presentation attacks. With the advent of online digital identity verification, chances of frauds have increased where any identity can be provided by capturing a photo from a picture. Our module analyses any given image to predict whether the person in the picture was present and live at the moment of capture or not. While many proactive measures are in place to detect while the person is capturing in real time, ours is one of the few passive models which works on any image provided.
Instantly authenticate users without delays, ensuring seamless user experience
Ensure precision image analysis, delivering accurate and reliable confidence scores for every verification
AI-powered automation handles surges in volume, processing verifications in <5 seconds
Integrates with existing systems, making it suitable across industries and scalable for businesses
Annual API Volume
Accuracy Rate
Daily API Volume
Time to launch
Hassle-Free,
No Code Platform
Easy to adopt
& integrate
99.99%
API Success Rate
Reliable &
Secure
6 Dec 2023
Financial document fraud has increased in the last two years. Scammers...
19 March 2024
While we expect bank statements to be accurate records of financial transactions...
30 April 2024
With banks and financial institutions heavily relying on large volumes of data, they...
Check out the API results using samples provided below.
Please wait...
{{output.body.error_message}}
Confidence Score : {{v | percent }}%
curl --location --request POST '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
"doc_base64": '< base64 string of document >',
"req_id": '< string >'
}'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "doc_base64": '< base64 string of document >',"req_id": '< string >' }");
Request request = new Request.Builder()
.url("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
.method("POST", body)
.addHeader("token", "< your private token >")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
require "uri"
require "net/http"
url = URI("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = "< your private token >"
request["content-type"] = "application/json"
request.body = "{ "doc_base64": '< base64 string of document >',"req_id": < string > }"
response = https.request(request)
puts response.read_body
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "token: < your private token >");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{ "doc_base64": '< base64 string of document >',"req_id": < string > }";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
var request = require('request');
var options = {
'method': 'POST',
'url': '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}',
'headers': {
'token': '< your private token >',
'content-type':'application/json'
},
body: '{ "doc_base64": "< base64 string of document >","req_id": < string > }'
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
ṣclient.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@" "doc_base64": '< base64 string of document >'," + "" +
@" "req_id": < string >" + "" +
@" }";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => '< your private token >',
'content-type' => 'application/json'
));
$request->setBody('{ "doc_base64": "< base64 string of document >","req_id": < string > }');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
import requests
url = "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}"
payload = { "doc_base64": "< base64 string of document >", "req_id": < string > }
headers = {
'token': '< your private token >',
'content-type':'application/json'
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
Name | Description |
---|---|
token | String |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "doc_base64": < base64 encoded string > } |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "success" : < boolean >, "doc_type": < string >, "error_message" : < string >, "doc_json" : < object > } |
Fields | Values/Description |
---|---|
req_id | Unique request ID used for processing requests |
doc_base64 | Base64 encoded string of the document |
Fields | Values/Description |
---|---|
req_id | Corresponding request id |
success | Flag if the request is processed successfully |
doc_type | Type of KYC document uploaded |
error_message | If success is False then: Error message |
doc_json | JSON response of the document liveness |