Speech Engine
Ajoutez une voix à votre propre agent conversationnel ou LLM avec ElevenLabs.
Vue d’ensemble
ElevenLabs Speech Engine ajoute des capacités vocales à tout agent conversationnel. ElevenLabs gère le Speech to Text et le Text to Speech, tandis que votre serveur fournit la logique du LLM. Le SDK gère le cycle de vie des connexions, l’alternance 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 conversationnelle sur leur propre serveur. Utilisez-le lorsque vous devez :
- Ajouter la voix à un agent conversationnel textuel existant
- Utiliser un LLM spécifique, un modèle affiné ou un pipeline d’inférence personnalisé
- Garder le contrôle total du routage des conversations, de la gestion du contexte et des appels d’outils
- Intégrer la voix à une application serveur existante (Express, FastAPI, etc.)
Si vous souhaitez une solution entièrement hébergée dans laquelle 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 qui produit du texte. Le SDK extrait automatiquement le texte des formats de streaming d’OpenAI, Anthropic et Gemini.
- Gestion des interruptions : lorsque l’utilisateur parle au milieu d’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 diffusées dans le navigateur à mesure de leur génération. Transmettez une chaîne, un itérable asynchrone ou un objet de flux LLM natif.
- Alternance des tours de parole : le SDK gère les tours de parole de la conversation, votre serveur n’a donc qu’à répondre aux transcriptions.
Liste d’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 ajouter à la liste d’autorisation les adresses IP de sortie statiques à l’origine des connexions WebSocket d’ElevenLabs. Consultez la liste d’autorisation d’adresses IP pour obtenir la liste complète des adresses IP.
Une liste d’autorisation d’adresses IP garantit que votre serveur n’accepte que les connexions WebSocket des systèmes d’ElevenLabs.
FAQ
Quels LLM sont pris en charge ?
Tout LLM qui produit du texte. Le SDK intègre l’extraction de flux pour OpenAI (Responses API et Chat Completions API), Anthropic Messages API et Google Gemini API. Pour les autres fournisseurs, transmettez une simple chaîne ou un itérable asynchrone de fragments de chaîne.
Quelle est la différence entre Speech Engine et ElevenAgents ?
ElevenAgents est une plateforme entièrement hébergée dans laquelle 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 conversationnelle sur leur propre serveur.
Quels frameworks serveur sont pris en charge ?
En TypeScript, vous pouvez associer Speech Engine à tout serveur HTTP Node.js (Express, Fastify ou
http.createServer() standard), 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 avec engine.create_session().