Vai al contenuto principale
Il report di Stima dell’età rileva un’età stimata dal modello (in anni) per il volto più grande rilevato in un’immagine, combinata con un controllo di vitalità passiva che conferma che il soggetto sia una persona reale anziché una foto, uno schermo o una maschera. I due controlli vengono sempre eseguiti insieme — Stima dell’età non restituisce mai un’età senza un punteggio di vitalità. Questa pagina documenta la struttura JSON restituita da entrambi i percorsi di chiamata: l’endpoint standalone POST /v3/age-estimation/ e il campo integrato age_estimation nei report di vitalità del workflow.
Report di Stima dell'età di Didit con età stimata, punteggio di vitalità passiva e metriche di qualità del volto

Panoramica

Stima dell’età prevede due modalità di consegna:
  • API standalone. POST /v3/age-estimation/ accetta un’unica immagine del volto (user_image) e restituisce l’età stimata e il punteggio di vitalità passiva in modo sincrono. Consulta il riferimento API standalone di Stima dell’età.
  • Integrato in un workflow. Ogni report di vitalità del workflow include l’età stimata nel campo age_estimation — il valore viene sempre ricavato dal volto più grande rilevato. Le soglie di età vengono applicate (generando avvisi sull’età) solo nei flussi di stima dell’età: workflow di verifica dell’età adattivi o nodi di workflow AGE_ESTIMATION.
Ogni report contiene:
  • Lo status complessivo (Approved, Declined).
  • Il method di vitalità (sempre PASSIVE nell’API standalone; ACTIVE_3D / FLASHING / PASSIVE nei workflow).
  • Uno score di vitalità (0–100; più è alto, maggiore è la probabilità che il soggetto sia in vita; null viene trattato come 0 per i controlli di soglia).
  • Il valore age_estimation stimato in anni (float — ad esempio 27.33; null quando non è stato possibile stimare l’età del volto).
  • Solo standalone: un oggetto user_image con un array entities[] (una voce per ciascun volto rilevato — age, bbox, confidence, gender) e l’orientamento best_angle.
  • Solo workflow: reference_image, video_url, matches[] e le metriche di qualità della vitalità passiva face_quality (0–100%) e face_luminance (0–100%). La risposta standalone non include questi campi.
  • Un array warnings[] — eventi di rischio generati durante il controllo (vedi Avvisi di Stima dell’età).
La decisione standalone è Declined ogni volta che warnings non è vuoto — Approved richiede un array vuoto. Gli avvisi scattano quando:
  • Lo score di vitalità è pari o inferiore a face_liveness_score_decline_threshold (valore predefinito 30) — LOW_LIVENESS_SCORE.
  • L’età stimata è inferiore a age_estimation_decline_threshold (valore predefinito 18) — AGE_BELOW_MINIMUM. Imposta la soglia su 0 per disabilitare il controllo dell’età.
  • Non viene rilevato alcun volto (NO_FACE_DETECTED) oppure non è stato possibile stimare l’età del volto (AGE_NOT_DETECTED).
  • Il modello di vitalità segnala un attacco di presentazione (LIVENESS_FACE_ATTACK).

Dove compare nelle risposte dell’API

API standalone — POST /v3/age-estimation/

La risposta standalone racchiude il risultato all’interno di un unico oggetto age_estimation di primo livello, insieme a request_id e ai campi vendor_data / metadata riproposti nella risposta. Quando save_api_request=true (impostazione predefinita), request_id è l’ID della sessione persistente e il risultato può essere recuperato in seguito anche dall’endpoint decisionale; quando è false, è un UUID di correlazione monouso.

Decisione del workflow — GET /v3/session/{session_id}/decision/

In una sessione di workflow, l’età stimata è incorporata all’interno del report di vitalità — non esiste un array separato per la stima dell’età. L’endpoint decisionale V3 restituisce i report di vitalità nell’array con chiave al plurale liveness_checks (ReducedSessionV3DecisionSerializer.get_liveness_checks), e ciascuna voce contiene un float age_estimation — l’età stimata del volto più grande rilevato — oppure null se non è stata calcolata alcuna età (LivenessV2Serializer.get_age_estimation).
Leggi l’età da liveness_checks[].age_estimation. Le chiamate standalone persistite (save_api_request=true) compaiono allo stesso modo sull’endpoint decisionale, con features che contiene AGE_ESTIMATION.

Schema

Lo schema canonico campo per campo si trova nella pagina Modelli di dati. La struttura della risposta standalone è documentata da AgeEstimationResponseSerializer e assemblata in AgeEstimationAPIView; il valore del workflow è generato da LivenessV3Serializer.

Valori di status

Le stringhe di stato provengono dall’enum condiviso degli stati delle funzionalità (vedi Enum degli stati). L’endpoint standalone restituisce esclusivamente: Nelle sessioni di workflow, il controllo di vitalità può anche risolversi in In Review quando un rischio configurabile genera un’azione di revisione (ad esempio POSSIBLE_DUPLICATED_FACE). Consulta il riferimento all’enum degli stati.

Esempi

Approved — standalone, soggetto adulto

Declined — standalone, età stimata inferiore alla soglia

Approved — incorporato in un report di vitalità del workflow

Nota di sicurezza

Tutti gli URL di immagini e video restituiti nella risposta sono link pre-firmati con una finestra temporale di validità limitata. Trattali come riferimenti di breve durata: non condividerli pubblicamente e chiama nuovamente l’endpoint decisionale per aggiornare gli URL scaduti. Come buona prassi, memorizza dal tuo lato solo lo stato di verifica e i valori di affidabilità, anziché i file multimediali biometrici sottostanti.

Risorse correlate

Ultima modifica il 7 novembre 2026