Skip to main content
Cartesia の Realtime Speech-to-Text (Auto) API は、Deepgram の Turn-based Audio (Flux) API と類似しています。 両 API とも WebSocket 経由でターンベースのイベントを発行するため、既存の Flux インテグレーションの移植は、主にフィールド名の変更と接続パラメータの更新です。 このガイドは WebSocket の直接利用を扱います。SDK 固有の例は近日公開予定です。
Ink 2 は現時点で英語のみをサポートしています。
今後数ヶ月のうちに他言語の追加を予定しています。

接続

Deepgram の WebSocket URL と認証ヘッダーを Cartesia のものに置き換えます。
ブラウザでは、WebSocket はリクエストヘッダーをサポートしません。代わりに、API バージョンを cartesia_version クエリパラメータで渡し、API キーの代わりに短命の アクセストークンaccess_token クエリパラメータで使用してください。

クエリパラメータ

音声の送信

両 API とも、バイナリ WebSocket フレームとして生の音声を受け取ります。音声パイプラインの変更はなく、宣言した encodingsample_rate にバイトが一致することを確認するだけです。 セッションをクローズするには、JSON エンコードされた WebSocket テキストフレームを送信します:
Cartesia には Flux の Configure 制御メッセージに相当するものはありません。エンドオブターンを設定する必要がないためです。

イベントマッピング

Flux はすべてのターンイベントを単一の TurnInfo メッセージに event 判別子付きでラップします。Cartesia はイベントごとに 1 つのメッセージタイプを発行し、その型はトップレベルの type フィールドにあります。 Flux の TurnInfo メッセージ:
これは Ink 2 の turn.end イベントになります:
Deepgram Flux と同様に、transcript はターン内で累積的です。 Ink 2 には 発行されるトランスクリプトはすべて確定 (final) であるという追加の利点があります。モデルが確信を持つまで単語は発行されません。後続のイベントは、それ以前のイベントで送られたテキストを変更することなく、トランスクリプトに追加するだけです。

同等機能のないフィールド

Cartesia は以下を発行しません:
  • turn_index
  • audio_window_start
  • audio_window_end
  • words
  • end_of_turn_confidence
  • sequence_id
  • languages
  • languages_hinted
タイムスタンプ、エンドオブターン信頼度、多言語対応は近日公開予定です!

イベントハンドラー

ハンドラーの分岐構造は変わりません。変わるのはメッセージの形状だけです。