> ## 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 оценки возраста: верификация по селфи

> Didit оценивает возраст по селфи с помощью ИИ. $0.10 за вызов, средняя погрешность 1.1 года в 16-17 лет, необязательная резервная верификация личности.

Оценка возраста Didit прогнозирует возраст человека по селфи со встроенной пассивной проверкой живости, позволяя ограничивать доступ к сервисам с возрастными ограничениями без необходимости запрашивать документ, удостоверяющий личность, у каждого пользователя. Модель наиболее точна там, где принимается решение об ограничении по возрасту: её средняя абсолютная ошибка составляет 1.1 года для 16- и 17-летних и 1.9 года для пользователей в возрасте от 18 до 20 лет, при этом она корректно классифицирует 96% селфи на категории младше 18 лет или 18 лет и старше (см. [Производительность модели](#производительность-модели-и-статистика)).

Промпт для интеграции оценки возраста
        Скопировать промпт в буфер обмена



      
      

\<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>



      
      

Вставьте в

## Методы оценки возрастаНаша платформа реализует оценку возраста в сочетании с различными технологиями проверки живости:<table>
  <thead>
    <tr>
      <th>Метод</th>
      <th>Описание</th>
      <th>Уровень безопасности</th>
      <th>Лучше всего подходит для</th>
    </tr>
  </thead>

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

      <td>
        • Сочетает многофакторную биометрическую верификацию со **случайной последовательностью действий** и **анализом динамических световых паттернов**.\

        • В начале пользователю предлагается выполнить простое действие (например, **поморгать** или **кивнуть**), что гарантирует взаимодействие в реальном времени.\

        • Одновременно система проецирует на лицо последовательность световых паттернов, анализируя **блики и отражения** для подтверждения трехмерной структуры лица.\

        • **Алгоритмы глубокого обучения** анализируют микромимику и реакции на отражение света, подтверждая присутствие живого человека.\

        • Обеспечивает **наивысший уровень безопасности** за счет объединения поведенческих (основанных на действиях) и физических (основанных на определении глубины с помощью света) признаков, что делает спуфинг с помощью статичных изображений, видеозаписей или даже сложных масок практически невозможным.
      </td>

      <td>Наивысший</td>
      <td>Банковский сектор, здравоохранение, государственные приложения</td>
    </tr>

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

      <td>
        • Использует **анализ динамических световых паттернов** для проверки топологии лица без необходимости действий со стороны пользователя.\

        • Проецирует серию световых паттернов на лицо со скоростью более **30 кадров в секунду**, анализируя отражения для построения **карты глубины**.\

        • Эта карта глубины подтверждает трехмерную структуру лица, отличая его от плоских изображений или 2D-спуфинга.\

        • Обеспечивает **бесшовный процесс** при сохранении **высокого уровня защиты** от атак предъявления с использованием фотографий или экранов.\

      </td>

      <td>Высокий</td>
      <td>Финансовые услуги, доступ к аккаунту, верификация личности</td>
    </tr>

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

      <td>
        • Опирается на **анализ единичного кадра с помощью глубокого обучения** для выявления признаков живости.\

        • В целях конфиденциальности лицо пользователя отображается размытым в интерфейсе, чтобы пользователь был уверен, что его изображение анализируется исключительно для оценки возраста, а не для идентификации.\

        • Проверяет изображение на наличие **артефактов**, **текстурных паттернов** и других малозаметных признаков, отличающих настоящее лицо от подделки.\

        • **Сверточная нейронная сеть (CNN)** проверяет черты лица и выявляет аномалии, характерные для печатных фотографий или цифровых экранов.\

        • Обеспечивает **быструю и удобную** верификацию со **стандартным уровнем безопасности**, подходящим для сценариев с низким уровнем риска.\

      </td>

      <td>Стандартный</td>
      <td>Сценарии с минимальными препятствиями, потребительские приложения</td>
    </tr>
  </tbody>
</table>Каждый метод формирует точную оценку возраста вместе с оценками уверенности и дополнительными данными оценки пола.### Настраиваемые порогиВы можете настроить уровни безопасности, задав различные пороги для оценки возраста. Например:![Настройка порогов оценки возраста Didit для политик контроля возраста](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]
>
> Эти пороги можно скорректировать с учетом вашей готовности к риску и требований к безопасности.### Возрастные ограничения по странамВозрастные ограничения можно настраивать **для каждой страны отдельно**, учитывая, что возраст совершеннолетия различается в разных юрисдикциях. Вместо установки единого глобального минимального или максимального возраста вы можете задать конкретные ограничения по возрасту для каждой страны, и даже для отдельных штатов или регионов внутри страны.#### Как это работает- **Настройка на уровне страны**: задайте минимальный и/или максимальный возраст для каждой страны (определяется по стране выдачи документа). Например, можно установить минимальный возраст 18 лет для США, 19 лет для Южной Кореи и 21 год для Объединенных Арабских Эмиратов.
- **Переопределения для штатов/регионов**: для стран с региональными различиями (таких как США или Мексика) вы можете настроить переопределения для каждого штата. Например, в Миссисипи может требоваться минимальный возраст 21 год, тогда как базовое значение для США составляет 18 лет. Система сопоставляет штат по региону, извлеченному из документа с помощью OCR.
- **Значения возраста совершеннолетия по умолчанию**: в консоли предусмотрена кнопка в один клик «Применить возраст совершеннолетия», которая автоматически заполняет минимальный возраст для каждой страны на основе официального возраста совершеннолетия по всему миру. Затем вы можете при необходимости изменить параметры для конкретных стран или штатов.
- **Настраиваемые действия**: если возраст пользователя ниже минимального или превышает максимальный для страны его документа, вы можете выбрать выполняемое действие: **Отклонить** или **Отправить на проверку**.#### Пример конфигурации| Страна | Мин. возраст | Макс. возраст | Переопределения для штатов |
| - | - | - | - |
| USA | 18 | -- | Mississippi: 21, Alabama: 19 |
| KOR | 19 | -- | -- |
| GBR | 18 | 65 | -- |
| ARE | 21 | -- | -- |> [!NOTE]
>
> Возрастные ограничения по странам доступны как в стандартных сценариях KYC, так и в сценариях адаптивной проверки возраста. В адаптивных сценариях, когда верификация личности запускается для пограничных случаев, проверка возраста использует параметры для конкретных стран, заданные на шаге Верификация личности.## Как это работает**1. Захват изображения или видео**Пользователь предоставляет четкое изображение лица через загрузку по API или проходит процесс проверки живости.| Проверка | Описание |
| - | - |
| **Качество изображения** | Проверяет освещение, позиционирование и четкость |
| **Проверка живости** | Гарантирует, что человек присутствует в кадре и изображение не является спуфингом |
| **Многокадровый анализ** | Выбирает оптимальный кадр для максимальной точности |
| **Адаптивный захват** | Подстраивается под возможности различных устройств |**2. Анализ черт лица**Детектор находит каждое лицо и каждого человека на изображении, после чего анализируется самое крупное лицо.- **Фрагмент лица**: лицо точно в том виде, как оно обнаружено, анализируется на морфологию лица, пропорции и текстуру кожи
- **Контекст тела**: остальная часть изображения с замаскированным лицом уточняет оценку
- Несколько лиц на одном изображении обнаруживаются и передаются в отчете, что позволяет обработать сессию соответствующим образом**3. Обработка нейросетью**Две взаимодополняющие глубокие нейросети оценивают возраст независимо друг от друга, а итоговая оценка представляет собой их среднее значение.- Трансформер считывает фрагменты лица и тела одновременно; сверточная сеть считывает лицо
- Каждая сеть запускает пять моделей, обученных на различных выборках данных, и усредняет их оценки, что делает результат более стабильным
- Модели обучены на данных с возрастом, подтверждённым документами, удостоверяющими личность; в обучающей выборке хорошо представлены подростки, молодые люди и все группы оттенков кожи
- Модели оценивались исключительно на селфи и на людях, которых они никогда не видели во время обучения**4. Решение и дополнительный анализ**Система формирует исчерпывающий результат:| Выходные данные | Описание |
| - | - |
| **Оценка возраста** | Основная оценка со скорингом уверенности |
| **Оценка пола** | Дополнительный демографический контекст (необязательно) |
| **Метрики уверенности** | Общая оценка надежности |
| **Факторы окружающей среды** | Оценка влияния на качество оценки |**5. Применение правил**К результатам оценки применяются настроенные вами бизнес-правила.- Оценка возраста сравнивается с вашими **настроенными порогами** (мин./макс. для каждой страны)
- Оценки уверенности проверяются на соответствие вашим минимальным требованиям
- **Пограничные кейсы** могут активировать переход на верификацию личности (адаптивный режим)
- Результаты документируются с подробным **журналом аудита** для комплаенса## Адаптивная оценка возрастаДля сценариев, где критически важна точная проверка возраста, наша платформа предлагает адаптивную оценку возраста с переходом на резервную верификацию личности. Такой подход обеспечивает баланс между удобством пользователей и соблюдением нормативных требований.### Как работает адаптивная оценка возраста**1. Начальная оценка возраста**Система сначала пытается оценить возраст пользователя с помощью анализа лица. Вместе с предполагаемым возрастом формируется оценка уверенности.**2. Оценка пороговых значений**Предполагаемый возраст сравнивается с настроенными вами пороговыми значениями. Возможны три исхода:| Исход | Описание |
| - | - |
| **Явное прохождение** | Пользователь явно старше требуемого порога возраста |
| **Явный отказ** | Пользователь явно младше требуемого порога возраста |
| **Пограничный случай** | Предполагаемый возраст попадает в диапазон неопределённости или имеет низкую уверенность |**3. Интеллектуальный резервный процесс**- **Явное прохождение/отказ**: Верификация завершается мгновенно с соответствующим результатом
- **Пограничные случаи**: Система автоматически запускает **процесс верификации личности**
- Это обеспечивает соблюдение нормативных требований и сводит к минимуму неудобства для большинства пользователей**4. Проверка документа (при необходимости)**В пограничных случаях пользователь предоставляет государственный документ, удостоверяющий личность:- Проверяются подлинность документа и информация о возрасте
- Применяются **Возрастные ограничения по странам** из шага «Верификация личности»
- Система сверяет дату рождения с минимальным/максимальным возрастом для страны и региона выдачи документа
- Фотография из документа проходит **сравнение лиц 1:1 с селфи, уже сделанным для оценки возраста**, благодаря чему дата рождения в документе привязывается к человеку перед камерой### Что возвращает резервный процессРезервное сравнение лиц выполняется без отдельного узла «Сравнение лиц» в сценарии, поэтому в решении по сессии оно отображается так, что его легко принять за проверку, которую вы не настраивали:- `features` указывает `FACE_MATCH` в дополнение к `AGE_ESTIMATION` и `ID_VERIFICATION`, как только сработал резервный процесс.
- `face_matches[]` содержит одну запись с полями `score`, `source_image` (портрет из документа) и `target_image` (селфи для оценки возраста). Поле `node_id` указывает на **узел оценки возраста** (`feature_age_estimation` в нативном сценарии), поскольку это сравнение относится к данному шагу, а не к шагу «Сравнение лиц».
- Низкая оценка вызывает стандартные [предупреждения сравнения лиц](https://docs.didit.me/ru/core-technology/face-match/warnings-face-match.md) и может отправить сессию на проверку или отклонить её точно так же, как это сделал бы настроенный узел «Сравнение лиц».
- За него **не взимается плата** как за «Сравнение лиц»: оплата за сессию списывается только за оценку возраста и за верификацию личности.Сессии, которые прошли или не прошли проверку только по селфи, никогда не запускают резервный процесс и возвращают `face_matches: null`. Чтобы исключить изображения из payload решения, ограничьте поля `face_matches` с помощью [атрибутов ответа](https://docs.didit.me/ru/sessions-api/retrieve-session.md) сценария.> [!NOTE]
>
> Адаптивную оценку возраста можно настроить с помощью типа сценариев [Адаптивная проверка возраста](https://docs.didit.me/ru/console/workflows.md). Вы можете задать пороговые значения пограничного возраста, определяющие, когда запускается верификация личности. Итоговое одобрение или отклонение на основе возраста для пограничных случаев затем регулируется возрастными ограничениями по странам, настроенными на шаге «Верификация личности».### Преимущества адаптивной оценки возраста- **Меньше неудобств**: большинство пользователей проходят верификацию с помощью одного лишь селфи
- **Усиленный комплаенс**: в неясных случаях проводится тщательная проверка документов с учётом возрастных правил конкретной страны
- **Экономичность**: верификация личности используется только тогда, когда это действительно необходимо
- **Настраиваемая толерантность к риску**: регулируйте пороговые значения в соответствии с вашими регуляторными требованиями
- **Учёт юрисдикций**: автоматически применяется правильный возраст совершеннолетия в зависимости от страны и региона выдачи документа пользователяЭтот подход особенно ценен для сервисов с возрастными ограничениями, таких как онлайн-игры, доставка алкоголя и платформы с контентом для взрослых, где критически важно соблюдать баланс между удобством пользователей и регуляторными требованиями.## Подтверждение возраста (ISO/IEC 27566-1)Сценарий может декларировать соответствие стандарту подтверждения возраста ISO/IEC 27566-1.
Создайте его на основе шаблонов консоли **Оценка возраста (ISO/IEC 27566-1)** или **Проверка возраста (ISO/IEC 27566-1)**.
Декларация задаётся при создании сценария и не может быть изменена впоследствии.Когда сценарий заявляет о соответствии стандарту, Didit фиксирует его на разовом ответе «да» или «нет» относительно возраста.
Зафиксированные параметры применяются при каждом сохранении как в консоли, так и через API:- **Вы получаете только решение по возрасту и ничего больше.** Атрибуты ответа заблокированы, поэтому решение не содержит персональных данных.
- **13 является минимальным возрастом** в каждой стране, в каждом региональном переопределении и в пороговых значениях адаптивной оценки возраста. Меньшее значение отклоняется.
- **Никакого распознавания между сессиями.** Проверки на дубликаты документов и лиц отключены, а биометрический шаблон не сохраняется.
- **Ограниченная съёмка.** Документы снимаются только на камеру: загрузка файлов, незаметный захват селфи во время фотографирования документа и запись звука отключены.
- **Никаких дополнительных проверок данных.** Сравнение ожидаемых данных и шаг проверки данных отключены, а верификация личности только считывает документы, без запросов к базам данных или использования цифровых кошельков удостоверений личности.
- **Порог обязателен.** Сценарий без возрастного порога отклоняется при сохранении, поэтому он никогда не сможет одобрять всех по умолчанию.## Производительность модели и статистикаПриведённые ниже показатели описывают модель возраста, находящуюся в продакшне с 4 ноября 2026 года.
Они получены на её зафиксированном тестовом наборе: 2,399 селфи людей в возрасте от 13 лет и старше, отобранных до начала обучения, при этом возраст каждого человека был взят из его подтверждённого документа, удостоверяющего личность.
Ни одна модель не обучалась на этих селфи или на этих людях.
Общие показатели рассчитаны для тестовой выборки, состоящей на 10% из лиц моложе 18 лет, а взрослые распределены по возрасту в соответствии с реальным трафиком; каждый возрастной диапазон приведён отдельно ниже.### Метрики точности<table>
  <thead>
    <tr>
      <th>Метрика</th>
      <th>Значение</th>
      <th>Описание</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**Средняя абсолютная ошибка (MAE)**</td>
      <td>2.6 года</td>
      <td>Средняя разница между предполагаемым возрастом и возрастом по документу</td>
    </tr>

    <tr>
      <td>**Стандартное отклонение**</td>
      <td>2.3 года</td>
      <td>Насколько ошибка варьируется от одной оценки к другой</td>
    </tr>

    <tr>
      <td>**Точность при пороге 18 лет**</td>
      <td>96.0%</td>
      <td>Селфи, правильно классифицированные как младше 18 лет или 18 лет и старше, без резервного диапазона; не менее 95.3% с доверительным уровнем 95%</td>
    </tr>
  </tbody>
</table>### Эффективность по возрастным диапазонамОшибка минимальна вблизи возраста, в котором принимается решение о возрастном ограничении, и возрастает с возрастом.<table>
  <thead>
    <tr>
      <th>Возрастной диапазон</th>
      <th>MAE (годы)</th>
      <th>Стандартное отклонение (годы)</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>Старше 60</td>
      <td>4.33</td>
      <td>3.64</td>
    </tr>
  </tbody>
</table>> [!NOTE]
>
> Стандартное отклонение описывает, насколько варьируется ошибка отдельных оценок, а не неопределённость среднего значения.
> Оценка, отличающаяся на год или два от вашего минимального возраста, может оказаться по любую сторону от него: когда неверное решение вблизи порога имеет значение, направляйте этот пограничный диапазон на [адаптивную резервную верификацию личности](#адаптивная-оценка-возраста).


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