REST API · v1

Documentación de la API

Envía retratos mediante una API asíncrona, comparte tu cartera de créditos y consulta cada tarea y cargo.

Centro para desarrolladores

Conecta tu app con una guía de IA

Copia este prompt en ChatGPT, Claude, Cursor o tu asistente de programación. Te preguntará por tu entorno tecnológico y luego te guiará para configurar las credenciales, consultar el saldo, enviar una tarea y verificar el resultado.

Abrir texto sin formato

No necesitas enviar tu clave API a la IA. El prompt te guía para configurarla en el entorno de tu propio servidor.

Leer el prompt completo / copiar manualmente

Facturación

API: 1 crédito por prueba completada correctamente. Sitio web: 10 créditos por prueba. Ambas usan la misma cartera. La creación mediante API reserva 1 crédito; un error definitivo lo reembolsa una sola vez.

Envía Authorization: Bearer con el permiso requerido. Usa la misma Idempotency-Key al reintentar solicitudes con los mismos bytes de imagen. Si la reutilizas con datos de entrada distintos, se devuelve HTTP 409. Las consultas no consumen créditos.

Endpoints

HTTPPermisos
POST /api/v1/face-age/jobsface-age:write
GET /api/v1/face-age/jobs/{id}face-age:read
GET /api/v1/creditscredits:read
GET /api/v1/usage?page=1&pageSize=20usage:read

Crear una tarea

Usa multipart/form-data con un archivo de imagen (JPEG, PNG o WebP, de hasta 5 MB) y el campo de consentimiento que aparece abajo. Solo las personas adultas que envíen su propia foto con su consentimiento pueden usar este endpoint. Se rechazan las URL remotas y los parámetros adicionales. Genera una nueva clave de idempotencia solo para una prueba nueva.

# Genérala y guárdala una vez por cada prueba nueva; si reintentas, ejecuta solo el curl de abajo con la clave y la imagen originales.
IDEMPOTENCY_KEY="$(uuidgen)"

curl -X POST 'https://fahrface.org/api/v1/face-age/jobs' \
  -H "Authorization: Bearer $FAHRFACE_API_KEY" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -F 'image=@portrait.jpg' \
  -F 'consent=appearance-age-2026-10-21'
{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "JOB_ID",
    "status": "queued",
    "age": null,
    "creditsCost": 1,
    "billingStatus": "reserved"
  }
}

Consultar resultados

La creación devuelve HTTP 202 y un ID de tarea. Consulta cada 10–15 segundos. queued, processing y retrying son estados no terminales; succeeded y failed son terminales. La activación de HF puede tardar varios minutos. Las tareas tienen un plazo de 20 minutos; una concesión de trabajo activa puede retrasar la recuperación final hasta cuatro minutos más.

curl 'https://fahrface.org/api/v1/face-age/jobs/JOB_ID' \
  -H "Authorization: Bearer $FAHRFACE_API_KEY"

Errores y límites

Las respuestas usan code/message/data. HTTP 400: solicitud o consentimiento no válidos; 401: clave no válida o caducada; 403: falta un permiso; 402: créditos insuficientes; 404: tarea inexistente o que no te pertenece; 409: datos de entrada modificados; 413/415: tamaño o tipo de imagen no válido; 429: límite de solicitudes, concurrencia o presupuesto; 503: servicio no disponible. Respeta Retry-After, reutiliza la misma clave de idempotencia y revisa message antes de volver a intentarlo.

Las claves caducan en un plazo máximo de un año. Los presupuestos incluyen los créditos reservados y los usados correctamente; los reembolsos restauran el presupuesto. La cuenta permite 60 solicitudes por minuto y un máximo de dos tareas API activas.

Los retratos se almacenan temporalmente en un bucket privado y se eliminan al finalizar el procesamiento, con un mecanismo alternativo de eliminación a las 24 horas. HF procesa la foto; las estimaciones no constituyen asesoramiento médico, verificación de identidad ni prueba de edad.