EmpirioLabsには2つの新しいアリババのボイスモデルが稼働しており、どちらもリクエストではなく会話形式です。WebSocketを開き、マイクの音声をストリーミングすると、スピーカーが話している間に音声が戻ってきます。
Qwen3.8 オムニフラッシュ・リアルタイム また、見ることもできるのです。すでに送信している音声に加えて、ライブ映像のフレームをプッシュでき、同じターンで画面上の内容に関する質問に答えてくれます。56の音声を運び、会話の途中であなたの機能を呼び出します。
Qwen Audio 3.1 Realtime Plus は検索ができるものです。セッションごとにオンできるネイティブのウェブ検索機能、27音声、そして256Kのコンテキストがあります。
playgroundのどちらかを試してみてください: オムニフラッシュ・リアルタイム または オーディオ3.1 リアルタイムプラス.セッション開始をクリックして話してください。
接続
プラットフォーム上のすべてのモデルにはリアルタイムエンドポイントが1つあり、クエリパラメータでモデルを選択します。他の場所で使っているのと同じAPIキーでハンドシェイクを認証します:
wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime Authorization: Bearer YOUR_EMPIRIOLABS_API_KEY
プロトコルは広く使われているリアルタイムイベント形状に従っているため、その慣例に従って書かれたクライアントは変更されずに動作します。ソケット上でセッションを設定します session.update、マイクの音声を付け加えて input_audio_buffer.append、そして音声を読み返す response.audio.delta マッチングトランスクリプトをオンにして response.audio_transcript.デルタお問い合わせ.
{"type": "session.update", "session": { "voice": "Tina", "modalities": ["text", "audio"] }}
音声は16ビットPCMとして双方向に伝わります。これら2つのモデルは上流時に16 kHzを受け取り、戻ってくると24 kHzを返します。その session.created Connectで届くイベントはそのセッションのフォーマットを報告しているので、勝手に読んでおきましょう。
Omni Flash Realtimeのビデオフレーム
フレームはオーディオバッファの隣にある専用のバッファに格納されます:
{"type": "input_image_buffer.append", "image": "<base64 JPEG または PNG>"}
カメラのフレームのように送り、同じ音声ターンで何を見せるか尋ねてみてください。最大50ターンと240秒の映像履歴、最大100ターンと600秒の音声を保持できます。古い履歴はその制限を超えると文脈から外れてしまいます。
Audio 3.1のウェブ検索
検索は、セッション中にリクエストしない限りオフになります:
{"type": "session.update", "session": {"enable_search": true}}
オンにすると、モデルは訓練後に起こったことについての質問に答えることができます。結果は会話に追加されるため、検索するターンは、そうでないターンよりも明らかに多くの入力トークン数を報告します。
料金について
両モデルとも、モデルが報告した使用量に応じて完了したターンごとに請求し、音声トークンとテキストトークンは両方向に別々の料金が設定されています。この分割が重要です。音声返信は主に音声トークンで、テキストのみの返信を求める場合はdrop(ドロップ)で オーディオ 出典 モダリティ 本当に費用が安いです。現在の料金は オムニフラッシュ・リアルタイム および オーディオ3.1 リアルタイムプラス モデルページや プライシングページこれらは請求される金額と同期しています。どちらのモデルにもキャッシュされた入力層がないため、すべての入力トークンは通常の料金で請求されます。
初回セッション前に知っておくべきこと
- セッションが報告する音声を返さないでください。 両方のモデルはconnectで音声を発表しますが、自社の発電機が拒否すると最初のターンが終了します。音声を設定せずにプラットフォームがそのモデルの動作デフォルトを設定するか、音声リストから自分で選んでください。2つのリストは名前を共有していないため、一方で動作する音声はもう一方で動作しません。
- 音声アクティビティ検出は、発動するには静寂の瞬間が必要です。 これらのモデルは、あなたが話すのをやめる音を聞いて話を止めたと判断します。話者が最後の言葉を言い終えた瞬間にクライアントが音声ストリームを切断すると、何もコミットされず、返答も来ず、まさにセッションが途切れているように見えます。話が終わった後も約1秒間ストリーミングを続けてください。
- ビデオフレームはメッセージ内容ではありません。 彼らは通り抜けます
input_image_buffer.append.画像をconversation.item.createコンテンツ配列は拒否され、一部のモデルではユーザーメッセージが全く表示されずにターンを終えることもあります。 - Audio 3.1では、ウェブ検索と関数呼び出しは排他的です。 セッションごとに1つを有効にし、両方は有効にしないでください。
- 新しいソケットは新しい会話です。 接続間でサーバー側のメモリは存在しないため、再接続するクライアントはモデルに残したいコンテキストを再生すべきです。
イベントテーブル、ボイスリスト、音声フォーマットは リアルタイム音声API ドキュメント。両方のモデルは現在入手可能です。



