> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cartesia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# エンドポイントの比較

> Cartesia の speech-to-text API と統合する方法は 3 種類あります

## 概要

### Realtime STT (Auto)

ほとんどの新規ボイスエージェントは、組み込みのターン検出を活用するために [Realtime STT (Auto) `/stt/turns/websocket`](/api-reference/stt/turns/websocket) から始めるべきです。

> **ユーザーターン**とは、アプリが単一の応答ポイントとして扱う、ユーザーの発話の 1 つのまとまりです。
> 当社の `/stt/turns/websocket` エンドポイントは、ユーザーターンがモデルによって**自動的にファイナライズ**されるため、「Realtime STT (**Auto**)」と呼んでいます。

### Realtime STT (Manual)

Cartesia は、すでに VAD を独自管理しており、トランスクリプトを発行するタイミングを厳密に制御したいスタック向けに [Realtime STT (Manual) `/stt/websocket`](/api-reference/stt/websocket) もサポートしています。
ユーザーが話し終わったら、`"finalize"` を送信してください。

> **音声活動検出 (VAD)** は、音声中の発話と非発話を検出します。
> 当社の `/stt/websocket` エンドポイントは、ユーザーターンが独自の VAD によって**手動でファイナライズ**されるため、「Realtime STT (**Manual**)」と呼んでいます。

### Batch STT

事前に録音された音声を 1 リクエストで文字起こしするには [Batch STT `/stt`](/api-reference/stt/transcribe) を使用します。

> Batch STT は録音全体を 1 リクエストで受け取りますが、リアルタイムエンドポイントは 1 秒あたり 1 秒分の音声データしか受け取れません。つまり、音声を「リアルタイムで」送信する必要があります。

## 比較

|                   | `/stt/turns/websocket` (auto)     | `/stt/websocket` (manual)  | `/stt` (batch)                |
| ----------------- | --------------------------------- | -------------------------- | ----------------------------- |
| トランスポート           | WebSocket                         | WebSocket                  | HTTP ファイルアップロード               |
| 最適な用途             | 自然な対話型ボイスエージェント                   | 明示的なターン制御                  | 事前録音ファイルとオフラインジョブ             |
| サポートモデル           | `ink-2` のみ                        | すべて                        | `ink-whisper` のみ。`ink-2` 近日対応 |
| VAD を担当するのは？      | Cartesia                          | アプリ側                       | N/A                           |
| ユーザーターン完了を判断するのは？ | Cartesia                          | アプリ側                       | N/A                           |
| `finalize` を送るか？  | いいえ                               | はい。低レイテンシー確保のため**必須**      | いいえ                           |
| 音声入力              | チャンクストリーム                         | チャンクストリーム                  | 完全なファイル                       |
| 返ってくるもの           | **完全なユーザーターンのトランスクリプト**を含むターンイベント | 利用可能になり次第の**トランスクリプトのデルタ** | 1 つの完全なトランスクリプト               |

<Note>
  Ink 2 は現時点で英語のみをサポートしています。\
  今後数ヶ月のうちに他言語の追加を予定しています。
</Note>

## 選び方

ボイスエージェントを構築する場合は、[Realtime STT (Auto) `/stt/turns/websocket`](/api-reference/stt/turns/websocket) から始めてください。

アプリが文字起こしの開始と終了タイミングを正確に把握している場合、またはトランスクリプトを発行するタイミングを厳密に制御したい場合は、[Realtime STT (Manual) `/stt/websocket`](/api-reference/stt/websocket) を使い、ユーザーが話し終わったときに `"finalize"` を送信してください。

すでに完全に録音された音声を文字起こしする場合は、[Batch STT `/stt`](/api-reference/stt/transcribe) を使用してください。

## 次に進む

<CardGroup cols={3}>
  <Card title="ターン検出を理解する" icon="comments" href="/use-the-api/stt/turns/turns">
    ボイスエージェントでユーザーターンイベントがどう動作するかを確認
  </Card>

  <Card title="落とし穴を避ける" icon="bug" href="/use-the-api/stt/troubleshooting">
    文字起こしエラー、高レイテンシー、サーバーエラーをトラブルシューティング
  </Card>

  <Card title="コード例を見る" icon="brackets-curly" href="/examples/stt-auto-finalize-websocket">
    各 API エンドポイントを使ったシンプルな実装
  </Card>
</CardGroup>
