ナビゲーションにスキップ

スピーチエンジン

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が会話ターンを管理するため、サーバーは文字起こしに応答するだけで済みます。

会話時間

Speech Engineは最大2時間(7,200秒)の会話をサポートしています。デフォルトでは、会話は600秒(10分)で終了します。より長い会話を許可するには、APIでconversation.max_duration_secondsを増やすか、ダッシュボードのAdvancedタブでMax conversation durationを設定してください。詳しくは、最大会話時間の設定を参照してください。

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フレームワークと統合できます。