Skip to main content

Detección de Vitalidad

Endpoint

POST https://api.verifik.co/v2/face-recognition/liveness

Detecta si una imagen facial enviada proviene de una persona en vivo o de un spoof (foto, reproducción de pantalla, copia impresa). Retorna un puntaje de vitalidad y un resultado de aprobado/rechazado basado en un umbral de puntaje mínimo.

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Parámetros

NameTypeRequiredDescription
osstringOrigen de captura. Sugerido: DESKTOP, IOS, ANDROID.
imagestringDatos de imagen Base64 (data URI o base64 crudo). Si se proporciona una URL https, será descargada y convertida internamente.
collection_idstringNoColección opcional para asociar con el intento de vitalidad.
liveness_min_scorenumberNoUmbral para aprobado/rechazado. Por defecto: 0.6.

Solicitud

const fetch = require("node-fetch");

async function run() {
const res = await fetch("https://api.verifik.co/v2/face-recognition/liveness", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
os: "DESKTOP",
image: "<base64 or https url>",
liveness_min_score: 0.6,
}),
});
console.log(await res.json());
}

run();

Respuesta

{
"id": "JQ4RM",
"data": {
"passed": true,
"min_score": 0.6,
"liveness_score": 0.98
},
"signature": {
"message": "Certified by Verifik.co",
"dateTime": "January 16, 2024 3:44 PM"
}
}

Notas

  • Asegúrate de que Authorization: Bearer <token> esté presente; de lo contrario recibirás 401/403.
  • image puede ser base64 o una URL https. Si es URL, el servicio la descarga y convierte internamente.
  • Aprobado/rechazado se determina por liveness_score > min_score (el min_score por defecto es 0.6, configurable via liveness_min_score).
  • El collection_id opcional se valida para el cliente autenticado.