Passer à la navigation

Référence des événements en temps réel

Référence des événements reçus depuis l’API Realtime Speech to Text

Référence · Répertorie tous les événements envoyés vers et reçus depuis l’API WebSocket Realtime Speech to Text.

Consultez le Guide de l’API de l’API Realtime Speech to Text pour en savoir plus sur l’API et ses options.

committed_transcript est l’événement final et stable de chaque segment. L’API publique n’émet pas d’événement final_transcript distinct.

Événements envoyés

ÉvénementDescriptionQuand l’utiliser
input_audio_chunkEnvoyer des données audio à transcrireEn continu pendant le streaming audio

Avec Scribe v3 Live, le premier input_audio_chunk d’une session peut aussi inclure une bibliothèque de termes clés.

Événements reçus

ÉvénementDescriptionRéception
session_startedConfirme la connexion et renvoie la configuration de la sessionImmédiatement après l’établissement de la connexion WebSocket
partial_transcriptMise à jour en direct de la transcription pour le segment en cours. Les extraits partiels ultérieurs remplacent les précédents. Avec diarize=true, inclut des words provisoires avec speaker_id (null jusqu’à l’identification) ; les identifiants de locuteur et les horodatages peuvent changer, et les mots non alignés n’ont pas d’horodatage. Également envoyé comme signal de maintien de connexion, avec un text vide si le segment ne contient aucun texte non validé, ou une répétition du dernier extrait partiel dans le cas contrairePendant le traitement audio, avant une validation. Également envoyé comme signal de maintien de connexion environ une fois par keepalive_interval_ms lorsqu’il est configuré
committed_transcriptTranscription stabilisée d’un segment. Il s’agit du texte final et stable du segment, qui ne changera pas. Avec diarize=true, inclut un segment_index commençant à zéro et n’est pas retardé par la diarisationAprès une validation, manuelle ou déclenchée par la VAD
diarized_transcriptTranscription attribuée aux locuteurs avec text, words et un segment_index correspondant à la transcription validée. Les locuteurs non résolus ont speaker_id: null. Consultez la diarisation des locuteursAprès chaque transcription validée, dans l’ordre des validations, même si les locuteurs ne peuvent pas être identifiés. Reçu uniquement lorsque diarize=true
speakers_mergedIndique que from_speaker_id et to_speaker_id désignent une même personne. Remplacez chaque utilisation antérieure de from_speaker_id dans les transcriptions partielles et diarées par to_speaker_id ; appliquez les fusions en chaîne dans l’ordre de réception. Les identifiants ne sont jamais réutilisésLorsque deux identifiants de locuteur sont identifiés comme appartenant à une même personne. Reçu uniquement lorsque diarize=true
committed_transcript_with_timestampsTranscription validée avec des horodatages au niveau des mots et le language_code détectéEnvoyé après la transcription validée. Reçu uniquement lorsque include_timestamps=true ou include_language_detection=true figure dans les paramètres de requête
committed_transcript_entitiesEntités détectées dans le segment de transcription validée, avec leurs décalages de caractèresEnvoyé peu après chaque transcription validée. Reçu uniquement lorsque entity_detection figure dans les paramètres de requête
redacted_transcriptSegment de transcription validée où les entités masquées sont remplacées par des marqueurs, accompagné du texte validé d’origineEnvoyé peu après chaque transcription validée. Reçu uniquement lorsque entity_redaction figure dans les paramètres de requête
edited_transcriptVersion modifiée du segment de transcription validée, accompagnée du texte validé d’origineEnvoyé peu après chaque transcription validée. Reçu uniquement lorsque transcript_edit figure dans les paramètres de requête

Code de langue

Définissez include_language_detection=true dans les paramètres de requête pour recevoir la langue parlée sous forme de language_code dans les événements partial_transcript et committed_transcript_with_timestamps.

  • Pour partial_transcript, language_code est toujours présent et vaut null jusqu’à ce que le segment en cours contienne suffisamment de parole pour déterminer la langue, soit environ quatre mots ou huit caractères pour les langues écrites sans espaces, comme le chinois, le japonais et le thaï, et que la même langue ait été détectée dans des extraits partiels consécutifs. Les segments très courts, tels qu’un seul mot, peuvent rester à null, et un extrait partiel trop court pour déterminer la langue réinitialise le compteur d’extraits partiels consécutifs. Une fois défini, il ne change que lorsque la nouvelle langue a été détectée dans des extraits partiels consécutifs, afin qu’un seul extrait inhabituel ne le modifie pas.
  • Les extraits partiels sans texte prononcé, contenant uniquement de la ponctuation par exemple, ont language_code: null.
  • Le language_code de committed_transcript_with_timestamps est la réponse définitive pour le segment. S’il diffère du dernier extrait partiel, utilisez la valeur validée. Il est envoyé après committed_transcript ; affichez donc la valeur de l’extrait partiel jusqu’à sa réception.
  • Si vous transmettez un language_code ou secondary_languages lors de la connexion, la langue provient de la reconnaissance effectuée par le modèle parmi ces langues. Sans indication, elle est détectée à partir du texte transcrit.
  • Sans include_language_detection=true, les événements partial_transcript n’ont pas de champ language_code.

Gestion des erreurs

En cas d’erreur, un message d’erreur est renvoyé avant la fermeture de la connexion WebSocket.

Type d’erreurDescription
auth_errorUne erreur est survenue lors de l’authentification de la requête. Vérifiez votre clé API
quota_exceededVous avez dépassé votre quota d’utilisation
transcriber_errorUne erreur est survenue lors de la transcription audio.
input_errorUne erreur est survenue lors du traitement du bloc audio, probablement en raison d’un format d’entrée ou de paramètres non valides
invalid_requestLes paramètres de connexion ont été refusés. Vérifiez les paramètres de requête dans le Guide de l’API
errorErreur générique du serveur. Également envoyée lorsqu’un masquage d’entités échoue, avant la fermeture de la connexion
commit_throttledLa validation a été limitée en raison d’un trop grand nombre de requêtes de validation sur une courte période
unaccepted_termsVous n’avez pas accepté les conditions d’utilisation de Scribe. Consultez et acceptez les conditions générales dans le Dashboard ElevenLabs
rate_limitedVotre débit de requêtes est limité. Réduisez le nombre de requêtes effectuées sur une courte période
queue_overflowLa file de traitement est pleine. Envoyez moins de requêtes sur une courte période
resource_exhaustedLes ressources du serveur sont saturées. Réessayez plus tard
session_time_limit_exceededLa durée maximale de session a été atteinte. Démarrez une nouvelle session ou effectuez un upgrade de votre abonnement
chunk_size_exceededLa taille du bloc audio est trop importante. Réduisez la taille du bloc
insufficient_audio_activityVous n’avez pas envoyé suffisamment d’activité audio pour maintenir la connexion