SDK React
useScribe : transcription parole-texte en temps réel avec React
Pour une présentation de Scribe et de ses fonctionnalités, consultez la présentation de Speech to Text . Pour des guides d’utilisation étape par étape, consultez le streaming côté client.
Installation
Utilisez la skill Speech to Text d’ElevenLabs pour transcrire l’audio depuis votre assistant de programmation IA :
@elevenlabs/react réexporte tous les éléments de @elevenlabs/client, vous n’avez donc pas besoin d’installer
les deux packages.
Utilisation
Voici un exemple minimal fonctionnel qui se connecte à Scribe et affiche la transcription en temps réel :
Obtenir un jeton
Scribe nécessite un jeton à usage unique pour l’authentification. Créez un endpoint API sur votre serveur :
Votre clé API ElevenLabs est sensible. Ne l’exposez jamais côté client. Générez toujours le jeton sur le serveur.
Options du hook
Configurez le hook avec des options et des callbacks par défaut :
Options de connexion
Options VAD
Ces options déterminent quand les transcriptions sont automatiquement validées avec la stratégie de validation VAD.
Options audio
L’objet microphone accepte :
Options de comportement
Callbacks
Tous les callbacks d’événements sont facultatifs et peuvent être fournis comme options du hook :
- onConnect : gestionnaire appelé lorsque la connexion WebSocket est établie.
- onDisconnect : gestionnaire appelé lorsque la connexion WebSocket est fermée.
- onSessionStarted : gestionnaire appelé lorsque la session Scribe démarre.
- onPartialTranscript : gestionnaire appelé avec les résultats de transcription provisoires. Reçoit
{ text: string }. - onCommittedTranscript : gestionnaire appelé avec les résultats de transcription finalisés. Reçoit
{ text: string }. - onCommittedTranscriptWithTimestamps : gestionnaire appelé avec les résultats de transcription finalisés, y compris le minutage au niveau des mots. Reçoit
{ text: string; words?: { start: number; end: number }[] }. - onError : gestionnaire d’erreurs générique pour toutes les erreurs. Reçoit
Error | Event. - onAuthError : gestionnaire appelé en cas d’erreurs d’authentification. Reçoit
{ error: string }.
Callbacks d’erreur
Le callback générique onError se déclenche pour toutes les erreurs. Des callbacks d’erreur spécifiques sont également disponibles pour une gestion précise. Tous les callbacks d’erreur spécifiques reçoivent { error: string }.
Mode microphone
Diffusez l’audio directement depuis le microphone de l’utilisateur :
Mode audio manuel (transcription de fichier)
Transcrivez des fichiers audio préenregistrés :
Valeurs renvoyées
État
- status : état actuel de la connexion :
"disconnected","connecting","connected","transcribing"ou"error". - isConnected : booléen indiquant si la connexion est établie.
- isTranscribing : booléen indiquant si une transcription est en cours.
- partialTranscript : chaîne de transcription partielle actuelle (provisoire).
- committedTranscripts : tableau d’objets
TranscriptSegment(voir ci-dessous). - error : message d’erreur actuel, ou
null.
Chaque segment de transcription validé présente la structure suivante :
Méthodes
connect(options?)
Connectez-vous à Scribe. Les options fournies ici remplacent les valeurs par défaut du hook :
disconnect()
Déconnectez-vous et libérez les ressources :
sendAudio(audioBase64, options?)
Envoyez des données audio (mode manuel uniquement) :
Le champ previousText ne peut être envoyé que dans le premier segment audio d’une session. Son envoi dans
des segments ultérieurs entraîne une erreur.
commit()
Validez manuellement la transcription actuelle :
clearTranscripts()
Effacez toutes les transcriptions de l’état :
getConnection()
Obtenez l’instance de connexion sous-jacente :
Stratégies de validation
Contrôlez le moment où les transcriptions sont validées :
Pour en savoir plus, consultez Transcriptions et stratégies de validation.
Exemple complet
Voici un exemple complet de composant React utilisant le hook useScribe avec une stratégie de validation basée sur la VAD :