실시간 API(미리 보기) 참조
참고 항목
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
실시간 API는 Azure OpenAI 서비스와 실시간으로 상호 작용할 수 있는 WebSocket 기반 API입니다.
실시간 API(통해/realtime
)는 최종 사용자와 모델 간의 완전한 비동기 스트리밍 통신을 용이하게 하기 위해 WebSockets API를 기반으로 합니다. 오디오 데이터 캡처 및 렌더링과 같은 디바이스 세부 정보는 Realtime API의 범위를 벗어날 수 있습니다. 최종 사용자에 대한 연결과 모델 엔드포인트 연결을 모두 관리하는 신뢰할 수 있는 중간 서비스의 컨텍스트에서 사용해야 합니다. 신뢰할 수 없는 최종 사용자 디바이스에서 직접 사용하지 마세요.
Connection
실시간 API에는 지원되는 지역에 기존 Azure OpenAI 리소스 엔드포인트가 필요합니다. API는 Azure OpenAI 리소스의 엔드포인트에 /realtime
대한 보안 WebSocket 연결을 통해 액세스됩니다.
다음을 연결하여 전체 요청 URI를 생성할 수 있습니다.
- 보안 WebSocket(
wss://
) 프로토콜 - Azure OpenAI 리소스 엔드포인트 호스트 이름(예:
my-aoai-resource.openai.azure.com
openai/realtime
API 경로- 지원
api-version
되는 API 버전에 대한 쿼리 문자열 매개 변수(예: )2024-10-01-preview
deployment
모델 배포 이름이gpt-4o-realtime-preview
있는 쿼리 문자열 매개 변수
다음 예제는 잘 구성된 /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 서비스 리소스에 대한 API로 토큰 기반 인증
/realtime
을 사용합니다. 헤더가 있는 토큰을 사용하여Bearer
검색된 인증 토큰을 적용합니다Authorization
. - API 키: 다음
api-key
두 가지 방법 중 하나로 제공할 수 있습니다.- 프리핸드셰이
api-key
크 연결에서 연결 헤더 사용 이 옵션은 브라우저 환경에서 사용할 수 없습니다. - 요청 URI에서
api-key
쿼리 문자열 매개 변수 사용 쿼리 문자열 매개 변수는 https/wss를 사용할 때 암호화됩니다.
- 프리핸드셰이
클라이언트 이벤트
클라이언트에서 서버로 보낼 수 있는 9개의 클라이언트 이벤트가 있습니다.
이벤트 | 설명 |
---|---|
RealtimeClientEventConversationItemCreate | 대화에 항목을 추가할 때 이 클라이언트 이벤트를 보냅니다. |
RealtimeClientEventConversationItemDelete | 대화 기록에서 항목을 제거하려는 경우 이 클라이언트 이벤트를 보냅니다. |
RealtimeClientEventConversationItemTruncate | 이전 도우미 메시지의 오디오를 자르려는 경우 이 클라이언트 이벤트를 보냅니다. |
RealtimeClientEventInputAudioBufferAppend | 이 클라이언트 이벤트를 보내 오디오 바이트를 입력 오디오 버퍼에 추가합니다. |
RealtimeClientEventInputAudioBufferClear | 버퍼에서 오디오 바이트를 지우려면 이 클라이언트 이벤트를 보냅니다. |
RealtimeClientEventInputAudioBufferCommit | 이 클라이언트 이벤트를 보내 오디오 바이트를 사용자 메시지에 커밋합니다. |
RealtimeClientEventResponseCancel | 진행 중인 응답을 취소하려면 이 클라이언트 이벤트를 보냅니다. |
RealtimeClientEventResponseCreate | 이 클라이언트 이벤트를 보내 응답 생성을 트리거합니다. |
RealtimeClientEventSessionUpdate | 이 클라이언트 이벤트를 보내 세션의 기본 구성을 업데이트합니다. |
RealtimeClientEventConversationItemCreate
메시지, 함수 호출 및 함수 호출 응답을 포함하여 대화의 컨텍스트에 새 항목을 추가합니다. 이 이벤트는 대화 기록을 채우고 스트림 중간에 새 항목을 추가하는 데 사용할 수 있습니다. 현재 이 이벤트는 도우미 오디오 메시지를 채울 수 없습니다.
성공하면 서버가 이벤트로 conversation.item.created
응답하고, 그렇지 않으면 error
이벤트가 전송됩니다.
이벤트 구조
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.create 합니다. |
Required 허용되는 값: conversation.item.create |
previous_item_id | string | 새 항목이 삽입된 후 이전 항목의 ID입니다. 설정하지 않으면 새 항목이 대화 끝에 추가됩니다. 설정된 경우 항목이 대화 중간에 삽입될 수 있습니다. ID를 찾을 수 없는 경우 오류가 반환되고 항목이 추가되지 않습니다. | |
item | RealtimeConversationRequestItem | Required |
RealtimeClientEventConversationItemDelete
대화 기록에서 항목을 제거하려는 경우 이 클라이언트 이벤트를 보냅니다. 대화 기록에 항목이 없는 한 서버는 이벤트로 conversation.item.deleted
응답합니다. 이 경우 서버는 오류로 응답합니다.
이벤트 구조
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.delete 합니다. |
Required 허용되는 값: conversation.item.delete |
item_id | string | 삭제할 항목의 ID입니다. | Required |
RealtimeClientEventConversationItemTruncate
이전 도우미 메시지의 오디오를 자르려면 이 클라이언트 이벤트를 보냅니다. 서버는 실시간보다 더 빠르게 오디오를 생성하므로 이 이벤트는 사용자가 클라이언트로 전송되었지만 아직 재생되지 않은 오디오를 자르기 위해 중단하는 경우에 유용합니다. 클라이언트의 재생을 사용하여 오디오에 대한 서버의 이해가 동기화됩니다.
오디오를 잘리면 서버 쪽 텍스트 대본이 삭제되어 사용자가 모르는 컨텍스트에 텍스트가 없는지 확인합니다.
성공하면 서버가 이벤트로 conversation.item.truncated
응답합니다.
이벤트 구조
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.truncate 합니다. |
Required 허용되는 값: conversation.item.truncate |
item_id | string | 잘리는 도우미 메시지 항목의 ID입니다. 도우미 메시지 항목만 잘라낼 수 있습니다. | Required |
content_index | 정수 | 잘리는 콘텐츠 파트의 인덱스입니다. 이 속성을 "0"으로 설정합니다. | Required |
audio_end_ms | 정수 | 오디오가 잘리는 포괄 기간(밀리초)입니다. audio_end_ms 실제 오디오 기간보다 크면 서버에서 오류로 응답합니다. | Required |
RealtimeClientEventInputAudioBufferAppend
이 클라이언트 이벤트를 보내 오디오 바이트를 입력 오디오 버퍼에 추가합니다. 오디오 버퍼는 나중에 커밋할 수 있는 임시 스토리지입니다. 서버 VAD(음성 활동 감지) 모드에서 오디오 버퍼는 음성을 감지하는 데 사용되며 서버는 커밋 시기를 결정합니다. 서버 VAD를 사용하지 않도록 설정하면 오디오 버퍼를 수동으로 커밋해야 합니다.
클라이언트는 최대 15MiB의 각 이벤트에 배치할 오디오 양을 선택할 수 있습니다. 예를 들어 클라이언트에서 작은 청크를 스트리밍하면 VAD의 응답성이 높아질 수 있습니다. 다른 클라이언트 이벤트와 달리 서버는 이 이벤트에 대한 확인 응답을 보내지 않습니다.
이벤트 구조
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 input_audio_buffer.append 합니다. |
Required 허용되는 값: input_audio_buffer.append |
오디오 | string | Base64로 인코딩된 오디오 바이트입니다. 이 값은 세션 구성의 input_audio_format 필드에 지정된 형식이어야 합니다. |
Required |
RealtimeClientEventInputAudioBufferClear
버퍼에서 오디오 바이트를 지우려면 이 클라이언트 이벤트를 보냅니다. 서버가 이벤트로 input_audio_buffer.cleared
응답합니다.
이벤트 구조
{
"type": "input_audio_buffer.clear"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 input_audio_buffer.clear 합니다. |
Required 허용되는 값: input_audio_buffer.clear |
RealtimeClientEventInputAudioBufferCommit
이 클라이언트 이벤트를 보내 사용자 입력 오디오 버퍼를 커밋하면 대화에 새 사용자 메시지 항목이 만들어집니다. 이 이벤트는 입력 오디오 버퍼가 비어 있으면 오류를 생성합니다. 서버 VAD 모드에서 클라이언트는 이 이벤트를 보낼 필요가 없으며 서버는 오디오 버퍼를 자동으로 커밋합니다.
입력 오디오 버퍼를 커밋하면 입력 오디오 전사가 트리거되지만(세션 구성에서 사용하도록 설정된 경우) 모델에서 응답을 만들지 않습니다. 서버가 이벤트로 input_audio_buffer.committed
응답합니다.
이벤트 구조
{
"type": "input_audio_buffer.commit"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 input_audio_buffer.commit 합니다. |
Required 허용되는 값: input_audio_buffer.commit |
RealtimeClientEventResponseCancel
진행 중인 응답을 취소하려면 이 클라이언트 이벤트를 보냅니다. 취소할 응답이 response.cancelled
없으면 서버가 이벤트 또는 오류로 응답합니다.
이벤트 구조
{
"type": "response.cancel"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.cancel 합니다. |
Required 허용되는 값: response.cancel |
RealtimeClientEventResponseCreate
이 이벤트는 응답을 만들도록 서버에 지시합니다. 즉, 모델 유추를 트리거합니다. 서버 VAD 모드에서 서버는 자동으로 응답을 만듭니다.
응답에는 하나 이상의 항목이 포함되며 두 번째 항목이 있을 수 있습니다. 이 경우 두 번째 항목은 함수 호출입니다. 이러한 항목은 대화 기록에 추가됩니다.
서버는 이벤트, 생성된 항목 및 콘텐츠에 대한 이벤트, 마지막으로 response.done
응답이 완료되었음을 나타내는 이벤트로 응답 response.created
합니다.
이벤트에는 response.create
유추 구성(예: instructions
및 .) temperature
이 포함됩니다. 이러한 필드는 이 응답에 대해서만 세션의 구성을 재정의합니다.
이벤트 구조
{
"type": "response.create"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.create 합니다. |
Required 허용되는 값: response.create |
응답 | RealtimeResponseOptions | Required |
RealtimeClientEventSessionUpdate
이 클라이언트 이벤트를 보내 세션의 기본 구성을 업데이트합니다. 클라이언트는 언제든지 이 이벤트를 보내 세션 구성을 업데이트할 수 있으며 음성을 제외한 모든 필드를 언제든지 업데이트할 수 있습니다. 서버는 전체 유효 구성을 session.updated
보여 주는 이벤트로 응답합니다.
있는 필드만 업데이트되므로 "명령"처럼 필드를 지우는 올바른 방법은 빈 문자열을 전달하는 것입니다.
이벤트 구조
{
"type": "session.update"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 session.update 합니다. |
Required 허용되는 값: session.update |
session | RealtimeRequestSession | Required |
서버 이벤트
서버에서 받을 수 있는 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
대화가 만들어지면 서버 이벤트입니다. 세션을 만든 직후에 내보냅니다.
이벤트 구조
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.created 합니다. |
Required 허용되는 값: conversation.created |
대화 | 개체 | 대화 리소스입니다. | Required 다음에 중첩된 속성을 참조하세요. |
대화 속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
id | string | 대화의 고유 ID입니다. | |
개체 | string | 개체 형식은 .이어야 realtime.conversation 합니다. |
RealtimeServerEventConversationItemCreated
대화 항목을 만들 때 서버 이벤트입니다. 이 이벤트를 생성하는 몇 가지 시나리오가 있습니다.
- 서버는 응답을 생성합니다. 성공하면 형식(역할
assistant
) 또는 형식message
function_call
인 하나 또는 두 개의 항목을 생성합니다. - 입력 오디오 버퍼는 클라이언트 또는 서버(모드)에
server_vad
의해 커밋됩니다. 서버는 입력 오디오 버퍼의 콘텐츠를 가져와서 새 사용자 메시지 항목에 추가합니다. - 클라이언트는 대화에
conversation.item.create
새 항목을 추가하는 이벤트를 보냈습니다.
이벤트 구조
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.created 합니다. |
Required 허용되는 값: conversation.item.created |
previous_item_id | string | 대화 컨텍스트에서 이전 항목의 ID를 사용하면 클라이언트가 대화의 순서를 이해할 수 있습니다. | Required |
item | RealtimeConversationResponseItem | Required |
RealtimeServerEventConversationItemDeleted
클라이언트가 이벤트와의 대화에서 항목을 삭제한 경우의 서버 이벤트입니다 conversation.item.delete
. 이 이벤트는 대화 기록에 대한 서버의 이해를 클라이언트 보기와 동기화하는 데 사용됩니다.
이벤트 구조
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.deleted 합니다. |
Required 허용되는 값: conversation.item.deleted |
item_id | string | 삭제된 항목의 ID입니다. | Required |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
이 서버 이벤트는 사용자 오디오 버퍼에 기록된 사용자 오디오에 대한 오디오 전사의 출력입니다. 입력 오디오 버퍼가 클라이언트 또는 서버에서 커밋되면(모드에서 server_vad
) 전사가 시작됩니다. 전사는 응답 생성 시 비동기적으로 실행되므로 이 이벤트는 응답 이벤트 전후에 올 수 있습니다.
실시간 API 모델은 기본적으로 오디오를 허용하므로 입력 전사는 별도의 ASR(자동 음성 인식) 모델에서 실행되는 별도의 프로세스이며, 현재는 항상 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 합니다. |
Required 허용되는 값: conversation.item.input_audio_transcription.completed |
item_id | string | 오디오를 포함하는 사용자 메시지 항목의 ID입니다. | Required |
content_index | 정수 | 오디오를 포함하는 콘텐츠 파트의 인덱스입니다. | Required |
대본 | string | 전사된 텍스트입니다. | Required |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
입력 오디오 전사가 구성되고 사용자 메시지에 대한 전사 요청이 실패한 경우 서버 이벤트입니다. 이러한 이벤트는 클라이언트가 관련 항목을 식별할 수 있도록 다른 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 합니다. |
Required 허용되는 값: conversation.item.input_audio_transcription.failed |
item_id | string | 사용자 메시지 항목의 ID입니다. | Required |
content_index | 정수 | 오디오를 포함하는 콘텐츠 파트의 인덱스입니다. | Required |
error | 개체 | 전사 오류에 대한 세부 정보입니다. | Required 다음에 중첩된 속성을 참조하세요. |
오류 속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 오류의 유형. | |
코드 | string | 오류 코드(있는 경우)입니다. | |
message | string | 사람이 읽을 수 있는 오류 메시지 | |
param | string | 오류와 관련된 매개 변수(있는 경우)입니다. |
RealtimeServerEventConversationItemTruncated
클라이언트가 이벤트와 함께 이전 도우미 오디오 메시지 항목을 잘라 내는 경우 서버 이벤트입니다 conversation.item.truncate
. 이 이벤트는 클라이언트의 재생과 오디오에 대한 서버의 이해를 동기화하는 데 사용됩니다.
이 작업은 오디오를 잘라내고 서버 쪽 텍스트 대본을 제거하여 사용자가 모르는 컨텍스트에 텍스트가 없도록 합니다.
이벤트 구조
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 conversation.item.truncated 합니다. |
Required 허용되는 값: conversation.item.truncated |
item_id | string | 잘린 도우미 메시지 항목의 ID입니다. | Required |
content_index | 정수 | 잘린 콘텐츠 파트의 인덱스입니다. | Required |
audio_end_ms | 정수 | 오디오가 잘린 최대 기간(밀리초)입니다. | Required |
RealtimeServerEventError
클라이언트 문제 또는 서버 문제가 될 수 있는 오류가 발생하는 경우 서버 이벤트입니다. 대부분의 오류는 복구할 수 있으며 세션은 계속 열려 있습니다.
이벤트 구조
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 error 합니다. |
Required 허용되는 값: error |
error | 개체 | 오류에 대한 세부 정보입니다. | Required 다음에 중첩된 속성을 참조하세요. |
오류 속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 오류 유형입니다(예: "invalid_request_error", "server_error"). | |
코드 | string | 오류 코드(있는 경우)입니다. | |
message | string | 사람이 읽을 수 있는 오류 메시지 | |
param | string | 오류와 관련된 매개 변수(있는 경우)입니다. | |
event_id | string | 해당하는 경우 오류를 발생시킨 클라이언트 이벤트의 ID입니다. |
RealtimeServerEventInputAudioBufferCleared
클라이언트가 이벤트와 함께 입력 오디오 버퍼를 지울 때 서버 이벤트입니다 input_audio_buffer.clear
.
이벤트 구조
{
"type": "input_audio_buffer.cleared"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 input_audio_buffer.cleared 합니다. |
Required 허용되는 값: input_audio_buffer.cleared |
RealtimeServerEventInputAudioBufferCommitted
클라이언트에서 또는 서버 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 합니다. |
Required 허용되는 값: input_audio_buffer.committed |
previous_item_id | string | 새 항목이 삽입된 후 이전 항목의 ID입니다. | Required |
item_id | string | 만든 사용자 메시지 항목의 ID입니다. | Required |
RealtimeServerEventInputAudioBufferSpeechStarted
오디오 버퍼에서 server_vad
음성이 검색되었음을 나타내는 모드의 서버 이벤트입니다. 이 이벤트는 오디오가 버퍼에 추가될 때마다 발생할 수 있습니다(음성이 이미 검색되지 않은 경우). 클라이언트는 이 이벤트를 사용하여 오디오 재생을 중단하거나 사용자에게 시각적 피드백을 제공할 수 있습니다.
클라이언트는 음성이 중지될 때 이벤트를 수신 input_audio_buffer.speech_stopped
해야 합니다. 이 속성은 item_id
음성이 중지될 때 생성되는 사용자 메시지 항목의 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 합니다. |
Required 허용되는 값: input_audio_buffer.speech_started |
audio_start_ms | 정수 | 음성이 처음 검색되었을 때 세션 중에 버퍼에 기록된 모든 오디오의 시작부터 밀리초입니다. 이 속성은 모델에 전송된 오디오의 시작 부분에 해당하므로 세션에 prefix_padding_ms 구성된 오디오가 포함됩니다. |
Required |
item_id | string | 음성이 중지되면 생성된 사용자 메시지 항목의 ID입니다. | Required |
RealtimeServerEventInputAudioBufferSpeechStopped
서버가 오디오 버퍼에서 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 합니다. |
Required 허용되는 값: input_audio_buffer.speech_stopped |
audio_end_ms | 정수 | 음성이 중지될 때 세션이 시작된 후 밀리초입니다. 이 속성은 모델에 전송된 오디오의 끝에 해당하므로 세션에 min_silence_duration_ms 구성된 오디오가 포함됩니다. |
Required |
item_id | string | 만든 사용자 메시지 항목의 ID입니다. | Required |
RealtimeServerEventRateLimitsUpdated
업데이트된 속도 제한을 나타내기 위해 응답의 시작 부분에서 내보내지는 서버 이벤트입니다.
응답이 생성되면 일부 토큰이 출력 토큰에 대해 "예약"되며 여기에 표시된 속도 제한은 해당 예약을 반영하며 응답이 완료되면 그에 따라 조정됩니다.
이벤트 구조
{
"type": "rate_limits.updated"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 rate_limits.updated 합니다. |
Required 허용되는 값: rate_limits.updated |
rate_limits | 배열 | 속도 제한 정보 목록입니다. | Required 배열 항목: RealtimeServerEventRateLimitsUpdatedRateLimitsItem |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
이벤트 구조
{
"name": "<name>",
"limit": 0,
"remaining": 0
}
속성
필드 | 형식 | Description |
---|---|---|
이름 | string | 이 항목에 대한 정보가 포함된 속도 제한 속성 이름입니다. |
limit | 정수 | 이 속도 제한 속성에 대해 구성된 최대 제한입니다. |
남음 | 정수 | 이 속도 제한 속성에 대해 구성된 제한에 대해 사용할 수 있는 나머지 할당량입니다. |
reset_seconds | 번호 | 이 속도 제한 속성이 다시 설정될 때까지 남은 시간(초)입니다. |
RealtimeServerEventResponseAudioDelta
모델 생성 오디오가 업데이트될 때 반환됩니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.audio.delta |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
delta | string | Base64로 인코딩된 오디오 데이터 델타입니다. | Required |
RealtimeServerEventResponseAudioDone
모델 생성 오디오가 완료되면 서버 이벤트입니다. 또한 응답이 중단되거나 불완전하거나 취소될 때 내보내집니다.
이벤트 구조
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.audio.done 합니다. |
Required 허용되는 값: response.audio.done |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
RealtimeServerEventResponseAudioTranscriptDelta
모델에서 생성된 오디오 출력 전사가 업데이트될 때 발생하는 서버 이벤트입니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.audio_transcript.delta |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
delta | string | 대본 델타입니다. | Required |
RealtimeServerEventResponseAudioTranscriptDone
모델에서 생성된 오디오 출력 전사가 스트리밍을 완료할 때 발생하는 서버 이벤트입니다. 또한 응답이 중단되거나 불완전하거나 취소될 때 내보내집니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.audio_transcript.done |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
대본 | string | 오디오의 마지막 대본입니다. | Required |
RealtimeServerEventResponseContentPartAdded
응답 생성 중에 새 콘텐츠 파트가 도우미 메시지 항목에 추가되는 경우 서버 이벤트입니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.content_part.added |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 콘텐츠 파트가 추가된 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
part | RealtimeContentPart | 추가된 콘텐츠 부분입니다. | Required |
파트 속성
필드 | 형식 | 설명 |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
보조 메시지 항목에서 콘텐츠 파트 스트리밍이 완료된 경우 서버 이벤트입니다. 또한 응답이 중단되거나 불완전하거나 취소될 때 내보내집니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.content_part.done |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
part | RealtimeContentPart | 완료된 콘텐츠 부분입니다. | Required |
파트 속성
필드 | 형식 | 설명 |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseCreated
새 응답을 만들 때 서버 이벤트입니다. 응답이 초기 상태인 응답 생성의 in_progress
첫 번째 이벤트입니다.
이벤트 구조
{
"type": "response.created"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.created 합니다. |
Required 허용되는 값: response.created |
응답 | RealtimeResponse | Required |
RealtimeServerEventResponseDone
응답이 스트리밍이 완료되면 서버 이벤트입니다. 최종 상태에 관계없이 항상 내보냅니다. 이벤트에 포함된 응답 개체는 응답의 response.done
모든 출력 항목을 포함하지만 원시 오디오 데이터는 생략합니다.
이벤트 구조
{
"type": "response.done"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.done 합니다. |
Required 허용되는 값: response.done |
응답 | RealtimeResponse | Required |
RealtimeServerEventResponseFunctionCallArgumentsDelta
모델에서 생성된 함수 호출 인수가 업데이트될 때 발생하는 서버 이벤트입니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.function_call_arguments.delta |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 함수 호출 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
call_id | string | 함수 호출의 ID입니다. | Required |
delta | string | 인수 델타를 JSON 문자열로 사용합니다. | Required |
RealtimeServerEventResponseFunctionCallArgumentsDone
모델 생성 함수 호출 인수가 스트리밍을 완료할 때 발생하는 서버 이벤트입니다.
또한 응답이 중단되거나 불완전하거나 취소될 때 내보내집니다.
이벤트 구조
{
"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 합니다. |
Required 허용되는 값: response.function_call_arguments.done |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 함수 호출 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
call_id | string | 함수 호출의 ID입니다. | Required |
arguments | string | JSON 문자열로 사용되는 마지막 인수입니다. | Required |
RealtimeServerEventResponseOutputItemAdded
응답 생성 중에 새 항목이 만들어지는 경우 서버 이벤트입니다.
이벤트 구조
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.output_item.added 합니다. |
Required 허용되는 값: response.output_item.added |
response_id | string | 항목이 속한 응답의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
item | RealtimeConversationResponseItem | Required |
RealtimeServerEventResponseOutputItemDone
항목 스트리밍이 완료되면 서버 이벤트입니다. 또한 응답이 중단되거나 불완전하거나 취소될 때 내보내집니다.
이벤트 구조
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 response.output_item.done 합니다. |
Required 허용되는 값: response.output_item.done |
response_id | string | 항목이 속한 응답의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
item | RealtimeConversationResponseItem | Required |
RealtimeServerEventResponseTextDelta
"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 합니다. |
Required 허용되는 값: response.text.delta |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
delta | string | 텍스트 델타입니다. | Required |
RealtimeServerEventResponseTextDone
"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 합니다. |
Required 허용되는 값: response.text.done |
response_id | string | 응답의 ID입니다. | Required |
item_id | string | 항목의 ID입니다. | Required |
output_index | 정수 | 응답에 있는 출력 항목의 인덱스입니다. | Required |
content_index | 정수 | 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다. | Required |
text | string | 최종 텍스트 콘텐츠입니다. | Required |
RealtimeServerEventSessionCreated
세션을 만들 때 서버 이벤트입니다. 새 연결이 첫 번째 서버 이벤트로 설정되면 자동으로 내보내집니다. 이 이벤트에는 기본 세션 구성이 포함됩니다.
이벤트 구조
{
"type": "session.created"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 session.created 합니다. |
Required 허용되는 값: session.created |
session | RealtimeResponseSession | Required |
RealtimeServerEventSessionUpdated
오류가 발생하지 않는 한 session.update
세션이 이벤트로 업데이트되는 경우 서버 이벤트입니다.
이벤트 구조
{
"type": "session.updated"
}
속성
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | 이벤트 유형은 .이어야 session.updated 합니다. |
Required 허용되는 값: session.updated |
session | RealtimeResponseSession | Required |
구성 요소
RealtimeAudioFormat
허용되는 값:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
허용되는 값:
whisper-1
RealtimeAudioInputTranscriptionSettings
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
model | RealtimeAudioInputTranscriptionModel | 기본값: whisper-1 |
RealtimeClientEvent
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeClientEventType | Required | |
event_id | string |
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 | Required |
RealtimeContentPartType
허용되는 값:
input_text
input_audio
text
audio
RealtimeConversationItemBase
대화에 추가할 항목입니다.
RealtimeConversationRequestItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeItemType | Required | |
id | string |
RealtimeConversationResponseItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
개체 | string | Required 허용되는 값: realtime.item |
|
type | RealtimeItemType | Required | |
id | string | Required 이 속성은 null을 허용합니다. |
RealtimeFunctionTool
실시간 엔드포인트에서 사용하는 함수 도구의 정의입니다.
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function |
|
name | string | Required | |
description | string | ||
매개 변수 |
RealtimeItemStatus
허용되는 값:
in_progress
completed
incomplete
RealtimeItemType
허용되는 값:
message
function_call
function_call_output
RealtimeMessageRole
허용되는 값:
system
user
assistant
RealtimeRequestAssistantMessageItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
역할(role) | string | Required 허용되는 값: assistant |
|
content | 배열 | Required 배열 항목: RealtimeRequestTextContentPart |
RealtimeRequestAudioContentPart
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: input_audio |
|
대본 | string |
RealtimeRequestFunctionCallItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function_call |
|
name | string | Required | |
call_id | string | Required | |
arguments | string | Required | |
status | RealtimeItemStatus |
RealtimeRequestFunctionCallOutputItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function_call_output |
|
call_id | string | Required | |
output | string | Required |
RealtimeRequestMessageItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: message |
|
역할(role) | RealtimeMessageRole | Required | |
status | RealtimeItemStatus |
RealtimeRequestMessageReferenceItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: message |
|
id | string | Required |
RealtimeRequestSession
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
형식 | 배열 | ||
지침 | string | ||
voice | RealtimeVoice | ||
input_audio_format | RealtimeAudioFormat | ||
output_audio_format | RealtimeAudioFormat | ||
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Nullable | |
turn_detection | RealtimeTurnDetection | Nullable | |
tools | 배열 | 배열 항목: RealtimeTool | |
tool_choice | RealtimeToolChoice | ||
온도 | 번호 | ||
max_response_output_tokens |
RealtimeRequestSystemMessageItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
역할(role) | string | Required 허용되는 값: system |
|
content | 배열 | Required 배열 항목: RealtimeRequestTextContentPart |
RealtimeRequestTextContentPart
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: input_text |
|
text | string | Required |
RealtimeRequestUserMessageItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
역할(role) | string | Required 허용되는 값: user |
|
content | 배열 | Required 배열 항목은 RealtimeRequestTextContentPart 또는 RealtimeRequestAudioContentPart일 수 있습니다. |
RealtimeResponse
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
개체 | string | Required 허용되는 값: realtime.response |
|
id | string | Required | |
status | RealtimeResponseStatus | Required 기본값: in_progress |
|
status_details | RealtimeResponseStatusDetails | Required 이 속성은 null을 허용합니다. |
|
output | 배열 | Required 배열 항목: RealtimeConversationResponseItem |
|
사용량 | 개체 | Required 다음에 중첩된 속성을 참조하세요. |
|
+ total_tokens | 정수 | 개체의 속성입니다 usage . |
Required |
+ input_tokens | 정수 | 개체의 속성입니다 usage . |
Required |
+ output_tokens | 정수 | 개체의 속성입니다 usage . |
Required |
+ input_token_details | 개체 | 개체의 속성입니다 usage . |
Required 다음에 중첩된 속성을 참조하세요. |
+ cached_tokens | 정수 | 개체의 속성입니다 input_token_details . |
Required |
+ text_tokens | 정수 | 개체의 속성입니다 input_token_details . |
Required |
+ audio_tokens | 정수 | 개체의 속성입니다 input_token_details . |
Required |
+ output_token_details | 개체 | 개체의 속성입니다 usage . |
Required 다음에 중첩된 속성을 참조하세요. |
+ text_tokens | 정수 | 개체의 속성입니다 output_token_details . |
Required |
+ audio_tokens | 정수 | 개체의 속성입니다 output_token_details . |
Required |
RealtimeResponseAudioContentPart
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: audio |
|
대본 | string | Required 이 속성은 null을 허용합니다. |
RealtimeResponseBase
응답 리소스입니다.
RealtimeResponseFunctionCallItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function_call |
|
name | string | Required | |
call_id | string | Required | |
arguments | string | Required | |
status | RealtimeItemStatus | Required |
RealtimeResponseFunctionCallOutputItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function_call_output |
|
call_id | string | Required | |
output | string | Required |
RealtimeResponseMessageItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: message |
|
역할(role) | RealtimeMessageRole | Required | |
content | 배열 | Required 배열 항목: RealtimeContentPart |
|
status | RealtimeItemStatus | Required |
RealtimeResponseOptions
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
형식 | 배열 | 응답의 형식입니다. | |
지침 | string | 모델에 대한 지침입니다. | |
voice | RealtimeVoice | 모델에서 응답하는 데 사용하는 음성( 하나 alloy 또는 echo shimmer . |
|
output_audio_format | RealtimeAudioFormat | 출력 오디오의 형식입니다. | |
tools | 배열 | 모델에서 사용할 수 있는 도구(함수) | 배열 항목: RealtimeTool |
tool_choice | RealtimeToolChoice | 모델이 도구를 선택하는 방법. | |
온도 | 번호 | 샘플링 온도입니다. | |
max_output_tokens | 도구 호출을 포함하는 단일 도우미 응답에 대한 최대 출력 토큰 수입니다. 출력 토큰을 제한하려면 1에서 4096 사이의 정수 또는 지정된 모델에 사용 가능한 최대 토큰에 대해 "inf"를 제공합니다. 기본값은 "inf"입니다. |
RealtimeResponseSession
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
개체 | string | Required 허용되는 값: realtime.session |
|
id | string | Required | |
model | string | Required | |
형식 | 배열 | Required | |
지침 | string | Required | |
voice | RealtimeVoice | Required | |
input_audio_format | RealtimeAudioFormat | Required | |
output_audio_format | RealtimeAudioFormat | Required | |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Required 이 속성은 null을 허용합니다. |
|
turn_detection | RealtimeTurnDetection | Required | |
tools | 배열 | Required 배열 항목: RealtimeTool |
|
tool_choice | RealtimeToolChoice | Required | |
온도 | 번호 | Required | |
max_response_output_tokens | Required 이 속성은 null을 허용합니다. |
RealtimeResponseStatus
허용되는 값:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeResponseStatus | Required |
RealtimeResponseTextContentPart
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: text |
|
text | string | Required |
RealtimeServerEvent
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeServerEventType | Required | |
event_id | string | Required |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
name | string | 이 항목에 대한 정보가 포함된 속도 제한 속성 이름입니다. | Required |
limit | 정수 | 이 속도 제한 속성에 대해 구성된 최대 제한입니다. | Required |
남음 | 정수 | 이 속도 제한 속성에 대해 구성된 제한에 대해 사용할 수 있는 나머지 할당량입니다. | Required |
reset_seconds | 번호 | 이 속도 제한 속성이 다시 설정될 때까지 남은 시간(초)입니다. | Required |
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 | Required 허용되는 값: server_vad |
|
threshold | 번호 | 기본값: 0.5 |
|
prefix_padding_ms | string | ||
silence_duration_ms | string |
RealtimeSessionBase
실시간 세션 개체 구성입니다.
RealtimeTool
실시간 도구 정의의 기본 표현입니다.
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeToolType | Required |
RealtimeToolChoice
실시간 tool_choice 매개 변수에 사용할 수 있는 표현 집합으로, 'auto'와 같은 문자열 리터럴 옵션과 정의된 도구에 대한 구조적 참조를 모두 포함합니다.
RealtimeToolChoiceFunctionObject
명명된 함수 도구를 선택하는 tool_choice 실시간 표현입니다.
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | string | Required 허용되는 값: function |
|
function | 개체 | Required 다음에 중첩된 속성을 참조하세요. |
|
+ 이름 | string | 개체의 속성입니다 function . |
Required |
RealtimeToolChoiceLiteral
실시간 엔드포인트에 사용할 수 있는 모드 수준 문자열 리터럴 tool_choice 옵션 집합입니다.
허용되는 값:
auto
none
required
RealtimeToolChoiceObject
명명된 도구를 선택하는 tool_choice 실시간에 대한 기본 표현입니다.
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeToolType | Required |
RealtimeToolType
실시간 도구에 대해 지원되는 도구 유형 판별자입니다. 현재는 'function' 도구만 지원됩니다.
허용되는 값:
function
RealtimeTurnDetection
필드 | 형식 | 설명 | 자세한 정보 |
---|---|---|---|
type | RealtimeTurnDetectionType | Required |
RealtimeTurnDetectionType
허용되는 값:
server_vad
RealtimeVoice
허용되는 값:
alloy
shimmer
echo
관련 콘텐츠
- 실시간 API 빠른 시작을 시작 합니다.
- 실시간 API를 사용하는 방법에 대해 자세히 알아봅니다.