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 desarrolladoresConecta 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.
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
| HTTP | Permisos |
|---|---|
| POST /api/v1/face-age/jobs | face-age:write |
| GET /api/v1/face-age/jobs/{id} | face-age:read |
| GET /api/v1/credits | credits:read |
| GET /api/v1/usage?page=1&pageSize=20 | usage: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.