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.

  1. Un utilisateur parle dans le navigateur. ElevenLabs capture l’audio et le transcrit.
  2. La transcription est envoyée à votre serveur avec l’historique complet de la conversation.
  3. Votre serveur transmet la transcription à votre LLM et renvoie la réponse en streaming.
  4. 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

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.

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.

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().