API de vérification du locuteur
Comparez un extrait audio de référence et un extrait candidat. La réponse indique s’ils proviennent de la même personne, fournit un score de similarité et les métadonnées audio des deux fichiers.
URL de base
https://api.genderrecognition.com
Point de terminaison
POST /v1/speaker-verification/api
En-têtes
apiKey: YOUR_API_KEY
Content-Type: multipart/form-data
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
reference | file | Oui | Voix connue servant de référence pour la vérification. |
candidate | file | Oui | Voix à comparer à l’enregistrement de référence. |
Exemple
curl -X POST "https://api.genderrecognition.com/v1/speaker-verification/api" \
-H "apiKey: YOUR_API_KEY" \
-F "file=@audio.wav"
Réponse
{
"success": true,
"same_speaker": true,
"similarity": 87,
"threshold": 70,
"reference_audio": {
"duration": 4.8,
"sample_rate": 16000
},
"candidate_audio": {
"duration": 5.1,
"sample_rate": 16000
},
"remainingRequests": 119
}
Champs de la réponse
| Champ | Type | Description |
|---|---|---|
success | boolean | true si les deux extraits ont été traités avec succès. |
same_speaker | boolean | true si similarity est supérieur ou égal à threshold, ce qui signifie que les deux extraits sont considérés comme provenant de la même personne. |
similarity | integer | Degré de similarité entre les deux voix, de 0 à 100. Une valeur élevée indique une plus grande similarité. |
threshold | integer | Seuil de similarité utilisé pour déterminer la valeur de same_speaker, de 0 à 100. Une valeur similarity égale ou supérieure à ce seuil est considérée comme une correspondance. |
reference_audio.duration | number | Durée de l’extrait de référence en secondes après décodage pour la comparaison. |
reference_audio.sample_rate | number | Fréquence d’échantillonnage (Hz) utilisée pour décoder l’extrait de référence avant la comparaison. |
candidate_audio.duration | number | Durée de l’extrait candidat en secondes après décodage pour la comparaison. |
candidate_audio.sample_rate | number | Fréquence d’échantillonnage (Hz) utilisée pour décoder l’extrait candidat avant la comparaison. |
remainingRequests | integer | Nombre de requêtes API restantes après déduction de cette requête réussie. |
similarity et threshold sont des pourcentages entiers, et non des scores bruts.
Erreurs possibles
Clé API manquante
{ "error": "API key is required" }
Clé API invalide
{ "error": "Invalid API key" }
Fichier manquant(s)
{ "error": "Both reference and candidate files are required" }
Fichier trop volumineux
{ "error": "File too large" }
Champ inattendu
Cette erreur est renvoyée lorsqu’un fichier est envoyé dans un champ autre que
reference ou candidate (par exemple dans file, ou avec un fichier en trop) :
{ "error": "Unexpected field" }
Type de fichier invalide
{
"error": "Invalid file type. Allowed formats: WAV, MP3, FLAC, MP4, OGG, AIFF"
}
Échec de la conversion audio
Cette erreur est renvoyée lorsque l’extension du fichier est autorisée, mais que ffmpeg ne parvient pas à le convertir (par exemple, s’il est endommagé ou illisible) :
{ "error": "Audio conversion failed: <details>" }
Quota dépassé
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "You have exceeded your free tier limit of 50 requests.",
"detailedMessage": "Insufficient remaining requests. Required: 1, Available: 0",
"details": {
"limit": 50,
"used": 50,
"reset_date": "2026-07-01T00:00:00.000Z"
},
"suggested_action": "Please upgrade to a premium plan to continue using the API."
}
}
Échec du traitement
{ "error": "Speaker verification failed" }
Remarques
- Le serveur accepte de nombreux formats audio courants, notamment WAV, MP3, M4A, FLAC, OGG, WebM, AAC, Opus, WMA, AMR, 3GP, AIFF et AU. Les fichiers autres que WAV sont convertis avant l’analyse.
- Envoyez les deux fichiers dans les champs
referenceetcandidate. Chacun doit peser 10 Mo maximum. - Les extraits de référence et candidat sont traités séparément. Ils peuvent donc différer par leur durée, leur fréquence d’échantillonnage et leur format.
- Une requête n’est déduite qu’une fois la vérification terminée avec succès.