> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# API de Estimativa de Idade: Verificação por Selfie

> Estime a idade por selfie com a Didit. $0.10 por chamada, erro médio de 1.1 anos aos 16-17 anos e fallback opcional de verificação de identidade.

A Estimativa de idade da Didit prevê a idade de uma pessoa a partir de uma selfie, com prova de vida passiva incluída, para que possa controlar o acesso a serviços com restrição de idade sem pedir um documento de identificação a cada utilizador. O modelo é mais preciso precisamente nos casos em que é tomada a decisão de restrição etária: o seu erro médio absoluto é de 1,1 anos para jovens de 16 e 17 anos e de 1,9 anos para pessoas de 18 a 20 anos, e classifica corretamente 96% das selfies como menores de 18 ou com 18 anos ou mais (consulte [Desempenho do modelo](#desempenho-e-estatísticas-do-modelo)).

Prompt de integração da estimativa de idade
        Copiar o prompt para a área de transferência



      
      

\<pre>

\````# Goal
Integrate Didit Age Estimation (selfie-based age gating, includes passive liveness) into your app. Pick ONE mode.

\# Mode A — Session-based (embedded in Liveness)
In hosted Didit flows, age estimation is **embedded inside the Liveness step** — there is no separate "age_estimation" workflow feature. Enable age estimation on the Liveness node in the Business Console.

1\. Configure the workflow's LIVENESS feature with age estimation enabled and set age_estimation_decline_threshold (default 18).
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open session.url for the user (or mount the Web/Mobile SDK).
4\. Fetch the decision — GET /v3/session/{sessionId}/decision/.

Decision surface: the result lives at `liveness_checks[].age_estimation` on each Liveness entry (not in a top-level age_estimations[] array).

\# Mode B — Standalone API (server-to-server, age + liveness in one call)
Use when you already have a selfie and need a one-shot age gate.

POST https://verification.didit.me/v3/age-estimation/
multipart/form-data — x-api-key: YOUR_API_KEY

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/age-estimation/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'user_image=@./selfie.jpg' \
-F 'age_estimation_decline_threshold=18' \
-F 'save_api_request=true' \
-F 'vendor_data=user-1234'
\```
Returns: { request_id, age_estimation: { status, method: "PASSIVE", age_estimation (float, years), score (passive-liveness 0-100), user_image: {entities}, warnings: [...] } }.

Required: `user_image` (jpg/jpeg/png/tiff/webp, max 5 MB; PDFs not accepted). The largest face wins when multiple are present.

\# Decision logic
status="Declined" when ANY of the following is true:
\- passive-liveness score ≤ face_liveness_score_decline_threshold (default 30)
\- predicted age < age_estimation_decline_threshold (default 18)
\- no face detected
\- liveness model flagged a presentation attack

\# Status enum
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings
warnings[] risk codes include:
AGE_BELOW_MINIMUM, AGE_NOT_DETECTED, LOW_LIVENESS_SCORE, NO_FACE_DETECTED, LIVENESS_FACE_ATTACK, MULTIPLE_FACES_DETECTED.
Full catalogue: /core-technology/age-estimation/warnings-age-estimation.

\# Failure modes to handle
\- HTTP 400 — missing or oversized user_image, unsupported extension.
\- HTTP 403 — out of credits.
\- status="Declined" with AGE_BELOW_MINIMUM — user is below the configured age; reject.
\- status="Declined" with LOW_LIVENESS_SCORE / LIVENESS_FACE_ATTACK — presentation attack suspected; reject.
\- AGE_NOT_DETECTED — the model could not extract age (poor image quality); request a retake.

\# See also
\- Canonical schema: /reference/data-models#age-estimation
\- Per-feature report: /core-technology/age-estimation/report-age-estimation
\- Risk catalogue: /core-technology/age-estimation/warnings-age-estimation
\- Full integration playbook: /integration/integration-prompt````

\</pre>



      
      

Colar em

## Métodos de estimativa de idadeA nossa plataforma implementa a estimativa de idade em conjunto com diferentes tecnologias de verificação de prova de vida:<table>
  <thead>
    <tr>
      <th>Método</th>
      <th>Descrição</th>
      <th>Nível de segurança</th>
      <th>Mais indicado para</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**`3D Action & Flash`**</td>

      <td>
        • Combina a verificação biométrica multifator com uma **sequência de ações aleatorizada** e **análise dinâmica de padrões de luz**.\

        • No início, é pedido ao utilizador que realize uma ação simples, como **piscar os olhos** ou **acenar com a cabeça**, garantindo uma interação em tempo real.\

        • Simultaneamente, o sistema projeta uma sequência de padrões de luz no rosto, analisando os **reflexos** para confirmar a estrutura tridimensional do rosto.\

        • **Algoritmos de aprendizagem profunda** examinam microexpressões e as respostas aos reflexos da luz para verificar a presença de uma pessoa viva.\

        • Oferece o **nível de segurança mais elevado** ao integrar pistas comportamentais (ação) e físicas (profundidade baseada em luz), tornando quase impossível o spoofing com imagens estáticas, vídeos ou até máscaras avançadas.
      </td>

      <td>Mais elevado</td>
      <td>Banca, saúde, aplicações governamentais</td>
    </tr>

    <tr>
      <td>**`3D Flash`**</td>

      <td>
        • Utiliza a **análise dinâmica de padrões de luz** para validar a topologia facial sem exigir a interação do utilizador.\

        • Projeta uma série de padrões de luz no rosto a mais de **30 fotogramas por segundo**, analisando os reflexos para criar um **mapa de profundidade**.\

        • Este mapa de profundidade confirma a estrutura tridimensional do rosto, distinguindo-o de imagens planas ou spoofing em 2D.\

        • Proporciona uma **experiência fluida** enquanto mantém uma **segurança elevada** contra ataques de apresentação, como fotografias ou ecrãs.\

      </td>

      <td>Elevado</td>
      <td>Serviços financeiros, acesso a contas, verificação de identidade</td>
    </tr>

    <tr>
      <td>**`Passive Liveness`**</td>

      <td>
        • Depende da **análise de aprendizagem profunda de fotograma único** para detetar sinais de prova de vida.\

        • Por motivos de privacidade, o rosto do utilizador aparece desfocado na interface, garantindo-lhe que a sua imagem está a ser analisada apenas para estimativa de idade e não para identificação.\

        • Examina a imagem à procura de **artefactos**, **padrões de textura** e outros indicadores subtis que diferenciam um rosto real de um spoof.\

        • Uma **rede neuronal convolucional (CNN)** valida as características faciais e identifica anomalias, tais como as provenientes de fotografias impressas ou ecrãs digitais.\

        • Oferece uma verificação **rápida e conveniente**, mas proporciona uma **segurança padrão**, adequada para casos de utilização de baixo risco.\

      </td>

      <td>Padrão</td>
      <td>Cenários de baixa fricção, aplicações de consumo</td>
    </tr>
  </tbody>
</table>Cada método gera uma estimativa de idade precisa, juntamente com pontuações de confiança e dados suplementares de estimativa de género.### Limiares configuráveisPode personalizar os níveis de segurança ao definir diferentes limiares para a estimativa de idade. Por exemplo:![Configuração de limiares de estimativa de idade da Didit para políticas de controlo de idade](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/age-estimation-thresholds.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=11ffd7baa63b7193970c6b67386279f8)> [!NOTE]
>
> Estes limiares podem ser ajustados com base na sua tolerância ao risco e nos seus requisitos de segurança.### Restrições de idade por paísAs restrições de idade podem ser configuradas **por país**, refletindo o facto de que a maioridade legal varia entre jurisdições. Em vez de definir uma idade mínima ou máxima global única, pode definir limites de idade específicos para cada país - e até para estados ou regiões individuais dentro de um país.#### Como funciona- **Configuração ao nível do país**: defina uma idade mínima e/ou máxima para cada país (identificado pelo estado emissor do documento). Por exemplo, pode exigir uma idade mínima de 18 anos nos Estados Unidos, 19 na Coreia do Sul e 21 nos Emirados Árabes Unidos.
- **Substituições de estado/região**: para países com variação subnacional (como os Estados Unidos ou o México), pode configurar substituições por estado. Por exemplo, o Mississípi pode exigir uma idade mínima de 21 anos, enquanto o padrão dos EUA é 18. O sistema faz a correspondência do estado utilizando a região extraída do documento por OCR.
- **Predefinições de maioridade**: a consola disponibiliza o botão "Aplicar maioridade", que, com um clique, preenche automaticamente a idade mínima de cada país com base na maioridade legal conhecida a nível mundial. Em seguida, pode personalizar países ou estados individuais conforme necessário.
- **Ações configuráveis**: quando a idade de um utilizador for inferior ao mínimo ou superior ao máximo para o país do seu documento, pode escolher a ação a tomar: **Recusar** ou **Rever**.#### Exemplo de configuração| País | Idade mínima | Idade máxima | Substituições de estado |
| - | - | - | - |
| USA | 18 | -- | Mississippi: 21, Alabama: 19 |
| KOR | 19 | -- | -- |
| GBR | 18 | 65 | -- |
| ARE | 21 | -- | -- |> [!NOTE]
>
> As restrições de idade por país estão disponíveis tanto em fluxos de KYC padrão como em fluxos de Adaptive Age Verification. Nos fluxos adaptativos, quando a Verificação de identidade é acionada para casos limítrofes, a verificação de idade utiliza as definições por país configuradas no passo de Verificação de identidade.## Como funciona**1. Captura de imagem ou vídeo**O utilizador fornece uma imagem facial nítida através de envio por API ou conclui um processo de verificação de prova de vida.| Verificação | Descrição |
| - | - |
| **Qualidade da imagem** | Valida a iluminação, o posicionamento e a nitidez |
| **Verificação de prova de vida** | Garante que o sujeito está presente e que não se trata de spoofing |
| **Análise de múltiplos fotogramas** | Seleciona o fotograma ideal para obter a maior precisão |
| **Captura adaptativa** | Ajusta-se às capacidades dos vários dispositivos |**2. Análise de características faciais**Um detetor localiza todos os rostos e todas as pessoas na imagem, e o maior rosto é analisado.- **Recorte do rosto**: o rosto exatamente como foi detetado, analisado quanto à morfologia facial, proporções e textura da pele
- **Contexto corporal**: o restante da imagem, com o rosto ocultado, aperfeiçoa a estimativa
- Vários rostos numa única imagem são detetados e reportados, para que a sessão possa ser tratada em conformidade**3. Processamento por redes neuronais**Duas redes neuronais profundas complementares estimam a idade de forma independente, sendo a estimativa final a sua média.- Um transformer lê os recortes do rosto e do corpo em conjunto; uma rede convolucional lê o rosto
- Cada rede executa cinco modelos treinados em diferentes divisões dos dados e calcula a média das suas estimativas, o que estabiliza o resultado
- Treinados com idades confirmadas por documentos de identificação, com adolescentes, jovens adultos e todos os grupos de tom de pele bem representados
- Avaliadas apenas em selfies e em pessoas que os modelos nunca viram durante o treino**4. Decisão e análise complementar**O sistema gera um resultado abrangente:| Resultado | Descrição |
| - | - |
| **Estimativa de idade** | Estimativa principal com pontuação de confiança |
| **Estimativa de género** | Contexto demográfico complementar (opcional) |
| **Métricas de confiança** | Avaliação global de fiabilidade |
| **Fatores ambientais** | Avaliação do impacto na qualidade da estimativa |**5. Aplicação de regras**As regras de negócio que configurou são aplicadas aos resultados da estimativa.- Estimativa de idade comparada com os seus **limiares configurados** (mín./máx. por país)
- Pontuações de confiança verificadas face aos seus requisitos mínimos
- **Casos limítrofes** podem acionar uma alternativa de verificação de identidade (modo adaptativo)
- Resultados documentados com um **registo de auditoria** detalhado para efeitos de conformidade## Estimativa de idade adaptativaPara cenários onde a verificação de idade precisa é crítica, a nossa plataforma oferece estimativa de idade adaptativa com alternativa de verificação de identidade. Esta abordagem proporciona um equilíbrio entre a conveniência do utilizador e a conformidade regulamentar.### Como funciona a estimativa de idade adaptativa**1. Estimativa de idade inicial**O sistema tenta primeiro estimar a idade do utilizador através de análise facial. É gerada uma pontuação de confiança juntamente com a estimativa de idade.**2. Avaliação de limiares**A idade estimada é comparada com os limiares configurados por si. Três resultados possíveis:| Resultado | Descrição |
| - | - |
| **Aprovação clara** | O utilizador está claramente acima do limiar de idade exigido |
| **Reprovação clara** | O utilizador está claramente abaixo do limiar de idade exigido |
| **Caso limite** | A idade estimada situa-se num intervalo incerto ou apresenta baixa confiança |**3. Alternativa inteligente**- **Aprovação/reprovação clara**: A verificação é concluída imediatamente com o resultado apropriado
- **Casos limite**: O sistema inicia automaticamente um **fluxo de verificação de identidade**
- Isto garante a conformidade regulamentar, minimizando a fricção para a maioria dos utilizadores**4. Verificação de documentos (quando necessária)**Para casos limite, o utilizador fornece um documento de identificação emitido pelo governo:- A autenticidade do documento e as informações de idade são verificadas
- As **Restrições de idade por país** do passo de Verificação de identidade são aplicadas
- O sistema compara a data de nascimento com a idade mínima/máxima para o país e região emissores do documento
- O retrato do documento é **comparado através de correspondência facial 1:1 com a selfie já capturada para a estimativa de idade**, vinculando a data de nascimento constante no documento à pessoa em frente à câmara### O que a alternativa devolveA correspondência facial alternativa é executada sem um nó de Correspondência facial no fluxo, pelo que aparece na decisão da sessão de uma forma que pode ser facilmente confundida com uma verificação que nunca configurou:- O campo `features` lista `FACE_MATCH` além de `AGE_ESTIMATION` e `ID_VERIFICATION` após a execução da alternativa.
- O array `face_matches[]` contém uma entrada com o `score`, a `source_image` (retrato do documento) e a `target_image` (selfie da estimativa de idade). O seu `node_id` corresponde ao **nó de estimativa de idade** (`feature_age_estimation` num fluxo nativo) porque a correspondência pertence a esse passo e não a um passo de Correspondência facial.
- Uma pontuação baixa gera os habituais [avisos de correspondência facial](https://docs.didit.me/pt/core-technology/face-match/warnings-face-match.md) e pode enviar a sessão para revisão ou recusa, exatamente como faria um nó de Correspondência facial configurado.
- **Não é faturada** como uma Correspondência facial: a sessão é cobrada apenas pela estimativa de idade e pela verificação de identidade.As sessões que são aprovadas ou reprovadas apenas com a selfie nunca executam a alternativa, pelo que devolvem `face_matches: null`. Para manter as imagens fora do payload da decisão, limite os campos de `face_matches` com os [atributos de resposta](https://docs.didit.me/pt/sessions-api/retrieve-session.md) do fluxo.> [!NOTE]
>
> A estimativa de idade adaptativa pode ser configurada utilizando fluxos do tipo [Adaptive Age Verification](https://docs.didit.me/pt/console/workflows.md). Pode definir os limiares de idade limite que determinam quando a verificação de identidade é acionada. A aprovação ou recusa final com base na idade para casos limite é depois regida pelas restrições de idade por país configuradas no passo de Verificação de identidade.### Vantagens da estimativa de idade adaptativa- **Menor atrito**: A maioria dos utilizadores conclui a verificação apenas com uma selfie
- **Conformidade reforçada**: Os casos incertos recebem uma verificação documental minuciosa com regras de idade específicas por país
- **Eficiência de custos**: A verificação de identidade só é utilizada quando necessário
- **Tolerância ao risco personalizável**: Ajuste os limiares com base nos seus requisitos regulamentares
- **Sensível à jurisdição**: Aplica automaticamente a maioridade correta com base no país e região emissores do documento do utilizadorEsta abordagem é particularmente valiosa para serviços com restrição de idade, tais como jogos online, entrega de bebidas alcoólicas e plataformas de conteúdo para adultos, onde equilibrar a experiência do utilizador com a conformidade regulamentar é essencial.## Garantia de idade (ISO/IEC 27566-1)Um fluxo pode declarar que segue a norma de garantia de idade ISO/IEC 27566-1.
Crie-o a partir dos modelos da consola **Estimativa de idade (ISO/IEC 27566-1)** ou **Verificação de idade (ISO/IEC 27566-1)**.
A declaração é efetuada no momento da criação do fluxo e não pode ser alterada posteriormente.Enquanto um fluxo declarar a conformidade com a norma, a Didit fixa-o a uma resposta única de sim ou não sobre a idade.
As definições fixadas aplicam-se a cada gravação, tanto na consola como através da API:- **Recebe a decisão sobre a idade e nada mais.** Os atributos de resposta estão bloqueados, pelo que a decisão não inclui dados pessoais.
- **13 anos é a idade mínima mais baixa** em todos os países, em todas as sobreposições regionais e nos limiares de estimativa de idade adaptativa. Um valor inferior é rejeitado.
- **Sem reconhecimento entre sessões.** As verificações de documentos duplicados e de rostos duplicados estão desativadas e não é armazenado qualquer template biométrico.
- **Captura limitada.** Os documentos são capturados apenas com a câmara, sem carregamento de ficheiros, sem captura silenciosa de selfie enquanto o documento é fotografado e sem gravação de áudio.
- **Sem verificações de dados adicionais.** A comparação de detalhes esperados e o passo de revisão de dados estão desativados, e a verificação de identidade lê apenas documentos, sem consultas a bases de dados ou carteiras de identidade digital.
- **É obrigatório um limiar.** Um fluxo sem um limiar de idade é rejeitado ao gravar, para que nunca possa aprovar todos os utilizadores por predefinição.## Desempenho e estatísticas do modeloOs dados abaixo descrevem o modelo de idade em produção desde 4 de novembro de 2026.
Provêm do seu conjunto de avaliação reservado: 2,399 selfies de pessoas com 13 anos ou mais, separadas antes do treino, tendo a idade de cada pessoa sido obtida a partir do seu documento de identidade verificado.
Nenhum modelo foi treinado nestas selfies, nem nestas pessoas.
Os valores globais referem-se a uma composição de avaliação de 10% de menores de 18 anos, com adultos na distribuição etária do tráfego de produção; cada faixa etária é apresentada individualmente abaixo.### Métricas de precisão<table>
  <thead>
    <tr>
      <th>Métrica</th>
      <th>Valor</th>
      <th>Descrição</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**Erro Médio Absoluto (MAE)**</td>
      <td>2.6 anos</td>
      <td>Diferença média entre a idade estimada e a idade indicada no documento</td>
    </tr>

    <tr>
      <td>**Desvio padrão**</td>
      <td>2.3 anos</td>
      <td>Quanto o erro varia de uma estimativa para outra</td>
    </tr>

    <tr>
      <td>**Classificação correta no limiar de 18 anos**</td>
      <td>96.0%</td>
      <td>Selfies classificadas corretamente como menores de 18 ou com 18 anos ou mais, sem faixa de recurso; pelo menos 95.3% com 95% de confiança</td>
    </tr>
  </tbody>
</table>### Desempenho por faixas etáriasO erro é menor em torno das idades em que o controlo de idade toma decisões e aumenta com a idade.<table>
  <thead>
    <tr>
      <th>Faixa etária</th>
      <th>MAE (anos)</th>
      <th>Desvio padrão (anos)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>13-15</td>
      <td>1.70</td>
      <td>1.17</td>
    </tr>

    <tr>
      <td>16-17</td>
      <td>1.14</td>
      <td>1.37</td>
    </tr>

    <tr>
      <td>18-20</td>
      <td>1.86</td>
      <td>1.74</td>
    </tr>

    <tr>
      <td>21-25</td>
      <td>2.21</td>
      <td>1.78</td>
    </tr>

    <tr>
      <td>26-40</td>
      <td>2.77</td>
      <td>2.20</td>
    </tr>

    <tr>
      <td>41-60</td>
      <td>3.03</td>
      <td>2.62</td>
    </tr>

    <tr>
      <td>Mais de 60</td>
      <td>4.33</td>
      <td>3.64</td>
    </tr>
  </tbody>
</table>> [!NOTE]
>
> O desvio padrão descreve quanto varia o erro das estimativas individuais, e não a incerteza da média.
> Uma estimativa que esteja a um ou dois anos da sua idade mínima pode situar-se de qualquer um dos lados dela: quando uma decisão errada perto do limiar é importante, envie essa faixa limítrofe para o [recurso adaptativo de verificação de identidade](#estimativa-de-idade-adaptativa).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.