Skip to main content

Crear una Validación de Vivacidad de Documento

Endpoint

POST https://api.verifik.co/v2/document-liveness

Una Validación de Vivacidad de Documento es el resultado de todas las validaciones realizadas sobre un documento enviado como imagen en base64. Tenemos cuatro tipos de validaciones que ejecutamos sobre el documento: Reproducción en Pantalla (Screen Replay), Copia Impresa (Printed Copy), Sustitución de Retrato (Portrait Substitution) y Manipulación Digital (Digital Manipulation). También puedes decidir almacenar el base64 en nuestro CDN para poder recuperar la imagen que probaste.

Encabezados

Content-Type

Tipo: String
Requerido: Sí

application/json

Authorization

Tipo: String
Requerido: Sí

Bearer <token>

Parámetros de Cuerpo

image

Tipo: Blob
Requerido: Sí

El documento a probar en formato base64.

saveImage

Tipo: Boolean
Requerido: No

Este booleano define si guardamos la imagen o no para futuras inspecciones.

validateScreenReplay

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una reproducción en pantalla.

validatePrintedCopy

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una copia impresa.

validatePortraitSubstitution

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una sustitución de retrato.

validateDigitalManipulation

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una manipulación digital.

screenReplayCalibration

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

printedCopyCalibration

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

portraitSubstitutionCalibration

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

ignoreDocumentCroppedValidation

Tipo: Boolean
Requerido: No

Ignora si el documento fue recortado.

ignoreColourLessValidation

Tipo: Boolean
Requerido: No

Ignora la falta de color en el documento.

Solicitud

import axios from 'axios';

const options = {
method: 'POST',
url: 'https://api.verifik.co/v2/document-liveness',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_token>'
},
data: {
image: 'base64_encoded_document_image',
saveImage: true,
validatePrintedCopy: true,
validateScreenReplay: true,
validatePortraitSubstitution: true,
validateDigitalManipulation: true,
screenReplayCalibration: 'REGULAR',
printedCopyCalibration: 'REGULAR',
portraitSubstitutionCalibration: 'REGULAR',
ignoreDocumentCroppedValidation: false,
ignoreColourLessValidation: false
}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Respuesta

{
"data": {
"client": "68f18d25aafc7dbd2a0bd416",
"imageSaved": true,
"imageUrl": "https://cdn.verifik.co/document-liveness/document-liveness-1761614605009",
"validateScreenReplay": true,
"validatePrintedCopy": true,
"validatePortraitSubstitution": false,
"validateDigitalManipulation": false,
"sreenReplayScore": 0.20818532,
"printedCopyScore": 2.725058,
"portraitSubstitutionScore": 0,
"digitalManipulationScore": 0,
"screenReplayProbability": 0.0008,
"printedCopyProbability": 0.0001,
"portraitSubstitutionProbability": 0,
"digitalManipulationProbability": 0,
"sreenReplayCalibration": "REGULAR",
"printedCopyCalibration": "REGULAR",
"portraitSubstitutionCalibration": "REGULAR",
"digitalManipulationCalibration": "REGULAR",
"ignoreDocumentCroppedValidation": false,
"ignoreColourLessValidation": false,
"screenReplayWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"printedCopyWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"portraitSubstitutionWarnings": [],
"digitalManipulationWarnings": [],
"screenReplayErrors": [],
"printedCopyErrors": [],
"portraitSubstitutionErrors": [],
"digitalManipulationErrors": [],
"aggregatedScore": 0.0004,
"isLive": false,
"aggregateWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"_id": "69001b0d3440483cbaae2d68",
"updatedAt": "2025-10-28T01:23:59.928Z",
"createdAt": "2025-10-28T01:23:59.928Z",
"__v": 0,
"chargesCount": 2,
"rawResponse": {
"pipeline_results": [
{
"pipeline_name": "screen-replay_2024-09",
"liveness_score": 0.20818532,
"liveness_probability": "0.0008",
"is_live": false,
"image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"status": "success"
},
{
"pipeline_name": "printed-copy_2024-09",
"liveness_score": 2.725058,
"liveness_probability": "0.0001",
"is_live": false,
"image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"status": "success"
}
],
"charges_count": 2,
"aggregate_liveness_probability": "0.0004",
"aggregate_is_live": false,
"aggregate_image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"]
}
},
"signature": {
"dateTime": "October 28, 2025 1:24 AM",
"message": "Certified by Verifik.co"
},
"id": "8YISP"
}