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

# Créer une session de validation visuelle

> Crée une session de validation visuelle de personne réelle au format compatible Volc.

Créez une session de validation visuelle avant de téléverser des ressources `liveness_face` réutilisables. TokenLab utilise le format de l’API Action Volc et l’authentification Bearer TokenLab.

## Point de terminaison et authentification

```text theme={null}
POST https://api.tokenlab.sh/api/v3?Action=CreateVisualValidateSession&Version=2024-01-01
Authorization: Bearer <TOKENLAB_API_KEY>
Content-Type: application/json
```

Les signatures AK/SK Volc ne sont pas acceptées. `CallbackURL` est obligatoire et doit être une URL HTTPS publique. `ProjectName` est facultatif et vaut `default` par défaut.

## Déroulement

1. Enregistrez `Result.BytedToken`, puis ouvrez `Result.H5Link` pour la personne à vérifier.
2. Pour choisir la langue H5, ajoutez `lng` à `H5Link`, par exemple `&lng=en`. La langue n’est pas un champ du corps de la requête.
3. À la fin du parcours H5, le navigateur ouvre `Result.CallbackURL`. La requête de callback peut contenir `bytedToken`, `resultCode`, `algorithmBaseRespCode`, `reqMeasureInfoValue` et `verify_type`.
4. Interrogez [Obtenir le résultat de validation visuelle](/fr/api-reference/video/get-visual-validation-result) avec le `BytedToken` enregistré jusqu’au retour de `Result.GroupId`.

`BytedToken` est valide 30 minutes et lié à l’organisation authentifiée ainsi qu’à `ProjectName`. Le lien H5 permet une seule validation terminée et devient invalide après utilisation.

Traitez `Result.H5Link` comme une URL de navigateur opaque : ouvrez-la comme page de premier niveau, sans l’analyser, la décoder, la réécrire ni l’intégrer. TokenLab gère le transfert du navigateur et le pont de callback.

## Exemple de requête

```bash theme={null}
curl 'https://api.tokenlab.sh/api/v3?Action=CreateVisualValidateSession&Version=2024-01-01' \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"CallbackURL":"https://yourapp.example.com/seedance/callback","ProjectName":"default"}'
```

## Exemple de réponse

```json theme={null}
{
  "ResponseMetadata": {
    "RequestId": "req_abc123",
    "Action": "CreateVisualValidateSession",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing"
  },
  "Result": {
    "BytedToken": "ZXhhbXBsZS10b2tlbg",
    "H5Link": "https://api.tokenlab.sh/api/v3/visual-validation/sessions/svv_example/h5?Version=2024-01-01",
    "CallbackURL": "https://yourapp.example.com/seedance/callback"
  }
}
```

Les erreurs utilisent la même structure racine. Lisez `ResponseMetadata.Error.Code` et `ResponseMetadata.Error.Message`, et non les champs d’erreur des autres API TokenLab `/v1`.
