次の方法で共有


Realtime API (プレビュー) リファレンス

Note

現在、この機能はパブリック プレビュー段階にあります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

Realtime API は、Azure OpenAI Service とのリアルタイムでの対話を可能にする WebSocket ベースの API です。

(/realtime を経由する) Realtime API は、WebSockets API をベースにして、エンド ユーザーとモデルの間の完全な非同期ストリーミング通信を実現しています。 オーディオ データのキャプチャやレンダリングなどのデバイスの詳細は、Realtime API の対応範囲外です。 これは、エンド ユーザーへの接続およびモデル エンドポイント接続の両方を管理する、信頼された中間サービスのコンテキスト内で使用する必要があります。 これを信頼されていないエンド ユーザー デバイスから直接使用することは避けてください。

ヒント

Realtime API の使用を開始するには、クイックスタート攻略ガイドを参照してください。

つながり

Realtime API には、サポートされているリージョン内の既存の Azure OpenAI リソース エンドポイントが必要です。 この API へのアクセスは、Azure OpenAI リソースの /realtime エンドポイントへのセキュアな WebSocket 接続を介して行われます。

完全な要求 URI は、以下のものを連結することで作成できます。

  • WebSocket Secure (wss://) プロトコル
  • Azure OpenAI リソース エンドポイント ホスト名 (my-aoai-resource.openai.azure.com、など)
  • openai/realtime API パス
  • サポートされている API バージョンの api-version クエリ文字列パラメーター (2024-10-01-preview、など)
  • gpt-4o-realtime-preview モデル デプロイの名前を含む deployment クエリ文字列パラメーター

次に示すのは、適切に構築された /realtime 要求 URI の例です。

wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview-1001

認証

認証する場合:

  • Microsoft Entra (推奨): マネージド ID が有効な Azure OpenAI Service リソースの /realtime API で、トークンベースの認証を使用します。 Authorization ヘッダーを含む Bearer トークンを使用して、取得した認証トークンを適用します。
  • API キー: api-key は、次の 2 つの方法のいずれかで提供できます。
    • ハンドシェイク前の接続上で api-key 接続ヘッダーを使用します。 このオプションはブラウザー環境内では使用できません。
    • 要求 URI 上で api-key クエリ文字列パラメーターを使用します。 https/wss を使用する場合、クエリ文字列パラメーターは暗号化されます。

クライアント イベント

クライアントからサーバーに送信できるクライアント イベントには以下の 9 つが存在します。

イベント 説明
RealtimeClientEventConversationItemCreate このクライアント イベントは、会話にアイテムを追加するときに送信します。
RealtimeClientEventConversationItemDelete このクライアント イベントは、会話履歴からいずれかのアイテムを削除したい場合に送信します。
RealtimeClientEventConversationItemTruncate このクライアント イベントは、過去のアシスタント メッセージのオーディオを切り捨てたい場合に送信します。
RealtimeClientEventInputAudioBufferAppend このクライアント イベントは、入力オーディオ バッファーにオーディオ バイトを追加するために送信します。
RealtimeClientEventInputAudioBufferClear このクライアント イベントは、バッファー内のオーディオ バイトをクリアするために送信します。
RealtimeClientEventInputAudioBufferCommit このクライアント イベントは、オーディオ バイトをユーザー メッセージにコミットするために送信します。
RealtimeClientEventResponseCancel このクライアント イベントは、途中の応答をキャンセルするために送信します。
RealtimeClientEventResponseCreate このクライアント イベントは、応答の生成をトリガーするために送信します。
RealtimeClientEventSessionUpdate このクライアント イベントは、セッションの既定の構成を更新するために送信します。

RealtimeClientEventConversationItemCreate

このクライアント conversation.item.create イベントは、メッセージ、関数呼び出し、関数呼び出し応答など、会話のコンテキストに新しい項目を追加するために使用されます。 このイベントを使用すると、会話の履歴を設定したり、途中で新しいアイテムを追加したりすることができます。 現時点で、このイベントではアシスタント オーディオ メッセージを設定することはできません。

成功した場合、サーバーは conversation.item.created イベントで応答し、それ以外の場合は error イベントが送信されます。

イベント構造

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.create にする必要があります。
previous_item_id string 新しいアイテムが挿入される位置の前のアイテムの ID。 設定されていない場合、新しいアイテムは会話の末尾に追加されます。 設定されている場合、会話の途中にアイテムを挿入することができます。 ID が見つからない場合は、エラーが返され、アイテムは追加されません。
item RealtimeConversationRequestItem 会話に追加するアイテム。

RealtimeClientEventConversationItemDelete

このクライアント conversation.item.delete イベントは、会話履歴から項目を削除するために使用されます。

会話履歴内に該当アイテムが存在しない場合を除いて、サーバーは conversation.item.deleted イベントで応答します。存在しない場合、サーバーはエラーで応答します。

イベント構造

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.delete にする必要があります。
item_id string 削除するアイテムの ID。

RealtimeClientEventConversationItemTruncate

このクライアント conversation.item.truncate イベントは、前のアシスタント メッセージのオーディオを切り捨てるのに使用されます。 サーバーはリアルタイムよりも速くオーディオを生成するため、このイベントは、ユーザーが中断を行って、クライアントに送信済みで未再生のオーディオを切り捨てる際に役に立ちます。 クライアントの再生によるサーバーのオーディオ理解は同期されます。

オーディオを切り捨てると、ユーザーが知らないテキストがコンテキスト内に存在することがないようにするために、サーバー側のテキスト トランスクリプトは削除されます。

このクライアント イベントが成功した場合、サーバーは conversation.item.truncated イベントで応答します。

イベント構造

{
  "type": "conversation.item.truncate",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.truncate にする必要があります。
item_id string 切り捨てるアシスタント メッセージアイテムの ID。 切り捨てることができるのは、アシスタント メッセージ アイテムだけです。
content_index integer 切り捨てるコンテンツ パーツのインデックス。 このプロパティは "0" に設定します。
audio_end_ms integer オーディオが切り捨てられる時点までの時間 (ミリ秒単位) audio_end_ms が実際のオーディオの時間よりも大きい場合、サーバーはエラーで応答します。

RealtimeClientEventInputAudioBufferAppend

クライアント input_audio_buffer.append イベントは、入力オーディオ バッファーにオーディオ バイトを追加するために使用されます。 このオーディオ バッファーは、書き込みを行い、後にコミットすることができる一時ストレージです。

サーバー VAD (音声アクティビティ検出) モードでは、この音声バッファーは、音声を検出するために使用され、サーバーがコミットを行うタイミングを判断します。 サーバー VAD が無効になっている場合、クライアントは最大 15 MiB までの各イベントに配置するオーディオの量を選択できます。 たとえば、クライアントから小さいチャンクをストリーミングすると、VAD の応答性が向上する可能性があります。

他のクライアント イベントとは異なり、サーバーはクライアント input_audio_buffer.append イベントに対しては確認応答を送信しません。

イベント構造

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.append にする必要があります。
audio string Base64 エンコードされたオーディオ バイト。 この値は、セッション構成の input_audio_format フィールドで指定された形式にする必要があります。

RealtimeClientEventInputAudioBufferClear

このクライアント input_audio_buffer.clear イベントは、バッファー内のオーディオ バイトをクリアするために使用されます。

サーバーは input_audio_buffer.cleared イベントで応答します。

イベント構造

{
  "type": "input_audio_buffer.clear"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.clear にする必要があります。

RealtimeClientEventInputAudioBufferCommit

このクライアント input_audio_buffer.commit イベントは、ユーザー入力オーディオ バッファーをコミットするために使用されます。これにより、会話内に新しいユーザー メッセージ アイテムが作成されます。 input_audio_transcription がセッション用に構成されている場合、オーディオは文字起こしされます。

サーバー VAD モードの場合、クライアントはこのイベントを送信する必要はありません。サーバーはオーディオ バッファーを自動的にコミットします。 サーバー VAD がない場合、クライアントはオーディオ バッファーをコミットしてユーザー メッセージ アイテムを作成する必要があります。 入力オーディオ バッファーが空の場合は、このクライアント イベントによってエラーが生成されます。

入力オーディオ バッファーをコミットしても、モデルからの応答は作成されません。

サーバーは input_audio_buffer.committed イベントで応答します。

イベント構造

{
  "type": "input_audio_buffer.commit"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.commit にする必要があります。

RealtimeClientEventResponseCancel

クライアント response.cancel イベントは、進行中の応答を取り消すために使用されます。

サーバーは、response.cancelled イベントで応答し、キャンセルする応答がない場合はエラーで応答します。

イベント構造

{
  "type": "response.cancel"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.cancel にする必要があります。

RealtimeClientEventResponseCreate

クライアント response.create イベントは、モデル推論を使用して応答を作成するようにサーバーに指示するために使用されます。 セッションがサーバー VAD モードで構成されている場合、サーバーは応答を自動的に作成します。

応答は少なくとも 1 つの item を含み、2 つのアイテムを含むこともできます。この場合、2 つ目は関数呼び出しです。 これらのアイテムは、会話履歴に追加されます。

サーバーは、response.created イベント、1 つ以上の項目イベントとコンテンツ イベント (conversation.item.createdresponse.content_part.added など)、最後に応答が完了したことを示す response.done イベントで応答します。

Note

このクライアント response.create イベントは、instructionstemperature などの推論構成を含みます。 これらのフィールドがオーバーライドには、この応答に関するセッションの構成だけです。

イベント構造

{
  "type": "response.create"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.create にする必要があります。
応答 RealtimeResponseOptions 応答オプション。

RealtimeClientEventSessionUpdate

このクライアント session.update イベントは、セッションの既定の構成を更新するために送信します。 クライアントは、セッション構成を更新するためにこのイベントをいつでも送信でき、音声に関するもの以外のすべてのフィールドは任意のタイミングで更新できます。

存在するフィールドのみが更新されます。 フィールド (instructions など) をクリアするには、空の文字列を渡します。

サーバーは、構成が完全に有効になったことを示す session.updated イベントで応答します。

イベント構造

{
  "type": "session.update"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は session.update にする必要があります。
セッション RealtimeRequestSession セッション構成。

サーバー イベント

サーバーから受信される可能性があるのは、以下に示す 28 個のサーバー イベントです。

イベント 説明
RealtimeServerEventConversationCreated 会話が作成されたときのサーバー イベント。 セッションの作成直後に出力されます。
RealtimeServerEventConversationItemCreated 会話アイテムが作成されたときのサーバー イベント。
RealtimeServerEventConversationItemDeleted 会話内のアイテムが削除されたときのサーバー イベント。
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted 入力オーディオの文字起こしが有効で、文字起こしが成功したときのサーバー イベント。
RealtimeServerEventConversationItemInputAudioTranscriptionFailed 入力オーディオの文字起こしが構成されていて、ユーザー メッセージの文字起こし要求が失敗したときのサーバー イベント。
RealtimeServerEventConversationItemTruncated クライアントが先行するアシスタント オーディオ メッセージ アイテムを切り捨てたときのサーバー イベント。
RealtimeServerEventError エラーが発生したときのサーバー イベント。
RealtimeServerEventInputAudioBufferCleared クライアントが入力オーディオ バッファーをクリアしたときのサーバー イベント。
RealtimeServerEventInputAudioBufferCommitted 入力オーディオ バッファーが、クライアントによって、またはサーバー VAD モード内で自動的にコミットされたときのサーバー イベント。
RealtimeServerEventInputAudioBufferSpeechStarted サーバー ターン検出モードで音声が検出されたときのサーバー イベント。
RealtimeServerEventInputAudioBufferSpeechStopped サーバー ターン検出モードで音声が停止したときのサーバー イベント。
RealtimeServerEventRateLimitsUpdated レート制限が更新されたことを示すために、すべての "response.done" イベントの後に出力されます。
RealtimeServerEventResponseAudioDelta モデルによって生成されたオーディオが更新されたときのサーバー イベント。
RealtimeServerEventResponseAudioDone モデルによって生成されたオーディオが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventResponseAudioTranscriptDelta モデルによって生成されたオーディオ出力の文字起こしが更新されたときのサーバー イベント。
RealtimeServerEventResponseAudioTranscriptDone モデルによって生成されたオーディオ出力の文字起こしのストリーミングが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventResponseContentPartAdded 応答の生成中に新しいコンテンツ パーツがアシスタント メッセージ アイテムに追加されたときのサーバー イベント。
RealtimeServerEventResponseContentPartDone アシスタント メッセージ アイテムでコンテンツ パーツのストリーミングが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventResponseCreated 新しい応答が作成されたときのサーバー イベント。 応答の作成の最初のイベントであり、応答は初期状態である "in_progress" になっています。
RealtimeServerEventResponseDone 応答のストリーミングが完了したときのサーバー イベント。 最終的な状態に関係なく、常に出力されます。
RealtimeServerEventResponseFunctionCallArgumentsDelta モデルによって生成された関数呼び出し引数が更新されたときのサーバー イベント。
RealtimeServerEventResponseFunctionCallArgumentsDone モデルによって生成された関数呼び出し引数のストリーミングが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventResponseOutputItemAdded 新しい出力アイテムが応答に追加されたときのサーバー イベント。
RealtimeServerEventResponseOutputItemDone 出力アイテムのストリーミングが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventResponseTextDelta モデルによって生成されたテキストが更新されたときのサーバー イベント。
RealtimeServerEventResponseTextDone モデルによって生成されたテキストが完了したときのサーバー イベント。 応答が中断された、不完全である、キャンセルされたときにも出力されます。
RealtimeServerEventSessionCreated セッションが作成されたときのサーバー イベント。
RealtimeServerEventSessionUpdated セッションが更新されたときのサーバー イベント。

RealtimeServerEventConversationCreated

このサーバー conversation.created イベントは、セッションの作成直後に返されます。 セッションごとに 1 つの会話が作成されます。

イベント構造

{
  "type": "conversation.created",
  "conversation": {
    "id": "<id>",
    "object": "<object>"
  }
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.created にする必要があります。
conversation オブジェクト 会話リソース。

会話プロパティ

フィールド タイプ 説明
id string 会話の一意の ID。
オブジェクト string オブジェクトの種類は realtime.conversation である必要があります。

RealtimeServerEventConversationItemCreated

このサーバー conversation.item.created イベントは、会話アイテムの作成時に返されます。 このイベントが生成されるシナリオは、以下のようにいくつか存在します。

  • サーバーが応答を生成中であり、それが成功した場合に、種類が message (ロール assistant) または function_call であるアイテムが 1 つ、または 2 つ生成されます。
  • 入力オーディオ バッファーが、クライアントまたはサーバー (server_vad モード中) によってコミットされます。 サーバーは入力オーディオ バッファーのコンテンツを受け取り、それを新しいユーザー メッセージ アイテムに追加します。
  • クライアントが会話に新しいアイテムを追加するために conversation.item.create イベントを送信しました。

イベント構造

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.created にする必要があります。
previous_item_id string 会話コンテキスト内の先行するアイテムの ID であり、クライアントが会話の順序を理解することを可能にします。
item RealtimeConversationResponseItem 作成されたアイテム。

RealtimeServerEventConversationItemDeleted

このサーバー conversation.item.deleted イベントは、クライアントが conversation.item.delete イベントで会話内のアイテムを削除したときに返されます。 このイベントは、サーバーによる会話履歴の理解をクライアントのビューと同期するために使用されます。

イベント構造

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.deleted にする必要があります。
item_id string 削除されたアイテムの ID。

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

サーバー conversation.item.input_audio_transcription.completed イベントは、オーディオ バッファーに書き込まれた音声の音声文字起こしの結果です。

文字起こしは、入力オーディオ バッファーがクライアントまたはサーバー (server_vad モード中) によってコミットされたときに開始されます。 文字起こしは応答の作成と非同期的に実行されるため、このイベントは応答イベントの前後のどちらでも発生する可能性があります。

Realtime API モデルはオーディオをネイティブに受け入れるため、入力文字起こしは、別の音声認識モデル (現状では常に whisper-1) で実行される個別のプロセスです。 したがって、トランスクリプトはモデルの解釈とは多少異なったものになる可能性があり、大まかなガイドとして扱う必要があります。

イベント構造

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.input_audio_transcription.completed にする必要があります。
item_id string オーディオを含むユーザー メッセージ アイテムの ID。
content_index integer オーディオを含むコンテンツ パーツのインデックス。
transcript string 文字起こしされたテキスト。

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

このサーバー conversation.item.input_audio_transcription.failed イベントは、入力オーディオの文字起こしが構成されていて、ユーザー メッセージの文字起こし要求が失敗したときに返されます。 このイベントは、クライアントが関連アイテムを識別できるように、他の error イベントとは分けられています。

イベント構造

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.input_audio_transcription.failed にする必要があります。
item_id string ユーザー メッセージ アイテムの ID。
content_index integer オーディオを含むコンテンツ パーツのインデックス。
エラー オブジェクト 文字起こしエラーの詳細。

入れ子になったプロパティについては、次の表を参照してください。

エラーのプロパティ

フィールド タイプ 説明
type string エラーのタイプ。
code string エラー コード (存在する場合)。
message string 人間が判読できるエラー メッセージ。
param string エラーに関連するパラメーター (存在する場合)。

RealtimeServerEventConversationItemTruncated

このサーバー conversation.item.truncated イベントは、クライアントが先行するアシスタント オーディオ メッセージ アイテムを conversation.item.truncate イベントで切り捨てたときに返されます。 このイベントは、サーバーによるオーディオの理解をクライアントの再生と同期するために使用されます。

このイベントでは、オーディオが切り捨てられ、サーバー側のテキスト トランスクリプトが削除され、ユーザーが知らないコンテキストにテキストが存在しないようにします。

イベント構造

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は conversation.item.truncated にする必要があります。
item_id string 切り捨てられたアシスタント メッセージ アイテムの ID。
content_index integer 切り捨てられたコンテンツ パーツのインデックス。
audio_end_ms integer オーディオが切り捨てられた時点までの時間 (ミリ秒単位)。

RealtimeServerEventError

このサーバー error イベントは、クライアントの問題またはサーバーの問題のいずれかであるエラーが発生したときに返されます。 ほとんどのエラーは回復可能であり、セッションは開いたままとなります。

イベント構造

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は error にする必要があります。
エラー オブジェクト エラーの詳細。

入れ子になったプロパティについては、次の表を参照してください。

エラーのプロパティ

フィールド タイプ 説明
type string エラーのタイプ。 たとえば、"invalid_request_error" と "server_error" はエラーの種類です。
code string エラー コード (存在する場合)。
message string 人間が判読できるエラー メッセージ。
param string エラーに関連するパラメーター (存在する場合)。
event_id string エラーの原因となったクライアント イベントの ID (該当する場合)。

RealtimeServerEventInputAudioBufferCleared

このサーバー input_audio_buffer.cleared イベントは、クライアントが input_audio_buffer.clear イベントで入力オーディオ バッファーをクリアしたときに返されます。

イベント構造

{
  "type": "input_audio_buffer.cleared"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.cleared にする必要があります。

RealtimeServerEventInputAudioBufferCommitted

このサーバー input_audio_buffer.committed イベントは、入力オーディオ バッファーが、クライアントによって、あるいはサーバー VAD モードで自動的にコミットされたときに返されます。 item_id プロパティは、作成されたユーザー メッセージ アイテムの ID です。 したがって、conversation.item.created イベントもクライアントに送信されます。

イベント構造

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.committed にする必要があります。
previous_item_id string 新しいアイテムが挿入される位置の前のアイテムの ID。
item_id string 作成されたユーザー メッセージ アイテムの ID。

RealtimeServerEventInputAudioBufferSpeechStarted

このサーバー input_audio_buffer.speech_started イベントは、音声が自動バッファーで検出された場合に server_vad モードで返されます。 このイベントは、オーディオがバッファーに追加された際にいつでも発生する可能性があります (音声が既に検出されている場合を除く)。

Note

クライアントでは、このイベントを使用してオーディオの再生を中断したり、視覚的なフィードバックをユーザーに提供したりする必要がある場合もあります。

クライアントでは、音声が停止したときに input_audio_buffer.speech_stopped イベントを受け取ることを想定する必要があります。 item_id プロパティは、音声が停止したときに作成されたユーザー メッセージ アイテムの ID です。 item_id は、クライアントが VAD アクティブ化中にオーディオ バッファーを手動でコミットしない限り、input_audio_buffer.speech_stopped イベントにも含まれます。

イベント構造

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.speech_started にする必要があります。
audio_start_ms integer セッション中にバッファーに書き込まれたすべてのオーディオの開始時点から音声が最初に検出された時点までの時間 (ミリ秒)。 このプロパティは、モデルに送信されるオーディオの先頭に対応するため、セッション内で構成された prefix_padding_ms を含みます。
item_id string 音声が停止したときに作成されたユーザー メッセージ アイテムの ID。

RealtimeServerEventInputAudioBufferSpeechStopped

このサーバー input_audio_buffer.speech_stopped イベントは、サーバーがオーディオ バッファー内の音声の終了を検出した場合に server_vad モードで返されます。

また、サーバーは、オーディオ バッファーから作成されたユーザー メッセージ アイテムと共に conversation.item.created イベントを送信します。

イベント構造

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は input_audio_buffer.speech_stopped にする必要があります。
audio_end_ms integer セッションの開始から音声が停止したときまでの時間 (ミリ秒)。 このプロパティは、モデルに送信されるオーディオの末尾に対応するため、セッション内で構成された min_silence_duration_ms を含みます。
item_id string 作成されたユーザー メッセージ アイテムの ID。

RealtimeServerEventRateLimitsUpdated

このサーバー rate_limits.updated イベントは、更新されたレート制限を示すために応答の開始時に出力されます。

応答が作成されると、一部のトークンは出力トークン用に予約されます。 ここで示すレート制限には、その予約が反映され、応答が完了するとそれに応じて調整されます。

イベント構造

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は rate_limits.updated にする必要があります。
rate_limits RealtimeServerEventRateLimitsUpdatedRateLimitsItem の配列 レート制限情報のリスト。

RealtimeServerEventResponseAudioDelta

このサーバー response.audio.delta イベントは、モデルによって生成されたオーディオが更新されたときに返されます。

イベント構造

{
  "type": "response.audio.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.audio.delta にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
delta string Base64 エンコードされたオーディオ データ デルタ。

RealtimeServerEventResponseAudioDone

このサーバー response.audio.done イベントは、モデルがオーディを生成した際に返されます。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.audio.done にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。

RealtimeServerEventResponseAudioTranscriptDelta

このサーバー response.audio_transcript.delta イベントは、モデルによって生成されたオーディオ出力の文字起こしが更新されたときに返されます。

イベント構造

{
  "type": "response.audio_transcript.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.audio_transcript.delta にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
delta string トランスクリプト デルタ。

RealtimeServerEventResponseAudioTranscriptDone

このサーバー response.audio_transcript.done イベントは、モデルによって生成されたオーディオ出力の文字起こしのストリーミングが完了したときに返されます。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.audio_transcript.done にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
transcript string オーディオの最終的なトランスクリプト。

RealtimeServerEventResponseContentPartAdded

このサーバー response.content_part.added イベントは、応答の生成中に新しいコンテンツ パーツがアシスタント メッセージ アイテムに追加されたときに返されます。

イベント構造

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.content_part.added にする必要があります。
response_id string 応答の ID。
item_id string コンテンツ パーツが追加されたアイテムの ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
part RealtimeContentPart 追加されたコンテンツ パーツ。

パーツ プロパティ

フィールド タイプ 説明
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

このサーバー response.content_part.done イベントは、アシスタント メッセージ アイテムでコンテンツ パーツのストリーミングが完了したときに返されます。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.content_part.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.content_part.done にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
part RealtimeContentPart 完了しているコンテンツ パーツ。

パーツ プロパティ

フィールド タイプ 説明
type RealtimeContentPartType

RealtimeServerEventResponseCreated

このサーバー response.created イベントは、新しい応答が作成されたときに返されます。 これは応答の作成の最初のイベントであり、応答は初期状態である in_progress になっています。

イベント構造

{
  "type": "response.created"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.created にする必要があります。
応答 RealtimeResponse 応答オブジェクト。

RealtimeServerEventResponseDone

このサーバー response.done イベントは、応答のストリーミングが完了すると返されます。 このイベントは、最終的な状態に関係なく、常に生成されます。 response.done イベントに含まれる応答オブジェクトは、応答内のすべての出力アイテムを含んでいますが、生のオーディオ データは含んでいません。

イベント構造

{
  "type": "response.done"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.done にする必要があります。
応答 RealtimeResponse 応答オブジェクト。

RealtimeServerEventResponseFunctionCallArgumentsDelta

このサーバー response.function_call_arguments.delta イベントは、モデルによって生成された関数呼び出し引数が更新されたときに返されます。

イベント構造

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.function_call_arguments.delta にする必要があります。
response_id string 応答の ID。
item_id string 関数呼び出しアイテムの ID。
output_index integer 応答内の出力アイテムのインデックス。
call_id string 関数呼び出しの ID。
delta string JSON 文字列としての引数デルタ。

RealtimeServerEventResponseFunctionCallArgumentsDone

このサーバー response.function_call_arguments.done イベントは、モデルによって生成された関数呼び出し引数のストリーミングが完了したときに返されます。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.function_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "arguments": "<arguments>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.function_call_arguments.done にする必要があります。
response_id string 応答の ID。
item_id string 関数呼び出しアイテムの ID。
output_index integer 応答内の出力アイテムのインデックス。
call_id string 関数呼び出しの ID。
引数 string JSON 文字列としての最後の引数。

RealtimeServerEventResponseOutputItemAdded

このサーバー response.output_item.added イベントは、応答の生成中に新しいアイテムが作成されたときに返されます。

イベント構造

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.output_item.added にする必要があります。
response_id string アイテムが属する応答の ID。
output_index integer 応答内の出力アイテムのインデックス。
item RealtimeConversationResponseItem 追加されたアイテム。

RealtimeServerEventResponseOutputItemDone

このサーバー response.output_item.done イベントは、アイテムのストリーミングが完了すると返されます。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.output_item.done にする必要があります。
response_id string アイテムが属する応答の ID。
output_index integer 応答内の出力アイテムのインデックス。
item RealtimeConversationResponseItem ストリーミングが行われる項目。

RealtimeServerEventResponseTextDelta

このサーバー response.text.delta イベントは、モデル生成テキストが更新されると返されます。 テキストは、アシスタント メッセージアイテムの text コンテンツ部分に対応します。

イベント構造

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.text.delta にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
delta string テキスト デルタ。

RealtimeServerEventResponseTextDone

このサーバー response.text.done イベントは、モデル生成テキストのストリーミングが完了すると返されます。 テキストは、アシスタント メッセージアイテムの text コンテンツ部分に対応します。

このイベントは、応答が中断、不完全、または取り消されたときにも返されます。

イベント構造

{
  "type": "response.text.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "text": "<text>"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は response.text.done にする必要があります。
response_id string 応答の ID。
item_id string 項目の ID。
output_index integer 応答内の出力アイテムのインデックス。
content_index integer アイテムのコンテンツ配列内のコンテンツ パーツのインデックス。
text string 最終的なテキスト コンテンツ。

RealtimeServerEventSessionCreated

サーバー session.created イベントは、Realtime API への新しい接続を確立したときの最初のサーバー イベントです。 このイベントは、既定のセッション構成で新しいセッションを作成して返します。

イベント構造

{
  "type": "session.created"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は session.created にする必要があります。
セッション RealtimeResponseSession セッション オブジェクト。

RealtimeServerEventSessionUpdated

このサーバー session.updated イベントは、クライアントによってセッションが更新されたときに返されます。 エラーが発生した場合、サーバーは代わりに error イベントを送信します。

イベント構造

{
  "type": "session.updated"
}

プロパティ

フィールド タイプ 説明
type string イベントの種類は session.updated にする必要があります。
セッション RealtimeResponseSession セッション オブジェクト。

コンポーネント

RealtimeAudioFormat

使用可能な値:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

使用可能な値:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

フィールド タイプ 説明
モデル RealtimeAudioInputTranscriptionModel 現在、既定の whisper-1 モデルは、オーディオ入力文字起こしでサポートされている唯一のモデルです。

RealtimeClientEvent

フィールド タイプ 説明
type RealtimeClientEventType クライアント イベントの種類。
event_id string イベントの一意な ID。

RealtimeClientEventType

使用可能な値:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

RealtimeContentPart

フィールド タイプ 説明
type RealtimeContentPartType コンテンツ パーツの種類。

RealtimeContentPartType

使用可能な値:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

会話に追加するアイテム。

RealtimeConversationRequestItem

フィールド タイプ 説明
type RealtimeItemType 項目の種類。
ID string 項目の一意 ID。

RealtimeConversationResponseItem

フィールド タイプ 内容
object string 会話の応答項目。

使用できる値: realtime.item
type RealtimeItemType 項目の種類。
ID string 項目の一意 ID。

このプロパティは Null 許容です。

RealtimeFunctionTool

リアルタイム エンドポイントで使用される関数ツールの定義。

フィールド タイプ 説明
type string ツールの型。

使用できる値: function
name string 関数の名前です。
description string 関数の説明。
parameters object 関数のパラメーター。

RealtimeItemStatus

使用可能な値:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

使用可能な値:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

使用可能な値:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

フィールド タイプ 説明
ロール (role) string メッセージのロール。

使用できる値: assistant
content RealtimeRequestTextContentPart の配列 メッセージのコンテンツ。

RealtimeRequestAudioContentPart

フィールド タイプ 説明
type string コンテンツ パーツの種類。

使用できる値: input_audio
transcript string オーディオのトランスクリプト。

RealtimeRequestFunctionCallItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: function_call
name string 関数呼び出しアイテムの ID。
call_id string 関数呼び出しアイテムの ID。
引数 string 関数呼び出しアイテムの引数。
status RealtimeItemStatus アイテムの状態。

RealtimeRequestFunctionCallOutputItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: function_call_output
call_id string 関数呼び出しアイテムの ID。
output string 関数呼び出しアイテムの出力。

RealtimeRequestMessageItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: message
ロール (role) RealtimeMessageRole メッセージのロール。
status RealtimeItemStatus アイテムの状態。

RealtimeRequestMessageReferenceItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: message
ID string メッセージ項目の ID。

RealtimeRequestSession

フィールド タイプ 説明
modalities 配列 セッションがサポートするモダリティ。

使用できる値: textaudio

たとえば、"modalities": ["text", "audio"] は、テキストとオーディオの両方のモダリティを有効にする既定の設定です。 テキストのみを有効にするには、"modalities": ["text"] を有効にする設定します。 オーディオのみを有効にすることはできません。
instructions string モデルのテキストとオーディオの応答をガイドする命令 (システム メッセージ)。

テキストとオーディオの応答のコンテンツと形式をガイドするための手順の例を次に示します:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

オーディオ動作のガイドに役立つ手順の例を次に示します:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

モデルは常にこれらの手順に従っているわけではありませんが、目的の動作に関するガイダンスを提供します。
voice RealtimeVoice セッションのモデル応答に使用される音声で。

モデルのオーディオ応答のセッションで音声を使用した後は、変更できません。
input_audio_format RealtimeAudioFormat 入力オーディオの形式。
output_audio_format RealtimeAudioFormat 出力オーディオの形式。
input_audio_transcription RealtimeAudioInputTranscriptionSettings オーディオ入力文字起こしの設定。

このプロパティは Null 許容です。
turn_detection RealtimeTurnDetection セッションのターン検出設定。

このプロパティは Null 許容です。
tools RealtimeTool の配列 セッションのモデルで使用できるツール。
tool_choice RealtimeToolChoice セッションのためのツールの選択。
temperature 数値 モデルのサンプリング温度。 許容される温度値は [0.6, 1.2] に制限されます。 既定値は 0.8 です。
max_response_output_tokens integer または "inf" 単一のアシスタント応答の出力トークンの最大数 (ツール呼び出しを含む)。

出力トークンを制限するには、1 ~ 4096 の整数を指定します。 それ以外の場合は、値を "inf" に設定して、トークンの最大数を許可します。

たとえば、出力トークンを 1000 に制限するには、"max_response_output_tokens": 1000 を設定します。 トークンの最大数を許可するには、"max_response_output_tokens": "inf" を設定します。

既定値は "inf" です。

RealtimeRequestSystemMessageItem

フィールド タイプ 説明
ロール (role) string メッセージのロール。

使用できる値: system
content RealtimeRequestTextContentPart の配列 メッセージのコンテンツ。

RealtimeRequestTextContentPart

フィールド タイプ 説明
type string コンテンツ パーツの種類。

使用できる値: input_text
text string テキスト コンテンツ。

RealtimeRequestUserMessageItem

フィールド タイプ 説明
ロール (role) string メッセージのロール。

使用できる値: user
content RealtimeRequestTextContentPart または RealtimeRequestAudioContentPart の配列 メッセージのコンテンツ。

RealtimeResponse

フィールド タイプ 内容
object string 応答オブジェクト。

使用できる値: realtime.response
ID string 応答の一意の ID。
status RealtimeResponseStatus 応答の状態。

既定の状態値は in_progress です。
status_details RealtimeResponseStatusDetails 応答状態の詳細。

このプロパティは Null 許容です。
output RealtimeConversationResponseItem の配列 応答の出力項目。
使用量 オブジェクト 応答の使用状況の統計情報。 各 Realtime API セッションは、会話コンテキストを維持し、新しい項目を会話に追加します。 前のターン (テキストおよびオーディオ トークン) からの出力は、後のターンで入力されます。

入れ子になった次のプロパティを参照してください。
+ total_tokens integer 入力および出力テキストおよびオーディオ トークンを含む、応答内のトークンの合計数。

usage オブジェクトのプロパティ。
+ input_tokens integer テキスト トークンとオーディオ トークンを含む、応答で使用される入力トークンの数。

usage オブジェクトのプロパティ。
+ output_tokens integer テキスト トークンとオーディオ トークンを含む、応答で送信された出力トークンの数。

usage オブジェクトのプロパティ。
+ input_token_details オブジェクト 応答で使用される入力トークンの詳細。

usage オブジェクトのプロパティ。
br>
入れ子になった次のプロパティを参照してください。
+ cached_tokens integer 応答で使用されるキャッシュされたトークンの数。

input_token_details オブジェクトのプロパティ。
+ text_tokens integer 応答で使用されるテキスト トークンの数。

input_token_details オブジェクトのプロパティ。
+ audio_tokens integer 応答で使用されるオーディオ トークンの数。

input_token_details オブジェクトのプロパティ。
+ output_token_details オブジェクト 応答で使用される出力トークンの詳細。

usage オブジェクトのプロパティ。

入れ子になった次のプロパティを参照してください。
+ text_tokens integer 応答で使用されるテキスト トークンの数。

output_token_details オブジェクトのプロパティ。
+ audio_tokens integer 応答で使用されるオーディオ トークンの数。

output_token_details オブジェクトのプロパティ。

RealtimeResponseAudioContentPart

フィールド タイプ 説明
type string コンテンツ パーツの種類。

使用できる値: audio
transcript string オーディオのトランスクリプト。

このプロパティは Null 許容です。

RealtimeResponseBase

応答リソース。

RealtimeResponseFunctionCallItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: function_call
name string 関数呼び出しアイテムの ID。
call_id string 関数呼び出しアイテムの ID。
引数 string 関数呼び出しアイテムの引数。
status RealtimeItemStatus アイテムの状態。

RealtimeResponseFunctionCallOutputItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: function_call_output
call_id string 関数呼び出しアイテムの ID。
output string 関数呼び出しアイテムの出力。

RealtimeResponseMessageItem

フィールド タイプ 説明
type string 項目の種類。

使用できる値: message
ロール (role) RealtimeMessageRole メッセージのロール。
content 配列 メッセージのコンテンツ。

配列項目: RealtimeResponseTextContentPart
status RealtimeItemStatus アイテムの状態。

RealtimeResponseOptions

フィールド タイプ 説明
modalities 配列 セッションがサポートするモダリティ。

使用できる値: textaudio

たとえば、"modalities": ["text", "audio"] は、テキストとオーディオの両方のモダリティを有効にする既定の設定です。 テキストのみを有効にするには、"modalities": ["text"] を有効にする設定します。 オーディオのみを有効にすることはできません。
instructions string モデルのテキストとオーディオの応答をガイドする命令 (システム メッセージ)。

テキストとオーディオの応答のコンテンツと形式をガイドするための手順の例を次に示します:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

オーディオ動作のガイドに役立つ手順の例を次に示します:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

モデルは常にこれらの手順に従っているわけではありませんが、目的の動作に関するガイダンスを提供します。
voice RealtimeVoice セッションのモデル応答に使用される音声で。

モデルのオーディオ応答のセッションで音声を使用した後は、変更できません。
output_audio_format RealtimeAudioFormat 出力オーディオの形式。
tools RealtimeTool の配列 セッションのモデルで使用できるツール。
tool_choice RealtimeToolChoice セッションのためのツールの選択。
temperature 数値 モデルのサンプリング温度。 許容される温度値は [0.6, 1.2] に制限されます。 既定値は 0.8 です。
max__output_tokens integer または "inf" 単一のアシスタント応答の出力トークンの最大数 (ツール呼び出しを含む)。

出力トークンを制限するには、1 ~ 4096 の整数を指定します。 それ以外の場合は、値を "inf" に設定して、トークンの最大数を許可します。

たとえば、出力トークンを 1000 に制限するには、"max_response_output_tokens": 1000 を設定します。 トークンの最大数を許可するには、"max_response_output_tokens": "inf" を設定します。

既定値は "inf" です。

RealtimeResponseSession

フィールド タイプ 内容
object string セッション オブジェクト。

使用できる値: realtime.session
ID string セッションの一意の ID。
モデル string セッションに使用されるモデル。
modalities 配列 セッションがサポートするモダリティ。

使用できる値: textaudio

たとえば、"modalities": ["text", "audio"] は、テキストとオーディオの両方のモダリティを有効にする既定の設定です。 テキストのみを有効にするには、"modalities": ["text"] を有効にする設定します。 オーディオのみを有効にすることはできません。
instructions string モデルのテキストとオーディオの応答をガイドする命令 (システム メッセージ)。

テキストとオーディオの応答のコンテンツと形式をガイドするための手順の例を次に示します:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

オーディオ動作のガイドに役立つ手順の例を次に示します:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

モデルは常にこれらの手順に従っているわけではありませんが、目的の動作に関するガイダンスを提供します。
voice RealtimeVoice セッションのモデル応答に使用される音声で。

モデルのオーディオ応答のセッションで音声を使用した後は、変更できません。
input_audio_format RealtimeAudioFormat 入力オーディオの形式。
output_audio_format RealtimeAudioFormat 出力オーディオの形式。
input_audio_transcription RealtimeAudioInputTranscriptionSettings オーディオ入力文字起こしの設定。

このプロパティは Null 許容です。
turn_detection RealtimeTurnDetection セッションのターン検出設定。

このプロパティは Null 許容です。
tools RealtimeTool の配列 セッションのモデルで使用できるツール。
tool_choice RealtimeToolChoice セッションのためのツールの選択。
temperature 数値 モデルのサンプリング温度。 許容される温度値は [0.6, 1.2] に制限されます。 既定値は 0.8 です。
max_response_output_tokens integer または "inf" 単一のアシスタント応答の出力トークンの最大数 (ツール呼び出しを含む)。

出力トークンを制限するには、1 ~ 4096 の整数を指定します。 それ以外の場合は、値を "inf" に設定して、トークンの最大数を許可します。

たとえば、出力トークンを 1000 に制限するには、"max_response_output_tokens": 1000 を設定します。 トークンの最大数を許可するには、"max_response_output_tokens": "inf" を設定します。

RealtimeResponseStatus

使用可能な値:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

フィールド タイプ 説明
type RealtimeResponseStatus 応答の状態。

RealtimeResponseTextContentPart

フィールド タイプ 説明
type string コンテンツ パーツの種類。

使用できる値: text
text string テキスト コンテンツ。

RealtimeServerEvent

フィールド タイプ 説明
type RealtimeServerEventType サーバー イベントの種類。
event_id string イベントの一意な ID。

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

フィールド タイプ 説明
name string このアイテムに含まれる情報の対象となるレート制限プロパティの名前。
リミット integer このレート制限プロパティに対して構成された上限値。
残っています integer このレート制限プロパティに対して構成された上限までの残りの利用可能なクォータ。
reset_seconds 数値 このレート制限プロパティがリセットされるまでの残りの時間 (秒単位)。

RealtimeServerEventType

使用可能な値:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

RealtimeServerVadTurnDetection

フィールド タイプ 説明
type string ターン検出の種類。

使用できる値: server_vad
しきい値 数値 サーバー VAD ターン検出のアクティブ化しきい値。 ノイズの多い環境では、偽陽性を回避するためにしきい値を増やす必要がある場合があります。 静かな環境では、偽陰性を回避するためにしきい値を減らす必要がある場合があります。

既定値は 0.5 です。 しきい値は、0.01.0 の間の値に設定できます。
prefix_padding_ms string 検出された音声の開始前に含める音声オーディオの期間 (ミリ秒)。

既定値は 300 です。
silence_duration_ms string 音声の終了を検出する無音時間 (ミリ秒)。 できるだけ早く音声の終了を検出する必要がありますが、音声の最後の部分を切り離すのを避けるには早すぎないようにする必要があります。

この値を小さい数値に設定すると、モデルの応答が速くなりますが、音声の最後の部分が切れる可能性があります。 この値を大きい数値に設定すると、モデルは音声の終了を検出するまで長く待ちますが、応答に時間がかかる場合があります。

RealtimeSessionBase

リアルタイム セッション オブジェクトの構成。

RealtimeTool

リアルタイム ツール定義の基本表現。

フィールド タイプ 説明
type RealtimeToolType ツールの型。

RealtimeToolChoice

"auto" などの文字列リテラル オプションと定義済みツールへの構造化参照の両方を含む、リアルタイム tool_choice パラメーターで利用可能な表現の組み合わせ。

RealtimeToolChoiceFunctionObject

名前付き関数ツールを選択するリアルタイム tool_choice の表現。

フィールド タイプ 説明
type string tool_choice の型。

使用できる値: function
関数 オブジェクト 選択する関数ツール。

入れ子になった次のプロパティを参照してください。
+ name string 関数ツールの名前。

function オブジェクトのプロパティ。

RealtimeToolChoiceLiteral

リアルタイム エンドポイントで利用できるモードレベルの文字列リテラル tool_choice オプションのセット。

使用可能な値:

  • auto
  • none
  • required

RealtimeToolChoiceObject

名前付きツールを選択する realtime tool_choice の基本表現。

フィールド タイプ 説明
type RealtimeToolType tool_choice の型。

RealtimeToolType

リアルタイム ツールでサポートされているツールの種類の識別子。 現時点でサポートされているのは、"function" ツールだけです。

使用可能な値:

  • function

RealtimeTurnDetection

フィールド タイプ 説明
type RealtimeTurnDetectionType ターン検出の種類。

使用できる値: server_vad

RealtimeTurnDetectionType

使用可能な値:

  • server_vad

RealtimeVoice

使用可能な値:

  • alloy
  • shimmer
  • echo