Saltar para o conteúdo principal
O relatório de Estimativa de idade recolhe uma idade prevista pelo modelo (em anos) para o maior rosto detetado numa imagem, juntamente com uma verificação de prova de vida passiva que confirma que o sujeito é uma pessoa real e não uma fotografia, ecrã ou máscara. As duas verificações são sempre executadas em conjunto — a Estimativa de idade nunca devolve uma idade sem uma pontuação de prova de vida. Esta página documenta a estrutura JSON devolvida por ambos os métodos de chamada: o endpoint autónomo POST /v3/age-estimation/ e o campo age_estimation integrado nos relatórios de prova de vida do fluxo.
Relatório de estimativa de idade da Didit com idade prevista, pontuação de prova de vida passiva e métricas de qualidade do rosto

Visão geral

A Estimativa de idade tem dois modos de disponibilização:
  • API autónoma. O endpoint POST /v3/age-estimation/ aceita uma única imagem de rosto (user_image) e devolve a idade prevista e a pontuação de prova de vida passiva de forma síncrona. Consulte a referência da API autónoma de Estimativa de idade.
  • Integrada num fluxo. Cada relatório de prova de vida do fluxo inclui a idade prevista sob age_estimation — o valor é sempre preenchido a partir do maior rosto detetado. Os limiares de idade só são aplicados (acionando avisos de idade) em fluxos de estimativa de idade: fluxos adaptativos de verificação de idade ou nós de fluxo AGE_ESTIMATION.
Cada relatório contém:
  • O status geral (Approved, Declined).
  • O method de prova de vida (sempre PASSIVE na API autónoma; ACTIVE_3D / FLASHING / PASSIVE em fluxos).
  • Uma pontuação (score) de prova de vida (0–100; quanto mais alta, maior é a confiança de que o sujeito está vivo; null é tratado como 0 para verificações de limiar).
  • A age_estimation prevista em anos (float — por exemplo 27.33; null quando não foi possível estimar a idade do rosto).
  • Apenas na versão autónoma: um objeto user_image com uma matriz entities[] (uma entrada por rosto detetado — age, bbox, confidence, gender) e a orientação best_angle.
  • Apenas no fluxo: reference_image, video_url, matches[] e as métricas de qualidade de prova de vida passiva face_quality (0–100%) e face_luminance (0–100%). A resposta autónoma não inclui estes campos.
  • Uma matriz warnings[] — eventos de risco emitidos durante a verificação (consulte Avisos de Estimativa de idade).
A decisão na versão autónoma é Declined sempre que warnings não estiver vazia — Approved requer uma matriz vazia. Os avisos são acionados quando:
  • O score de prova de vida é igual ou inferior a face_liveness_score_decline_threshold (predefinição 30) — LOW_LIVENESS_SCORE.
  • A idade prevista é inferior a age_estimation_decline_threshold (predefinição 18) — AGE_BELOW_MINIMUM. Defina o limiar como 0 para desativar a verificação de idade.
  • Nenhum rosto é detetado (NO_FACE_DETECTED) ou não foi possível estimar a idade do rosto (AGE_NOT_DETECTED).
  • O modelo de prova de vida sinaliza um ataque de apresentação (LIVENESS_FACE_ATTACK).

Onde aparece nas respostas da API

API autónoma — POST /v3/age-estimation/

A resposta autónoma encapsula o resultado num único objeto age_estimation de nível superior, juntamente com request_id e os valores reproduzidos de vendor_data / metadata. Quando save_api_request=true (a predefinição), request_id é o ID de sessão persistido e o resultado também pode ser obtido mais tarde a partir do endpoint de decisão; quando false, é um UUID de correlação utilizado uma única vez.

Decisão do fluxo — GET /v3/session/{session_id}/decision/

Numa sessão de fluxo, a idade prevista está integrada no relatório de prova de vida — não existe uma matriz separada de estimativa de idade. O endpoint de decisão V3 devolve os relatórios de prova de vida sob a chave de matriz no plural liveness_checks (ReducedSessionV3DecisionSerializer.get_liveness_checks), e cada entrada inclui um valor de ponto flutuante em age_estimation — a idade estimada do maior rosto detetado — ou null se nenhuma idade tiver sido calculada (LivenessV2Serializer.get_age_estimation).
Leia a idade a partir de liveness_checks[].age_estimation. As chamadas autónomas persistidas (save_api_request=true) aparecem da mesma forma no endpoint de decisão, com features a conter AGE_ESTIMATION.

Esquema

O esquema canónico campo a campo encontra-se na página Modelos de dados. A estrutura da resposta autónoma é documentada por AgeEstimationResponseSerializer e montada em AgeEstimationAPIView; o valor do fluxo é produzido por LivenessV3Serializer.

Valores de estado

As cadeias de caracteres de estado provêm do enum partilhado de estado da funcionalidade (consulte Enums de estado). O endpoint autónomo apenas devolve: Nas sessões de fluxo, a verificação de prova de vida também pode ser resolvida como In Review quando um risco configurável é acionado com uma ação de revisão (por exemplo, POSSIBLE_DUPLICATED_FACE). Consulte a referência do enum de estado.

Exemplos

Approved — autónomo, sujeito adulto

Declined — autónomo, idade prevista abaixo do limiar

Approved — integrado num relatório de prova de vida de fluxo

Nota de segurança

Todos os URLs de imagem e vídeo devolvidos na resposta são ligações pré-assinadas com uma janela de validade limitada. Trate-os como referências de curta duração — não os partilhe publicamente e chame novamente o endpoint de decisão para atualizar URLs expirados. Como boa prática, armazene apenas o estado de verificação e os valores de confiança do seu lado, em vez dos dados biométricos subjacentes.

Relacionado

Última modificação em 7 de novembro de 2026