Qwen リアルタイム音声・音声映像翻訳 API のクライアントイベントについて説明します。
リファレンス:リアルタイム音声・映像翻訳 - Qwen 。
このページは Qwen-LiveTranslate-Realtime のイベントリファレンスです。イベント定義は WebSocket アクセスを基準としています。AOQ と WebRTC は、それぞれのデータチャネルでモデルイベントを送受信し、メディアトラックでメディアを転送します。最初に WebSocket アクセス、WebRTC アクセス、または AOQ アクセスをお読みください。
session.update
WebSocket 接続を確立した後、デフォルトのセッション構成を更新するには、このイベントを送信します。サーバーはパラメーターを検証し、無効な場合はエラーを返し、有効な場合は更新後の構成を返します。
typestring(必須)イベントタイプ。必ず session.update に設定してください。sessionobject(任意)セッション構成。
プロパティ output_modalities array(任意)qwen3.8-livetranslate-flash-realtime に適用されます。出力モダリティは ["text"](テキストのみ)または ["text", "audio"](テキストと音声、デフォルト)です。audioobject(任意)qwen3.8-livetranslate-flash-realtime に適用されます。音声設定。
プロパティ input object入力音声の設定。
プロパティ format object(任意)入力音声のフォーマット。
プロパティ type string(任意)音声フォーマット。有効値は pcm(デフォルト)と opus です。sample_rateinteger(任意)入力音声のサンプルレート(Hz)。デフォルトは 16000 です。object(任意)音声検出の設定。
プロパティ type string(任意)有効値:speaker_detection(デフォルト、リアルタイムの話者分離を有効化)、server_vad(音声アクティビティ検出)。thresholdnumber(任意)speaker_detection の場合、無音と有効な発話を区別するしきい値です。しきい値を下回る音声は除外され、モデルには入力されません。値は 0.5 に固定されています。array(任意)qwen3.5-livetranslate-flash-realtime に適用されます。出力モダリティ。有効値:
string(任意)生成されるオーディオの音声。音声クローニングが無効の場合、システムプリセット音声のいずれかを指定します。有効値:サポートされている音声。デフォルト値:Qwen3.5-LiveTranslate-Flash-Realtime の場合は Tina、Qwen3-LiveTranslate-Flash-Realtime の場合は Cherry です。qwen3.8-livetranslate-flash-realtime のデフォルトの音色は Tina です。enable_voice_clone boolean(任意)音声クローニングを有効にするかどうかです。デフォルトは false です。有効にすると、翻訳時に入力音声の声をリアルタイムでクローンするか、事前にクローンした音声を使用できます。この場合、voice はシステムのプリセット音声を使用しません。default、または音声クローニング APIで事前にクローンした音声の ID を設定してください。voice_clone_optionsobject(任意)音声クローニングの制御オプション。enable_voice_clone が true の場合にのみ有効になります。
プロパティ voice_clone_options.frequency string(任意)音声クローニングの頻度。有効値:
integer(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声のサンプルレート(Hz 単位)。有効値:
object(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声の構成。
プロパティ model string(任意)音声認識モデル。設定すると、サーバーは認識結果(元のソース言語テキスト)と翻訳の両方を conversation.item.input_audio_transcription.text イベントおよび conversation.item.input_audio_transcription.completed イベントで返します。有効値:qwen3-asr-flash-realtime。languagestring(任意)翻訳のソース言語。有効値:サポートされている言語。指定しない場合、モデルが自動的にソース言語を検出します。string(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声フォーマット。有効値:
string(任意)qwen3.5-livetranslate-flash-realtime に適用されます。出力音声フォーマット。現在、このパラメーターは pcm のみに設定できます。turn_detectionobject(任意)qwen3.5-livetranslate-flash-realtime に適用されます。音声アクティビティ検出(VAD)の構成。音声の開始および終了の検出方法を制御するために使用されます。
プロパティ type string(任意)VAD タイプ。必ず server_vad に設定してください。thresholdfloat(任意)VAD 検出の感度。値が低いほど、微弱な音(バックグラウンドノイズを含む)も音声として認識されやすくなります。値が高いほど、より明瞭で大きな音声が必要になります。値の範囲:[-1.0, 1.0]。デフォルト値:0.2。silence_duration_msinteger(任意)音声終了後に必要な最小サイレンス持続時間(ミリ秒単位)。この持続時間が超過すると、サーバーは音声が終了したと判断し、自動的にオーディオバッファーをコミットして翻訳応答をトリガーします。値の範囲:[200, 6000]。デフォルト値:1000。object(任意)翻訳構成。
プロパティ language string(任意)翻訳のターゲット言語。有効値:サポートされている言語。デフォルト値:en。same_language_skip_optionsobject(任意)qwen3.8-livetranslate-flash-realtime はこのパラメーターに対応していません。同一言語出力構成。ソース言語とターゲット言語が同じ場合、サービスはテキスト出力、オーディオ出力、またはその両方をスキップできます。このパラメーターは、translation.language が zh または en に設定されている場合にのみ有効になります。
プロパティ skip_text boolean(任意)ソース言語とターゲット言語が同じ場合にテキスト出力をスキップするかどうかを指定します。skip_audioboolean(任意)ソース言語とターゲット言語が同じ場合にオーディオ出力をスキップするかどうかを指定します。object(任意)特定の用語の翻訳精度を向上させるためのホットワード構成。
プロパティ phrases object(任意)ホットワードマッピング。キーはソース言語の用語、値はそのターゲット言語への翻訳です。例:{"AI": "Artificial Intelligence"} |
|
input_audio_buffer.append
WebSocket アクセス時に、入力音声バッファーへ音声バイトを追加します。サーバーはこのバッファーを使用して発話を検出し、コミットのタイミングを判断します。
typestring(必須)イベントタイプ。必ず input_audio_buffer.append に設定してください。audiostring(必須)Base64 エンコードされたオーディオデータ。 |
input_audio_buffer.commit
入力オーディオバッファーをコミットします。このイベントはマニュアルモード(turn_detection が null に設定されている場合)でのみ送信する必要があります。VAD モードではサーバーが自動的にコミットするため、クライアントはこのイベントを送信しません。
このイベントを受信すると、サーバーは確認として input_audio_buffer.committed イベントを返し、自動的に翻訳応答の生成を開始します(応答をトリガーするために追加のイベントは不要です)。オーディオバッファーが空の場合、サーバーはエラーイベントを返します。
typestring(必須)イベントタイプ。必ず input_audio_buffer.commit に設定してください。 |
input_audio_buffer.clear
コミットされていないオーディオデータを入力オーディオバッファーからクリアします。
typestring(必須)イベントタイプ。必ず input_audio_buffer.clear に設定してください。 |
input_image_buffer.append
WebSocket アクセス時に、画像バッファーへ画像データを追加します。画像はローカルファイルから取得するか、動画ストリームからリアルタイムでキャプチャできます。
画像入力の制限事項:
- 画像フォーマット:JPG または JPEG。最適なパフォーマンスを得るための推奨解像度:480p または 720p(最大:1080p)。
- 最大画像サイズ:Base64 エンコーディング前の 500 KB。
- 画像データは Base64 エンコードされている必要があります。
- 最大送信頻度:1 秒あたり 2 枚。
- input_image_buffer.append を送信する前に、少なくとも 1 回は input_audio_buffer.append イベントを送信する必要があります。
typestring(必須)イベントタイプ。必ず input_image_buffer.append に設定してください。imagestring(必須)Base64 エンコードされた画像データ。 |
session.finish
現在のセッションを終了するには、このイベントを送信します。サーバーの応答:
- 発話が検出された場合:サーバーは残りの翻訳を完了します。入力音声の文字起こしが有効な場合は、conversation.item.input_audio_transcription.completed で原言語の全文を返します。すべての音声翻訳が完了すると、session.finished を送信してセッションの終了を示します。
- 発話が検出されなかった場合:サーバーは直接 session.finished を送信します。
session.finished イベントを受信した後、残りの翻訳音声を再生する場合は、ローカルでの再生を完了してからクライアント側で接続を切断してください。
typestring(必須)イベントタイプ。必ず session.finish に設定してください。 |