REST API · v1

Documentazione API

Invia ritratti tramite un’API asincrona, condividi il saldo crediti esistente e monitora ogni attività e addebito.

Centro sviluppatori

Collega la tua app con una guida AI

Copia questo prompt in ChatGPT, Claude, Cursor o nel tuo assistente di programmazione. Ti chiederà quale tecnologia usi, poi ti guiderà nella configurazione delle credenziali, nella verifica del saldo, nell’invio di un’attività e nel controllo dei risultati.

Apri il testo semplice

Non devi inviare la tua chiave API all’AI. Il prompt ti guiderà nella configurazione sul tuo server.

Leggi il prompt completo / copia manualmente

Addebito

API: 1 credito per ogni test riuscito. Sito web: 10 crediti per test. Entrambi usano lo stesso saldo. La creazione tramite API prenota 1 credito; un insuccesso definitivo lo rimborsa una sola volta.

Invia Authorization: Bearer con l’autorizzazione richiesta. Usa lo stesso Idempotency-Key per ripetere l’invio degli stessi byte dell’immagine. Se lo riutilizzi con dati diversi, riceverai HTTP 409. Le richieste di consultazione non consumano crediti.

Endpoint

HTTPAutorizzazioni
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

Crea un’attività

Usa multipart/form-data con un solo file immagine (JPEG, PNG o WebP, fino a 5 MB) e il campo di consenso qui sotto. Questo endpoint può essere usato solo da adulti che inviano una propria foto con il proprio consenso. Gli URL remoti e i parametri aggiuntivi vengono rifiutati. Genera una nuova chiave idempotente solo per un nuovo test distinto.

# Genera e salva la chiave una sola volta per ogni nuovo test; per riprovare, esegui solo il comando curl qui sotto usando la chiave e l’immagine originali.
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"
  }
}

Richiedi i risultati

La creazione restituisce HTTP 202 e un ID attività. Invia una richiesta ogni 10–15 secondi. queued, processing e retrying sono stati non definitivi; succeeded e failed sono stati definitivi. La riattivazione di HF può richiedere diversi minuti. Le attività hanno una scadenza di 20 minuti; una sessione di lavoro attiva può ritardare fino a quattro minuti il recupero definitivo.

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

Errori e limiti

Le risposte usano code/message/data. HTTP 400: richiesta o consenso non validi; 401: chiave non valida o scaduta; 403: autorizzazione mancante; 402: crediti insufficienti; 404: attività inesistente o non di tua proprietà; 409: dati modificati; 413/415: dimensioni o tipo di immagine non validi; 429: limite di richieste, concorrenza o budget raggiunto; 503: servizio non disponibile. Rispetta Retry-After, riutilizza la stessa chiave idempotente e controlla message prima di riprovare.

Le chiavi scadono entro un anno. I budget includono i crediti prenotati e quelli usati per le operazioni riuscite; i rimborsi ripristinano il budget. L’account consente 60 richieste al minuto e un massimo di due attività API simultanee.

I ritratti vengono archiviati temporaneamente in un bucket privato ed eliminati al termine dell’elaborazione, con un’ulteriore cancellazione automatica dopo 24 ore. HF elabora la foto; le stime non costituiscono un parere medico, una verifica dell’identità o una prova dell’età.