> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Speech Engine

## 概要

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

#### [クイックスタート](/docs/ja/eleven-api/guides/cookbooks/speech-engine)

ElevenLabs SDKで音声エージェントを構築します。

#### [JavaScript SDKリファレンス](/docs/ja/eleven-api/resources/libraries/speech-engine/javascript-sdk-reference)

JavaScript SDKのクラス、メソッド、イベント。

#### [Python SDKリファレンス](/docs/ja/eleven-api/resources/libraries/speech-engine/python-sdk-reference)

Python SDKのクラス、メソッド、イベント。

## 仕組み

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

```mermaid
sequenceDiagram
    participant Browser
    participant ElevenLabs

    box Your Server
        participant SDK as Speech Engine SDK
        participant LLM
    end

    Browser->>ElevenLabs: User speaks (audio)
    ElevenLabs->>SDK: Transcript (WebSocket)
    SDK->>LLM: Conversation history
    LLM->>SDK: Streamed response
    SDK->>ElevenLabs: Text chunks
    ElevenLabs->>Browser: Agent speaks (audio)
```

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

## Speech Engineを使う場面

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

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

ElevenLabsがLLM、ナレッジベース、ツールを提供するフルホステッドソリューションを求める場合は、代わりに[ElevenAgents](/docs/ja/eleven-agents/overview)を使用してください。

## 主な機能

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

## 会話時間

Speech Engineは最大40分（2,400秒）の会話に対応しています。デフォルトでは、会話は600秒（10分）で終了します。より長い会話を許可するには、APIの `conversation.max_duration_seconds` またはダッシュボードの **Advanced** タブにある **Max conversation duration** を増やしてください。詳細は、[最大会話時間の設定](/docs/ja/eleven-api/guides/cookbooks/speech-engine#configuring-the-maximum-conversation-duration)をご覧ください。40分を超える会話が必要な場合は、[チームにお問い合わせください](https://elevenlabs.io/contact-sales)。

## IP許可リスト

サーバーがファイアウォールの内側にある場合や、IPベースのアクセス制御を使用している場合は、ElevenLabsのWebSocket接続の送信元となる静的IPを許可リストに追加できます。IPアドレスの完全な一覧は、[IP許可リスト](/docs/ja/eleven-api/resources/ip-allowlisting)をご覧ください。

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

## よくある質問

#### どのLLMがサポートされていますか？

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

#### Speech EngineとElevenAgentsの違いは何ですか？

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