注
現在、この機能はパブリック プレビュー段階にあります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
音声とオーディオ用 Azure OpenAI GPT-4o Realtime API は、GPT-4o モデル ファミリの一部であり、低待機時間の "音声入力、音声出力" の会話をサポートします。
WebRTC または WebSocket を介して Realtime API を使用して、オーディオ入力をモデルに送信し、リアルタイムでオーディオ応答を受信できます。
この記事の手順に従って、WebSocket 経由で Realtime API の使用を開始します。 待機時間が短く要件ではないサーバー間シナリオでは、WebSocket 経由で Realtime API を使用します。
ヒント
ほとんどの場合、Web アプリケーションやモバイル アプリなどのクライアント側アプリケーションでリアルタイムオーディオ ストリーミングを行う場合は、 WebRTC 経由の Realtime API を使用することをお勧めします。 WebRTC は、待機時間が短くリアルタイムのオーディオ ストリーミング用に設計されており、ほとんどのユース ケースに最適です。
サポートされているモデル
GPT-4o リアルタイム モデルは、 米国東部 2 およびスウェーデン中部リージョンでのグローバルデプロイで使用できます。
-
gpt-4o-mini-realtime-preview
(2024-12-17) -
gpt-4o-realtime-preview
(2024-12-17)
Realtime API の URL には、API バージョンの 2025-04-01-preview
を使用する必要があります。
サポートされているモデルの詳細については、 モデルとバージョンのドキュメントを参照してください。
[前提条件]
GPT-4o リアルタイム オーディオを使用するには、次のものが必要です。
- Azure サブスクリプション - 無料で作成します。
- サポートされているリージョンで作成された Azure OpenAI リソース。 詳細については、「 Azure OpenAI を使用してリソースを作成し、モデルをデプロイする」を参照してください。
- サポートされるモデルのセクションで説明されているように、サポートされているリージョンに
gpt-4o-realtime-preview
またはgpt-4o-mini-realtime-preview
モデル をデプロイする必要があります。 モデルは、 Azure AI Foundry ポータル のモデル カタログ から、または Azure AI Foundry ポータルでプロジェクトからデプロイできます。
接続と認証
リアルタイム API ( /realtime
経由) は、エンド ユーザーとモデル間の完全な非同期ストリーミング通信を容易にするために WebSocket API 上に構築されています。
Realtime API には Azure OpenAI リソースの /realtime
エンドポイントへの WebSocket Secure 接続を介してアクセスします。
完全な要求 URI は、以下のものを連結することで作成できます。
- 安全な WebSocket (
wss://
) プロトコル。 - Azure OpenAI リソース エンドポイント ホスト名 (
my-aoai-resource.openai.azure.com
、など) -
openai/realtime
API パス。 - サポートされている API バージョンの
api-version
クエリ文字列パラメーター (2024-12-17
、など) -
deployment
またはgpt-4o-realtime-preview
モデル デプロイの名前を含むgpt-4o-mini-realtime-preview
クエリ文字列パラメーター。
次に示すのは、適切に構築された /realtime
要求 URI の例です。
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2025-04-01-preview&deployment=gpt-4o-mini-realtime-preview-deployment-name
認証する場合:
-
Microsoft Entra (推奨): マネージド ID が有効になっている Azure OpenAI リソースに対して、
/realtime
API でトークンベースの認証を使用します。Bearer
ヘッダーを含むAuthorization
トークンを使用して、取得した認証トークンを適用します。 -
API キー:
api-key
は、次の 2 つの方法のいずれかで提供できます。- ハンドシェイク前の接続上で
api-key
接続ヘッダーを使用します。 このオプションはブラウザー環境内では使用できません。 - 要求 URI 上で
api-key
クエリ文字列パラメーターを使用します。 https/wss を使用する場合、クエリ文字列パラメーターは暗号化されます。
- ハンドシェイク前の接続上で
WebSocket アーキテクチャを使用したリアルタイム API
/realtime
への WebSocket 接続セッションが確立されて認証されると、WebSocket メッセージを送受信するためのイベントを介して機能の操作が行われます。 これらのイベントは、それぞれ JSON オブジェクトの形式になります。
イベントは並列で送受信でき、アプリケーションでは通常、同時および非同期の両方でそれらを処理する必要があります。
- クライアント側の呼び出し元で
/realtime
への接続が確立され、新しいsession
が開始されます。 -
session
は既定のconversation
を自動的に作成します。 複数の同時会話はサポートされていません。 -
conversation
は呼び出し元による直接のイベントを介して、または音声アクティビティ検出 (VAD) により自動的にresponse
が開始されるまで、入力信号を蓄積します。 - 各
response
は 1 つ以上のitems
で構成されており、メッセージ、関数呼び出し、その他の情報をカプセル化できます。 - 各メッセージ
item
にはcontent_part
があり、複数のモダリティ (テキストとオーディオ) を 1 つの項目で表現できます。 -
session
は、呼び出し元の入力処理 (ユーザー オーディオなど) と一般的な出力生成処理の構成を管理します。 - 各呼び出し元が開始する
response.create
は、必要に応じて、出力response
動作の一部をオーバーライドできます。 - サーバーによって作成された
item
とメッセージ内のcontent_part
は、非同期かつ並列に設定できます。 たとえば、ラウンド ロビン方式でオーディオ、テキスト、関数の情報を同時に受信します。
クイック スタートを試す
前提条件が満たされたので、 Realtime API クイック スタート の手順に従って、WebSocket 経由で Realtime API の使用を開始できます。
関連コンテンツ
- リアルタイム オーディオのクイック スタートを試す
- リアルタイム API リファレンスを参照する
- Azure OpenAI のクォータと制限の詳細を確認する