Realtime API (プレビュー) リファレンス
Note
現在、この機能はパブリック プレビュー段階にあります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
Realtime API は、Azure OpenAI Service とのリアルタイムでの対話を可能にする WebSocket ベースの API です。
(/realtime
を経由する) Realtime API は、WebSockets 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.created
や response.content_part.added
など)、最後に応答が完了したことを示す response.done
イベントで応答します。
Note
このクライアント response.create
イベントは、instructions
や temperature
などの推論構成を含みます。 これらのフィールドがオーバーライドには、この応答に関するセッションの構成だけです。
イベント構造
{
"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 | 配列 | セッションがサポートするモダリティ。 使用できる値: text 、 audio たとえば、 "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 | 配列 | セッションがサポートするモダリティ。 使用できる値: text 、 audio たとえば、 "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 | 配列 | セッションがサポートするモダリティ。 使用できる値: text 、 audio たとえば、 "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.0 と 1.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
関連するコンテンツ
- Realtime API のクイックスタートを使用して作業を開始する。
- Realtime API の使用方法の詳細を確認する。