スピーチエンジン

ElevenLabsで、自社のチャットエージェントやLLMに音声機能を追加できます。

概要

ElevenLabs Speech Engineは、あらゆるチャットエージェントに音声機能を追加します。ElevenLabsがスピーチtoテキストとテキスト読み上げを処理し、サーバー側でLLMロジックを提供します。SDKが接続ライフサイクル、ターンテイキング、割り込み検出を管理するため、エージェントの動作に集中できます。

仕組み

Speech Engineは、WebSocket経由でサーバーをElevenLabsに接続します。各接続は1つの会話を表します。

  1. ユーザーがブラウザで話します。ElevenLabsがオーディオをキャプチャして文字起こしします。
  2. 文字起こしは、完全な会話履歴とともにサーバーへ送信されます。
  3. サーバーが文字起こしをLLMに渡し、レスポンスをストリーミングで返します。
  4. ElevenLabsがテキストを音声に変換し、ブラウザで再生します。

Speech Engineを使う場合

Speech Engineは、自身のLLMを使用し、自身のサーバー上で会話ロジックを制御したいデベロッパー向けに設計されています。次のような場合に使用してください:

  • 既存のテキストベースのチャットエージェントに音声を追加する
  • 特定のLLM、微調整済みモデル、またはカスタム推論パイプラインを使用する
  • 会話ルーティング、コンテキスト管理、ツール呼び出しを完全に制御する
  • 既存のサーバーアプリケーション(Express、FastAPIなど)に音声を統合する

ElevenLabsがLLM、ナレッジベース、ツールを提供するフルホスト型ソリューションを利用したい場合は、代わりにElevenAgentsを使用してください。

主な機能

  • 任意のLLM - OpenAI、Anthropic、Google Gemini、またはテキストを生成する任意のモデルを使用できます。SDKはOpenAI、Anthropic、Geminiのストリーム形式からテキストを自動抽出します。
  • 割り込み処理 - ユーザーが応答の途中で話すと、SDKはAbortSignal(TypeScript)またはタスクキャンセル(Python)を通じて、処理中のLLMリクエストを自動的にキャンセルします。
  • ストリーミング - 応答は生成されると同時にブラウザへストリーミングされます。文字列、非同期イテラブル、またはネイティブLLMストリームオブジェクトを渡せます。
  • ターンテイキング - SDKが会話のターンを管理するため、サーバーは文字起こしに応答するだけで済みます。

IP許可リスト

サーバーがファイアウォールの背後にある場合や、IPベースのアクセス制御を使用している場合は、ElevenLabsのWebSocket接続の送信元となる静的エグレスIPを許可リストに追加できます。IPアドレスの完全なリストについては、IP許可リストを参照してください。

IP許可リストを使用すると、サーバーはElevenLabsの システムからのWebSocket接続のみを受け入れるようにできます。

よくある質問

テキストを生成する任意のLLMです。SDKには、OpenAI(Responses APIおよび Chat Completions API)、Anthropic Messages API、Google Gemini API向けのストリーム抽出機能が組み込まれています。その他のプロバイダーでは、 プレーンな文字列または文字列チャンクの非同期イテラブルを渡してください。

ElevenAgentsは、ElevenLabsがLLM、ナレッジベース、 ツールを提供するフルホスト型プラットフォームです。Speech Engineは、自身のLLMを使用し、 自身のサーバー上で会話ロジックを制御したいデベロッパー向けです。

TypeScriptでは、Speech Engineを任意のNode.js HTTPサーバー(Express、Fastify、または プレーンなhttp.createServer())に接続するか、スタンドアロンのWebSocketサーバーとして実行できます。Pythonでは、SDKは engine.serve()を介したスタンドアロンサーバーを提供します。または、engine.create_session()を使用してFastAPI、Starlette、 または任意のASGIフレームワークと統合できます。