> ## 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 выявляет дипфейки, маски и атаки предъявления. Активная и пассивная проверка живости: точность 99.9%, тест iBeta, от $0.10 за вызов.

Проверка живости Didit подтверждает, что перед камерой находится реальный, живой человек, а не распечатанная фотография, воспроизведение с экрана, маска или дипфейк, используя пассивную проверку живости, 3D-действие или проверку живости со вспышкой. Точность достигает **99.9%** при коэффициенте ложного принятия (FAR) менее **0.1%**.

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



      
      

\<pre>

\````# Goal
Integrate Didit Liveness Detection (passive / 3D-action / flashing) into your app. Pick ONE mode.

\# Mode A — Session-based
Use this when the user goes through a hosted Didit flow (SDK or session.url). The workflow's LIVENESS feature controls which method runs.

1\. Configure the workflow's liveness method — `face_liveness_method`: "PASSIVE" | "ACTIVE_3D" | "FLASHING" (Business Console or POST /v3/workflows/).
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/ or subscribe to session.status.updated.

Decision surface: `liveness_checks[]` array on the decision payload (one entry per liveness node).

\# Mode B — Standalone API (server-to-server, passive only)
Use when you already have a captured selfie and want a one-shot passive-liveness check.

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

Required: user_image (jpg/jpeg/png/tiff/webp, max 5 MB; PDFs not accepted).

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/passive-liveness/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'user_image=@./selfie.jpg' \
-F 'save_api_request=true' \
-F 'vendor_data=user-123'
\```
Returns: { request_id, liveness: { status, method: "PASSIVE", score, user_image: { entities, best_angle }, warnings, face_quality, face_luminance } }.

When `save_api_request=true` the submitted face is also screened against your blocklist and face index for duplicates — set to `false` to skip enrolment.

\# Status enum (per liveness_checks[].status or liveness.status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.LIVENESS)
warnings[] risk codes include:
LOW_LIVENESS_SCORE, NO_FACE_DETECTED, LIVENESS_FACE_ATTACK, MULTIPLE_FACES_DETECTED, FACE_IN_BLOCKLIST, POSSIBLE_FACE_IN_BLOCKLIST, DUPLICATED_FACE, POSSIBLE_DUPLICATED_FACE.
Full catalogue: /core-technology/liveness/warnings-liveness.

\# Failure modes to handle
\- HTTP 403 — out of credits.
\- HTTP 400 — missing user_image, file too large, unsupported extension.
\- status="Declined" with LIVENESS_FACE_ATTACK or LOW_LIVENESS_SCORE — presentation attack suspected; do not approve.
\- FACE_IN_BLOCKLIST / DUPLICATED_FACE — block or route to manual review per your policy.
\- NO_FACE_DETECTED / MULTIPLE_FACES_DETECTED — ask the user to retry with a single, well-framed face.

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

\</pre>



      
      

Вставьте в

Урок Academy о размещённом сценарии для пользователей доходит до селфи для проверки живости на 8:49, а на 9:16 переходит к пассивному методу, методу 3D Flash и методу 3D Action.[Селфи для проверки живости — Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?start=529\&rel=0\&playsinline=1)## Методы проверки живостиНаша платформа использует три различные технологии защиты от спуфинга, каждая из которых адаптирована под определённые требования безопасности и пользовательский опыт:<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>> [!NOTE]
>
> **Повышенная безопасность методов 3D Flash и 3D Action & Flash:**
>
> > * Эти методы разработаны для противодействия **сложным атакам спуфинга**, таким как **высококачественные маски**, **дипфейки** и **видеоповторы**.
> > * Проецируя динамические световые паттерны и анализируя их отражения, они определяют, как свет взаимодействует с **настоящим 3D-лицом** по сравнению с плоской или искусственной поверхностью.
> > * Метод **3D Action & Flash** добавляет дополнительный уровень безопасности за счёт случайного действия (например, моргания или кивка), требуя **поведенческих реакций в реальном времени**, которые невозможно воспроизвести с помощью предварительно записанных медиаматериалов или синтетических личностей.
> > * Эти методы доказали, что обеспечивают **высокую точность** и **низкий коэффициент ложного принятия**, поэтому идеально подходят для сред, где цена ошибки особенно высока.Каждый метод формирует **нормализованную оценку живости (0-100%)** на основе нашего собственного алгоритма, который оценивает множество факторов безопасности в реальном времени.### Настраиваемые порогиВы можете настроить уровни безопасности, задав различные пороги для оценок живости. Например:![Настройка порогов проверки живости Didit для пассивной и активной защиты от спуфинга](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/liveness-thresholds.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=fa2854dc24e9594394d1ae284b56c7a3)> [!NOTE]
>
> Эти пороги можно скорректировать с учётом вашей **толерантности к риску** и **требований безопасности**, что обеспечивает гибкость в различных сценариях использования.## Повторные попытки и практические рекомендацииВ сессии Didit захват для проверки живости, завершившийся неудачей по **исправимой причине** (плохое освещение, лицо не по центру, перекрытие лица, пограничный балл), не приводит к немедленному отклонению. Пользователю предлагается **повторить попытку с конкретными указаниями** в пределах настраиваемого лимита попыток.* **Лимит попыток** — параметр `face_liveness_max_attempts` управляет общим количеством попыток проверки живости за сессию. По умолчанию **3** (одна начальная попытка плюс две повторные), настраивается для каждого узла сценария (диапазон 1–3).

* **Подсказки при повторной попытке** — пока остаются попытки, исправимая ошибка оставляет пользователя на шаге проверки живости и возвращает тело ответа с практическими кодами подсказок `feedback_codes` (веб- и мобильные SDK отображают их автоматически в виде подсказок):

  ```json theme={null}
  {
    "detail": "Move to a brighter, evenly lit place and try again.",
    "error": "LOW_FACE_LUMINANCE",
    "feedback_codes": ["LOW_FACE_LUMINANCE"],
    "attempts_used": 1,
    "max_attempts": 3
  }
  ```

* **Коды с возможностью повтора** — `LOW_FACE_LUMINANCE` (слишком темно), `HIGH_FACE_LUMINANCE` (слишком ярко), `NO_FACE_DETECTED`, `LOW_FACE_QUALITY`, `HIGH_FACE_OCCLUSION`, `LOW_LIVENESS_SCORE`, `MULTIPLE_FACES_DETECTED`, `AGE_NOT_DETECTED`.

* **Гарантированная повторная попытка при неподходящих условиях съемки** — коды `LOW_FACE_LUMINANCE`, `HIGH_FACE_LUMINANCE`, `LOW_FACE_QUALITY`, `HIGH_FACE_OCCLUSION` и `NO_FACE_DETECTED` описывают условия в помещении, где находится пользователь, а не самого человека. Если попытка не удалась только из-за этих кодов, пользователю всегда предоставляется вторая попытка с указанной выше подсказкой, даже в сценарии с настройкой `face_liveness_max_attempts: 1`. Для всех остальных кодов строго действует заданный лимит.

* **Исчерпание попыток и мошенничество** — после исчерпания лимита применяется вычисленный статус (`Declined` или `In Review`). Подтвержденные атаки предъявления (`LIVENESS_FACE_ATTACK`), совпадения со списком блокировки и дубликаты лиц **отклоняются немедленно** и никогда не повторяются.> [!NOTE]
>
> Повторные попытки действуют только в **рамках сессии**. Автономный endpoint `POST /v3/passive-liveness/` не сохраняет состояние и выполняется за один раз — он возвращает результат напрямую без возможности повторных попыток.## Как это работает**1. Захват видеоселфи**Пользователь проходит проверку через **простой и понятный интерфейс**, адаптированный под выбранный метод проверки живости.| Проверка | Описание |
| - | - |
| **Обратная связь в реальном времени** | Обеспечивает правильное освещение, позиционирование и кадрирование |
| **Проверка качества** | Отслеживает размытие, блики и оптимальную видимость лица |
| **Адаптивный захват** | Подстраивается под возможности различных устройств и условия сети |
| **Подсказки для метода** | Отображает инструкции для конкретного метода (например, «Моргните» для 3D Action) |**2. Анализ проверки живости**Передовые алгоритмы обрабатывают полученные материалы в **реальном времени** для выявления попыток спуфинга. Анализ различается в зависимости от метода:> [accordion] 3D Action & Flash
>
> * Проверяет действие пользователя (например, **моргание** или **кивок**), подтверждая, что оно выполнено правильно и вживую
> * Анализирует **отражения световых узоров** для подтверждения трехмерной структуры лица
> * Использует глубокое обучение для оценки **микромимики** и других поведенческих признаков
> * Объединяет поведенческие и физические сигналы для **максимальной защиты от спуфинга**> [accordion] 3D Flash
>
> * Обрабатывает последовательность **отражений световых узоров** со скоростью 30+ кадров в секунду для построения детальной **карты глубины**
> * Подтверждает 3D-характеристики лица, отличая его от плоских или 2D-подделок
> * Не требует действий от пользователя — полностью **пассивный процесс с точки зрения пользователя**> [accordion] Пассивная проверка живости
>
> * Применяет **глубокое обучение** к одному кадру для выявления **текстурных паттернов** и **артефактов**
> * Сверточная нейронная сеть (CNN) проверяет черты лица и выявляет аномалии
> * Самый быстрый метод — работает с **одной фотографией**Многоуровневая система обнаружения выявляет **атаки предъявления**, включая фотографии, экраны, маски и дипфейки.**3. Обработка результатов и верификация**Система сопоставляет оценку живости с вашими **настроенными порогами** и мгновенно возвращает результаты.| Выходные данные | Описание |
| - | - |
| **Оценка живости** | Нормализованная оценка уверенности от 0 до 100% |
| **Решение** | Одобрена, отклонена или на проверке на основе ваших порогов |
| **Метод** | Использованный метод проверки живости (`passive`, `flash`, `action_flash`) |
| **Эталонное изображение** | Полученный кадр, использованный для проверки живости |
| **Предупреждения** | Любые обнаруженные аномалии (например, низкое качество, потенциальные признаки спуфинга) |Результаты передаются через **ответ API**, **webhook** или доступны для просмотра в **Business Console** с подробными журналами аудита для комплаенса.> [!TIP]
>
> Вы можете настроить используемый метод проверки живости для каждого сценария в [Business Console](https://docs.didit.me/ru/console/workflows.md). Разные сценарии могут использовать разные методы в зависимости от ваших требований к уровню риска.


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