Перейти к основному содержанию
Отчёт об оценке возраста содержит определённый моделью возраст (в годах) для самого крупного лица, обнаруженного на изображении, в сочетании с пассивной проверкой живости, подтверждающей, что перед камерой реальный человек, а не фотография, экран или маска. Обе проверки всегда выполняются вместе — Оценка возраста никогда не возвращает возраст без оценки живости. На этой странице описана структура JSON, возвращаемая обоими путями вызова: отдельным endpoint POST /v3/age-estimation/ и встроенным полем age_estimation в отчётах о проверке живости в сценариях.
Отчёт Didit об оценке возраста с предполагаемым возрастом, оценкой пассивной проверки живости и метриками качества лица

Обзор

Для оценки возраста предусмотрено два способа получения данных:
  • Отдельный API. POST /v3/age-estimation/ принимает одно изображение лица (user_image) и синхронно возвращает предполагаемый возраст и оценку пассивной живости. См. справочник отдельного API Оценки возраста.
  • Встроенный в сценарий. Каждый отчёт о проверке живости в сценарии содержит предполагаемый возраст в поле age_estimation — значение всегда заполняется на основе самого крупного обнаруженного лица. Пороги возраста применяются (вызывая возрастные предупреждения) только в сценариях с оценкой возраста: адаптивных сценариях верификации возраста или узлах сценария AGE_ESTIMATION.
Каждый отчёт содержит:
  • Общий статус status (Approved, Declined).
  • Метод проверки живости method (всегда PASSIVE в отдельном API; ACTIVE_3D / FLASHING / PASSIVE в сценариях).
  • Оценку живости score (0–100; чем выше, тем выше уверенность в том, что человек жив; null обрабатывается как 0 при проверках порогов).
  • Предполагаемую оценку возраста age_estimation в годах (число с плавающей точкой — например, 27.33; null, если возраст лица не удалось определить).
  • Только для отдельного API: объект user_image с массивом entities[] (по одной записи для каждого обнаруженного лица — age, bbox, confidence, gender) и ориентацией best_angle.
  • Только для сценариев: reference_image, video_url, matches[] и метрики качества пассивной проверки живости face_quality (0–100%) и face_luminance (0–100%). Ответ отдельного API не включает эти поля.
  • Массив warnings[] — события риска, зафиксированные во время проверки (см. предупреждения Оценки возраста).
В отдельном API принимается решение Declined всякий раз, когда массив warnings не пуст — для Approved требуется пустой массив. Предупреждения срабатывают, когда:
  • Оценка живости score находится на уровне или ниже face_liveness_score_decline_threshold (по умолчанию 30) — LOW_LIVENESS_SCORE.
  • Предполагаемый возраст ниже age_estimation_decline_threshold (по умолчанию 18) — AGE_BELOW_MINIMUM. Установите порог на 0, чтобы отключить проверку возраста.
  • Лицо не обнаружено (NO_FACE_DETECTED) или возраст лица не удалось оценить (AGE_NOT_DETECTED).
  • Модель проверки живости фиксирует атаку предъявления (LIVENESS_FACE_ATTACK).

Где это отображается в ответах API

Отдельный API — POST /v3/age-estimation/

Ответ отдельного API оборачивает результат в один объект верхнего уровня age_estimation, наряду с request_id и переданными обратно vendor_data / metadata. При save_api_request=true (по умолчанию) request_id является сохранённым идентификатором сессии, и результат также можно получить позже из endpoint решения; при false это одноразовый UUID корреляции.

Решение сценария — GET /v3/session/{session_id}/decision/

В сессии сценария предполагаемый возраст встроен внутрь отчёта о проверке живости — отдельного массива оценки возраста нет. Endpoint решения V3 возвращает отчёты о проверке живости под ключом массива во множественном числе liveness_checks (ReducedSessionV3DecisionSerializer.get_liveness_checks), и каждая запись содержит число с плавающей точкой age_estimation — предполагаемый возраст самого крупного обнаруженного лица — или null, если возраст не был вычислен (LivenessV2Serializer.get_age_estimation).
Считывайте возраст из liveness_checks[].age_estimation. Сохранённые вызовы отдельного API (save_api_request=true) отображаются в endpoint решения аналогичным образом, при этом features содержит AGE_ESTIMATION.

Схема

Каноническая схема с описанием каждого поля находится на странице Модели данных. Формат ответа отдельного API задокументирован в AgeEstimationResponseSerializer и собирается в AgeEstimationAPIView; значение для сценария формируется в LivenessV3Serializer.

Значения статуса

Строки статуса берутся из общего перечисления статусов функций (см. Перечень статусов). Endpoint отдельного API возвращает только: В сессиях сценария проверка живости также может перейти в статус In Review, если настраиваемый риск срабатывает с действием отправки на проверку (например, POSSIBLE_DUPLICATED_FACE). См. справочник перечислений статусов.

Примеры

Approved — отдельный API, совершеннолетний субъект

Declined — отдельный API, предполагаемый возраст ниже порога

Approved — встроено в отчёт о проверке живости в сценарии

Примечание по безопасности

Все URL-адреса изображений и видео, возвращаемые в ответе, представляют собой предварительно подписанные ссылки с ограниченным сроком действия. Относитесь к ним как к краткосрочным ссылкам — не делитесь ими публично и повторно вызывайте endpoint решения, чтобы обновить ссылки с истёкшим сроком действия. В соответствии с передовыми практиками рекомендуется сохранять на своей стороне только статус верификации и значения уверенности, а не сами исходные биометрические медиафайлы.

Связанные разделы

Последнее изменение 7 ноября 2026 г.