Speech Engine
Ajoutez la voix à votre propre agent de chat ou LLM avec ElevenLabs.
Vue d’ensemble
ElevenLabs Speech Engine ajoute des capacités vocales à n’importe quel agent de chat. ElevenLabs gère la reconnaissance et la synthèse vocales, tandis que votre serveur assure la logique du LLM. Le SDK gère le cycle de vie des connexions, la gestion des tours de parole et la détection des interruptions, afin que vous puissiez vous concentrer sur le comportement de votre agent.
Fonctionnement
Speech Engine connecte votre serveur à ElevenLabs via WebSocket. Chaque connexion représente une conversation.
- Un utilisateur parle dans le navigateur. ElevenLabs capture l’audio et le transcrit.
- La transcription est envoyée à votre serveur avec l’historique complet de la conversation.
- Votre serveur transmet la transcription à votre LLM et renvoie la réponse en streaming.
- ElevenLabs convertit le texte en parole et le lit dans le navigateur.
Quand utiliser Speech Engine
Speech Engine est conçu pour les développeurs qui souhaitent utiliser leur propre LLM et contrôler la logique de conversation sur leur propre serveur. Utilisez-le lorsque vous devez :
- Ajouter la voix à un agent de chat textuel existant
- Utiliser un LLM spécifique, un modèle finetuné ou un pipeline d’inférence personnalisé
- Garder un contrôle total sur le routage des conversations, la gestion du contexte et l’appel d’outils
- Intégrer la voix dans une application serveur existante (Express, FastAPI, etc.)
Si vous souhaitez une solution entièrement hébergée où ElevenLabs fournit le LLM, la base de connaissances et les outils, utilisez plutôt ElevenAgents.
Fonctionnalités clés
- Tout LLM : utilisez OpenAI, Anthropic, Google Gemini ou tout modèle produisant du texte. Le SDK extrait automatiquement le texte des formats de streaming d’OpenAI, Anthropic et Gemini.
- Gestion des interruptions : lorsque l’utilisateur parle pendant une réponse, le SDK annule automatiquement la requête LLM en cours via un
AbortSignal(TypeScript) ou l’annulation de tâche (Python). - Streaming : les réponses sont envoyées au navigateur en streaming à mesure qu’elles sont générées. Transmettez une chaîne, un itérable asynchrone ou un objet de flux LLM natif.
- Gestion des tours de parole : le SDK gère les tours de conversation, votre serveur n’a donc qu’à répondre aux transcriptions.
Durée des conversations
Speech Engine prend en charge des conversations allant jusqu’à 40 minutes (2 400 secondes). Par défaut, une
conversation se termine après 600 secondes (10 minutes). Pour autoriser des conversations plus longues, augmentez
conversation.max_duration_seconds dans l’API ou Durée maximale de la conversation dans l’onglet
Avancé du Dashboard. Consultez
Configurer la durée maximale de la conversation.
Si vous avez besoin de conversations de plus de 40 minutes, contactez notre équipe.
Autorisation d’adresses IP
Si votre serveur est derrière un pare-feu ou utilise des contrôles d’accès basés sur les adresses IP, vous pouvez autoriser les adresses IP de sortie statiques depuis lesquelles les connexions WebSocket d’ElevenLabs sont établies. Consultez l’autorisation d’adresses IP pour obtenir la liste complète des adresses IP.
L’autorisation d’adresses IP garantit que votre serveur n’accepte que les connexions WebSocket provenant des systèmes d’ElevenLabs.
FAQ
Quels LLM sont pris en charge ?
Tout LLM produisant du texte. Le SDK intègre l’extraction de flux pour OpenAI (API Responses et API Chat Completions), l’API Messages d’Anthropic et l’API Google Gemini. Pour les autres fournisseurs, transmettez une chaîne simple ou un itérable asynchrone de fragments de chaînes.
Quelle est la différence entre Speech Engine et ElevenAgents ?
ElevenAgents est une plateforme entièrement hébergée où ElevenLabs fournit le LLM, la base de connaissances et les outils. Speech Engine s’adresse aux développeurs qui souhaitent utiliser leur propre LLM et contrôler la logique de conversation sur leur propre serveur.
Quels frameworks serveur sont pris en charge ?
En TypeScript, vous pouvez rattacher Speech Engine à n’importe quel serveur HTTP Node.js (Express, Fastify ou
http.createServer() simple), ou exécuter un serveur WebSocket autonome. En Python, le SDK fournit
un serveur autonome via engine.serve(), ou vous pouvez l’intégrer à FastAPI, Starlette ou tout
framework ASGI à l’aide de engine.create_session().