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

# レイテンシーの最適化

このガイドでは、テキスト読み上げのレイテンシーを改善するための基本原則を説明します。レイテンシーとは何か、何が影響するのかについては、[レイテンシーを理解する](/docs/ja/eleven-api/concepts/latency)をご覧ください。

個別の手法は数多くありますが、ここでは**4つの原則**に分けて紹介します。

#### 4つの原則

1. [Flashモデルを使用する](#use-flash-models)
2. [ストリーミングを活用する](#leverage-streaming)
3. [地理的な近接性を考慮する](#consider-geographic-proximity)
4. [適切な音声を選ぶ](#choose-appropriate-voices)

> **Success**
>
> エンタープライズのお客様は、より高い同時実行数の上限とレンダリングキューへの優先アクセスをご利用いただけます。エンタープライズ
> プランの詳細は、[営業にお問い合わせください](https://elevenlabs.io/contact-sales)。

## Flashモデルを使用する

[Flashモデル](/docs/ja/overview/models#flash-v25)は約75msの推論速度を実現しており、リアルタイムアプリケーションに最適です。その代わり、[Multilingual v2](/docs/ja/overview/models#multilingual-v2)と比較すると、オーディオ品質はわずかに低下します。

> **Info**
>
> 75msはモデルの推論時間のみを指します。実際のエンドツーエンドのレイテンシーは、
> 場所や使用するエンドポイントの種類などの要因によって変わります。

## ストリーミングを活用する

[APIリファレンス](/docs/ja/api-reference/introduction)では、3種類のテキスト読み上げエンドポイントを利用できます。

* **通常エンドポイント**：完全なオーディオファイルを1回のレスポンスで返します。
* **ストリーミングエンドポイント**：[Server-sent events](https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events)を使用して、オーディオチャンクを段階的に返します。
* **WebSocketエンドポイント**：リアルタイムのオーディオ生成向けに双方向ストリーミングを有効にします。

### ストリーミング

ストリーミングエンドポイントは、オーディオの生成と同時にリアルタイムで段階的に返すため、最初のバイトを受信するまでの時間を短縮します。このエンドポイントは、入力テキストを事前に用意できるケースに推奨されます。

> **Info**
>
> ストリーミングは、[テキスト読み上げ](/docs/ja/api-reference/text-to-speech/stream) API、
> [ボイスチェンジャー](/docs/ja/api-reference/speech-to-speech/stream) API、[オーディオ 分離](/docs/ja/api-reference/audio-isolation/stream) APIでサポートされています。

### WebSocket

[テキスト読み上げWebSocketエンドポイント](/docs/ja/api-reference#text-to-speech-websocket)は双方向ストリーミングに対応しており、リアルタイムでテキスト入力が行われるアプリケーション（例：LLMの出力）に最適です。

> **Tip**
>
> `auto_mode`をtrueに設定すると、生成のトリガーが自動的に処理されるため、
> チャンク戦略を手動で管理する必要がなくなります。

`auto_mode`が無効の場合、モデルはチャンクスケジュールに一致する十分なテキストが届くまで、オーディオ生成を開始しません。

たとえば、チャンクスケジュールを125文字に設定しても50文字しか届かない場合、追加の文字が届くまでモデルは待機します。その結果、レイテンシーが増加する可能性があります。

実装の詳細については、[テキスト読み上げWebSocketガイド](/docs/ja/api-reference#text-to-speech-websocket)をご覧ください。

## 適切な音声を選ぶ

場合によっては、音声の選択がレイテンシーに影響することがあります。高速な順に並べると、以下のとおりです。

1. デフォルト音声（旧Premade）、Synthetic音声、インスタントボイスクローン（IVC）
2. プロフェッショナルボイスクローン（PVC）

高音質の出力形式では、レイテンシーが増加する場合があります。レイテンシー要件と必要なオーディオ忠実度のバランスを取ってください。

> **Info**
>
> Flash v2.5におけるPVCのレイテンシー最適化に現在取り組んでいます。

## 地理的な近接性を考慮する

地理的な場所に応じてレイテンシーを最適化するため、複数のリージョンからモデルを提供しています。

たとえば、FlashモデルをWebSocketで使用する場合、場所に応じて以下のTTFBレイテンシーが見込まれます。

| リージョン | TTFB      |
| ----- | --------- |
| 北米    | 100-150ms |
| ヨーロッパ | 100-150ms |
| 東南アジア | 100-150ms |
| 南アジア  | 150-200ms |
| 北東アジア | 150-200ms |

APIレスポンスの`x-region`ヘッダーを確認すると、リクエストを処理しているバックエンドリージョンを確認できます。
現在使用しているリージョンは、米国、オランダ、シンガポールです。

> **Info**
>
> エンタープライズのお客様は、サーバー所在地の保証と低レイテンシーを実現する専用のEUおよびインドのデータレジデンシー環境を
> ご利用いただけます。データレジデンシーインフラストラクチャの利用開始については、営業担当者にお問い合わせください。

グローバルルーティングを無効にして常に米国のサーバーを使用するには、APIリクエストのベースURLに`api.us.elevenlabs.io`を使用します。

```python
import os
from elevenlabs.client import ElevenLabs

elevenlabs = ElevenLabs(
    api_key=os.getenv("ELEVENLABS_API_KEY"),
    base_url="https://api.us.elevenlabs.io"
)

```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient({
  apiKey: process.env.ELEVENLABS_API_KEY,
  baseUrl: "https://api.us.elevenlabs.io",
});
```

**`cURL`**

```bash cURL
curl -X POST -v "https://api.us.elevenlabs.io/v1/text-to-speech/{voice_id}" \
  -H "Accept: audio/mpeg" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: YOUR_API_KEY" \
  -d '{
    "text": "Hello World!",
    "model_id": "eleven_flash_v2_5"
  }'
```

> **Warning**
>
> 以前は、`api-global-preview.elevenlabs.io`をベースURLとして使用することで、グローバルサーバーをオプトインする必要がありました。
> 現在はこれがデフォルトの動作となっているため、不要です。代わりに単に`api.elevenlabs.io`を使用するよう、
> アプリケーションを更新してください。