Aller au contenu principal

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​

ChampTypeObligatoireDescription
referencefileOuiVoix connue servant de référence pour la vérification.
candidatefileOuiVoix à 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​

ChampTypeDescription
successbooleantrue si les deux extraits ont été traités avec succès.
same_speakerbooleantrue 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.
similarityintegerDegré de similarité entre les deux voix, de 0 à 100. Une valeur élevée indique une plus grande similarité.
thresholdintegerSeuil 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.durationnumberDurée de l’extrait de référence en secondes après décodage pour la comparaison.
reference_audio.sample_ratenumberFréquence d’échantillonnage (Hz) utilisée pour décoder l’extrait de référence avant la comparaison.
candidate_audio.durationnumberDurée de l’extrait candidat en secondes après décodage pour la comparaison.
candidate_audio.sample_ratenumberFréquence d’échantillonnage (Hz) utilisée pour décoder l’extrait candidat avant la comparaison.
remainingRequestsintegerNombre 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 reference et candidate. 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.