> ## 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 détection du vivant : prévention des deepfakes

> Didit détecte deepfakes et attaques par présentation avec 99.9% de précision. Vivant actif/passif certifié iBeta dès $0.10 par appel.

La détection du vivant de Didit confirme qu'une personne réelle et bien vivante se trouve devant la caméra, et non une photo imprimée, une rediffusion sur écran, un masque ou un deepfake, grâce à la détection passive, l'action 3D ou le flash lumineux. Elle atteint une **précision de 99.9%** avec un taux de fausse acceptation (FAR) inférieur à **0.1%**.

Prompt d'intégration de la détection du vivant
        Copier le prompt dans le presse-papiers



      
      

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



      
      

Coller dans

Le cours de l'Academy sur le parcours utilisateur hébergé aborde le selfie de détection du vivant à 8:49, suivi à 9:16 par les méthodes passive, de flash 3D et d'action 3D.[The liveness selfie — Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?start=529\&rel=0\&playsinline=1)## Méthodes de détection du vivantNotre plateforme met en œuvre trois technologies anti-usurpation distinctes, chacune adaptée à des besoins de sécurité et des parcours utilisateur différents :<table>
  <thead>
    <tr>
      <th>Méthode</th>
      <th>Description</th>
      <th>Niveau de sécurité</th>
      <th>Idéal pour</th>
    </tr>
  </thead>

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

      <td>
        • Combine une vérification biométrique multifactorielle avec une **séquence d'actions aléatoires** et une **analyse dynamique des motifs lumineux**.\

        • Au début, l'utilisateur est invité à effectuer une action simple (comme **cligner des yeux** ou **hocher la tête**), garantissant une interaction en temps réel.\

        • Simultanément, le système projette une séquence de motifs lumineux sur le visage, analysant les **reflets** pour confirmer la structure tridimensionnelle du visage.\

        • Des **algorithmes d'apprentissage profond** examinent les micro-expressions et les réponses aux reflets lumineux pour vérifier la présence d'une personne vivante.\

        • Offre la **sécurité la plus élevée** en intégrant des indices comportementaux (action) et physiques (profondeur basée sur la lumière), rendant toute usurpation quasi impossible avec des images statiques, des vidéos ou même des masques perfectionnés.
      </td>

      <td>Le plus élevé</td>
      <td>Secteur bancaire, secteur de la santé, applications gouvernementales</td>
    </tr>

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

      <td>
        • Utilise l'**analyse dynamique des motifs lumineux** pour valider la topologie faciale sans nécessiter d'interaction de la part de l'utilisateur.\

        • Projette une série de motifs lumineux sur le visage à plus de **30 images par seconde**, en analysant les reflets pour générer une **carte de profondeur**.\

        • Cette carte de profondeur confirme la structure tridimensionnelle du visage, le distinguant des images plates ou des usurpations en 2D.\

        • Offre une **expérience fluide** tout en maintenant une **haute sécurité** contre les attaques par présentation telles que les photos ou les écrans.\

      </td>

      <td>Élevé</td>
      <td>Services financiers, accès aux comptes, vérification d'identité</td>
    </tr>

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

      <td>
        • Repose sur l'**analyse d'apprentissage profond d'une seule image** pour détecter les signes de présence du vivant.\

        • Examine l'image à la recherche d'**artefacts**, de **motifs de texture** et d'autres indicateurs subtils différenciant un vrai visage d'une usurpation.\

        • Un **réseau de neurones convolutif (CNN)** valide les caractéristiques faciales et identifie les anomalies, telles que celles provenant de photos imprimées ou d'écrans numériques.\

        • Offre une vérification **rapide et pratique**, mais propose une **sécurité standard**, adaptée aux cas d'usage à faible risque.\

      </td>

      <td>Standard</td>
      <td>Scénarios à faible friction, applications grand public</td>
    </tr>
  </tbody>
</table>> [!NOTE]
>
> **Sécurité avancée de 3D Flash et 3D Action & Flash :**
>
> > * Ces méthodes sont conçues pour déjouer les **attaques par usurpation sophistiquées**, telles que les **masques de haute qualité**, les **deepfakes** et les **rediffusions vidéo**.
> > * En projetant des motifs lumineux dynamiques et en analysant leurs reflets, elles détectent la manière dont la lumière interagit avec un **vrai visage en 3D** par rapport à une surface plane ou artificielle.
> > * La méthode **3D Action & Flash** ajoute un niveau de sécurité supplémentaire grâce à une action aléatoire (par exemple, cligner des yeux ou hocher la tête), exigeant des **réponses comportementales en temps réel** que des supports préenregistrés ou des identités synthétiques ne peuvent pas reproduire.
> > * Reconnues pour offrir une **haute précision** et de **faibles taux de fausse acceptation**, ces méthodes sont idéales pour les environnements à forts enjeux.Chaque méthode génère un **score de vivacité normalisé (0-100%)** basé sur notre algorithme propriétaire, qui évalue plusieurs facteurs de sécurité en temps réel.### Seuils configurablesVous pouvez personnaliser les niveaux de sécurité en définissant différents seuils pour les scores de vivacité. Par exemple :![Didit liveness detection threshold configuration for passive and active anti-spoofing](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]
>
> Ces seuils peuvent être ajustés en fonction de votre **tolérance au risque** et de vos **exigences de sécurité**, offrant une grande souplesse selon les cas d'usage.## Réessais et retours exploitablesDans une session Didit, une capture de détection du vivant qui échoue pour une **raison résoluble** (mauvais éclairage, visage non centré, obstruction, score limite) n'entraîne pas un refus immédiat. L'utilisateur est invité à **réessayer avec des conseils précis**, jusqu'à un nombre configurable de tentatives.* **Budget de tentatives** — `face_liveness_max_attempts` contrôle le nombre total de soumissions de détection du vivant par session. Par défaut **3** (une tentative initiale plus deux réessais), configurable par nœud de workflow (plage de 1 à 3).

* **Retour d'information lors d'un réessai** — tant qu'il reste des tentatives, un échec permettant un réessai maintient l'utilisateur à l'étape de détection du vivant et renvoie un corps contenant des `feedback_codes` exploitables (les SDK Web et Mobile affichent automatiquement ces messages de guidage) :

  ```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
  }
  ```

* **Codes permettant un réessai** — `LOW_FACE_LUMINANCE` (trop sombre), `HIGH_FACE_LUMINANCE` (trop lumineux), `NO_FACE_DETECTED`, `LOW_FACE_QUALITY`, `HIGH_FACE_OCCLUSION`, `LOW_LIVENESS_SCORE`, `MULTIPLE_FACES_DETECTED`, `AGE_NOT_DETECTED`.

* **Réessai garanti pour les conditions de capture** — `LOW_FACE_LUMINANCE`, `HIGH_FACE_LUMINANCE`, `LOW_FACE_QUALITY`, `HIGH_FACE_OCCLUSION` et `NO_FACE_DETECTED` décrivent la pièce dans laquelle se trouve l'utilisateur, et non la personne elle-même. Lorsqu'une tentative échoue uniquement en raison de ces codes, l'utilisateur bénéficie systématiquement d'une deuxième tentative avec le message de guidage ci-dessus, même sur un workflow configuré avec `face_liveness_max_attempts: 1`. Tous les autres codes respectent toujours exactement le budget configuré.

* **Épuisement et fraude** — une fois le budget épuisé, le statut calculé est appliqué (`Declined` ou `In Review`). Les attaques par présentation confirmées (`LIVENESS_FACE_ATTACK`), les correspondances dans la liste de blocage et les visages dupliqués **entraînent immédiatement un refus** et ne font jamais l'objet d'un réessai.> [!NOTE]
>
> Les réessais s'appliquent uniquement au **flux de session**. L'endpoint autonome `POST /v3/passive-liveness/` est sans état et à usage unique — il renvoie le résultat directement sans budget de réessai.## Comment ça fonctionne**1. Capture de selfie vidéo**L'utilisateur est guidé à travers une **interface simple et intuitive**, adaptée à la méthode de détection du vivant sélectionnée.| Contrôle | Description |
| - | - |
| **Retour en temps réel** | Garantit un éclairage, un positionnement et un cadrage appropriés |
| **Contrôles de qualité** | Détecte le flou, les reflets et veille à une visibilité optimale du visage |
| **Capture adaptative** | S'adapte aux différentes capacités de l'appareil et aux conditions du réseau |
| **Instructions selon la méthode** | Affiche les instructions spécifiques à la méthode (par exemple, « Clignez des yeux maintenant » pour 3D Action) |**2. Analyse de la détection du vivant**Des algorithmes avancés traitent les médias capturés en **temps réel** pour détecter les tentatives d'usurpation. L'analyse diffère selon la méthode :> [accordion] 3D Action & Flash
>
> * Vérifie l'action de l'utilisateur (par exemple, **clignement d'yeux** ou **hochement de tête**) pour confirmer qu'elle est exécutée correctement et en direct
> * Analyse les **reflets de motifs lumineux** pour valider la structure tridimensionnelle du visage
> * Utilise l'apprentissage profond pour évaluer les **micro-expressions** et d'autres signaux comportementaux
> * Combine signaux comportementaux et physiques pour offrir la **meilleure résistance aux usurpations**> [accordion] 3D Flash
>
> * Traite une séquence de **reflets de motifs lumineux** à 30+ FPS pour créer une **carte de profondeur** détaillée
> * Confirme les propriétés 3D du visage, le distinguant ainsi des usurpations plates ou en 2D
> * Aucune interaction requise de la part de l'utilisateur — entièrement **passive du point de vue de l'utilisateur**> [accordion] Passive Liveness
>
> * Applique l'**apprentissage profond** à une seule image pour détecter les **motifs de texture** et les **artefacts**
> * Un réseau de neurones convolutif (CNN) valide les caractéristiques faciales et identifie les anomalies
> * Méthode la plus rapide — fonctionne avec une **seule capture photo**Une détection multicouche identifie les **attaques par présentation**, notamment les photos, les écrans, les masques et les deepfakes.**3. Traitement des résultats et vérification**Le système compare le score de détection du vivant à vos **seuils configurés** et fournit les résultats instantanément.| Résultat | Description |
| - | - |
| **Score de détection du vivant** | Score de confiance normalisé de 0–100% |
| **Décision** | Approuvé, refusé ou en cours d'examen selon vos seuils |
| **Méthode** | Méthode de détection du vivant utilisée (`passive`, `flash`, `action_flash`) |
| **Image de référence** | Image capturée utilisée pour le contrôle de détection du vivant |
| **Avertissements** | Toute anomalie détectée (par exemple, mauvaise qualité, indicateurs d'usurpation potentielle) |Les résultats sont transmis via une **réponse API**, un **webhook**, ou consultables dans la **Console Business** avec des journaux d'audit détaillés pour la conformité.> [!TIP]
>
> Vous pouvez configurer la méthode de détection du vivant à utiliser par workflow dans la [Console Business](https://docs.didit.me/fr/console/workflows.md). Différents workflows peuvent utiliser différentes méthodes en fonction de vos exigences en matière de risque.


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