接続
Deepgram の WebSocket URL と認証ヘッダーを Cartesia のものに置き換えます。cartesia_version クエリパラメータで渡し、API キーの代わりに短命の アクセストークン を access_token クエリパラメータで使用してください。
クエリパラメータ
| Deepgram Nova | Cartesia Ink | 備考 |
|---|---|---|
model=nova-3(必須) | model=ink-2(必須) | 全オプションは モデル を参照してください。 |
encoding=linear16(必須) | encoding=pcm_s16le(必須) | linear16 → pcm_s16le、linear32 → pcm_s32le、mulaw → pcm_mulaw、alaw → pcm_alaw。 |
sample_rate(必須) | sample_rate(必須) | 変更なし。 |
language | language | ink-2 は現在 en のみサポート。他の言語 には ink-whisper を使用してください。 |
| — | cartesia_version=2026-03-01 | 詳細は API の規約 を参照してください。 |
multichannel、channels | — | WebSocket 接続ごとにモノラルの音声ストリームを送信してください。 |
diarize | — | 近日公開! |
keyterm、keywords | — | 近日公開! |
endpointing、utterance_end_ms、interim_results、vad_events、punctuate、smart_format、numerals、dictation、redact、replace、search、detect_entities、profanity_filter | — | 同等機能なし。 |
音声の送信
両 API とも、バイナリ WebSocket フレームとして生の音声を受け取ります。音声パイプラインの変更はなく、宣言したencoding と sample_rate にバイトが一致することを確認するだけです。
Cartesia の制御コマンドは JSON ではなく、プレーンなテキストフレームです。
モデルにバッファされた音声をフラッシュし、トランスクリプトを発行させるには:
KeepAlive メッセージに相当するものはありません。接続には 3 分のアイドルタイムアウトがあり、音声チャンクを送信するたびにリセットされます。維持するには(無音でも)音声をストリーミングし続けてください。
イベントマッピング
Deepgram は 4 種類のサーバーメッセージタイプを発行します。Cartesia はトランスクリプトのチャンクに加えて、finalize および close コマンドの確認応答を発行します。
Deepgram Nova (type) | Cartesia (type) | 備考 |
|---|---|---|
Results | transcript | メインのトランスクリプトイベント。下にあるペイロードの差分を参照してください。 |
Metadata | — | 同等機能なし。 |
UtteranceEnd | — | 同等機能なし。必要であればクライアント側 VAD を実行するか、Realtime STT を使用してください。 |
SpeechStarted | — | 同等機能なし。必要であればクライアント側 VAD を実行するか、Realtime STT を使用してください。 |
| — | flush_done | finalize の確認応答。 |
| — | done | close の確認応答。WebSocket がクローズする直前に送信されます。 |
| — | error | WebSocket 上のエラーイベント。 |
Results メッセージ:
transcript イベントになります:
text は、セッション全体の累積トランスクリプトではなく、前回の is_final: true チャンク以降のデルタです。完全なトランスクリプトを組み立てるには、is_final が true のすべてのチャンクから text を連結してください。
トランスクリプトを正しく組み立てるため、text から空白を取り除いたり、チャンク間に空白を追加したりしないでください。
同等機能のないフィールド
Cartesia は以下を発行しません:channel.alternatives— Cartesia はトップレベルで最良のトランスクリプトを 1 つ返しますchannel_index、from_finalizespeech_final—is_finalと無音ベースのファイナライズを併用してくださいconfidence(単語ごとおよび発話ごと)entities、metadata、model_infopunctuated_word、speaker(単語ごと) — diarization は近日公開予定です