다음을 통해 공유


실시간 API(미리 보기) 참조

참고 항목

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

실시간 API는 Azure OpenAI 서비스와 실시간으로 상호 작용할 수 있는 WebSocket 기반 API입니다.

실시간 API(통해/realtime)는 최종 사용자와 모델 간의 완전한 비동기 스트리밍 통신을 용이하게 하기 위해 WebSockets API를 기반으로 합니다. 오디오 데이터 캡처 및 렌더링과 같은 디바이스 세부 정보는 Realtime API의 범위를 벗어날 수 있습니다. 최종 사용자에 대한 연결과 모델 엔드포인트 연결을 모두 관리하는 신뢰할 수 있는 중간 서비스의 컨텍스트에서 사용해야 합니다. 신뢰할 수 없는 최종 사용자 디바이스에서 직접 사용하지 마세요.

실시간 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.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 정수 잘리는 콘텐츠 파트의 인덱스입니다. 이 속성을 "0"으로 설정합니다.
audio_end_ms 정수 오디오가 잘리는 포괄 기간(밀리초)입니다. audio_end_ms 실제 오디오 기간보다 크면 서버에서 오류로 응답합니다.

RealtimeClientEventInputAudioBufferAppend

클라이언트 input_audio_buffer.append 이벤트는 입력 오디오 버퍼에 오디오 바이트를 추가하는 데 사용됩니다. 오디오 버퍼는 나중에 커밋할 수 있는 임시 스토리지입니다.

서버 VAD(음성 활동 감지) 모드에서 오디오 버퍼는 음성을 감지하는 데 사용되며 서버는 커밋 시기를 결정합니다. 서버 VAD를 사용하지 않도록 설정하면 클라이언트는 각 이벤트에 최대 15MiB까지 배치할 오디오 양을 선택할 수 있습니다. 예를 들어 클라이언트에서 작은 청크를 스트리밍하면 VAD의 응답성이 높아질 수 있습니다.

다른 클라이언트 이벤트와 달리 서버는 클라이언트 input_audio_buffer.append 이벤트에 대한 확인 응답을 보내지 않습니다.

이벤트 구조

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

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 input_audio_buffer.append합니다.
오디오 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 모드로 구성된 경우 서버는 자동으로 응답을 만듭니다.

응답에는 하나 item이상의 응답이 포함되며 두 개의 응답이 있을 수 있습니다. 이 경우 두 번째 응답은 함수 호출입니다. 이러한 항목은 대화 기록에 추가됩니다.

서버는 이벤트, 하나 이상의 항목 및 콘텐츠 이벤트(예: 및response.content_part.added)로 conversation.item.created 응답하고 마지막으로 response.done 응답이 완료되었음을 나타내는 이벤트로 응답 response.created 합니다.

참고 항목

클라이언트 response.create 이벤트에는 유추 구성(예: instructionstemperature.)이 포함됩니다. 이러한 필드는 이 응답에 대해서만 세션의 구성을 재정의할 수 있습니다.

이벤트 구조

{
  "type": "response.create"
}

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 response.create합니다.
응답 RealtimeResponseOptions 응답 옵션입니다.

RealtimeClientEventSessionUpdate

클라이언트 session.update 이벤트는 세션의 기본 구성을 업데이트하는 데 사용됩니다. 클라이언트는 언제든지 이 이벤트를 보내 세션 구성을 업데이트할 수 있으며 음성을 제외한 모든 필드를 언제든지 업데이트할 수 있습니다.

존재하는 필드만 업데이트됩니다. 필드를 지우려면(예: instructions) 빈 문자열을 전달합니다.

서버는 전체 유효 구성을 session.updated 포함하는 이벤트로 응답합니다.

이벤트 구조

{
  "type": "session.update"
}

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 session.update합니다.
session 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 이벤트는 세션을 만든 직후에 반환됩니다. 세션당 하나의 대화가 만들어집니다.

이벤트 구조

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

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 conversation.created합니다.
대화 개체 대화 리소스입니다.

대화 속성

필드 형식 설명
id string 대화의 고유 ID입니다.
개체 string 개체 형식은 .이어야 realtime.conversation합니다.

RealtimeServerEventConversationItemCreated

서버 conversation.item.created 이벤트는 대화 항목을 만들 때 반환됩니다. 이 이벤트를 생성하는 몇 가지 시나리오가 있습니다.

  • 서버는 응답을 생성합니다. 성공하면 형식(역할assistant) 또는 형식 message function_call인 하나 또는 두 개의 항목을 생성합니다.
  • 입력 오디오 버퍼는 클라이언트 또는 서버(모드)에 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.delete 대화에서 항목을 삭제하면 서버 conversation.item.deleted 이벤트가 반환됩니다. 이 이벤트는 대화 기록에 대한 서버의 이해를 클라이언트 보기와 동기화하는 데 사용됩니다.

이벤트 구조

{
  "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 ) 전사가 시작됩니다. 전사는 응답 생성 시 비동기적으로 실행되므로 이 이벤트는 응답 이벤트 전후에 올 수 있습니다.

실시간 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 정수 오디오를 포함하는 콘텐츠 파트의 인덱스입니다.
대본 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 정수 오디오를 포함하는 콘텐츠 파트의 인덱스입니다.
error 개체 전사 오류에 대한 세부 정보입니다.

다음 표에서 중첩된 속성을 참조하세요.

오류 속성

필드 형식 설명
type string 오류의 유형.
코드 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 정수 잘린 콘텐츠 파트의 인덱스입니다.
audio_end_ms 정수 오디오가 잘린 최대 기간(밀리초)입니다.

RealtimeServerEventError

서버 이벤트는 클라이언트 문제 또는 서버 error 문제일 수 있는 오류가 발생할 때 반환됩니다. 대부분의 오류는 복구할 수 있으며 세션은 계속 열려 있습니다.

이벤트 구조

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

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 error합니다.
error 개체 오류에 대한 세부 정보입니다.

다음 표에서 중첩된 속성을 참조하세요.

오류 속성

필드 형식 설명
type string 오류의 유형. 예를 들어 "invalid_request_error" 및 "server_error"는 오류 유형입니다.
코드 string 오류 코드(있는 경우)입니다.
message string 사람이 읽을 수 있는 오류 메시지
param string 오류와 관련된 매개 변수(있는 경우)입니다.
event_id string 해당하는 경우 오류를 발생시킨 클라이언트 이벤트의 ID입니다.

RealtimeServerEventInputAudioBufferCleared

클라이언트가 이벤트와 함께 input_audio_buffer.clear 입력 오디오 버퍼를 지울 때 서버 input_audio_buffer.cleared 이벤트가 반환됩니다.

이벤트 구조

{
  "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

오디오 버퍼에서 server_vad 음성이 검색되면 서버 input_audio_buffer.speech_started 이벤트가 모드로 반환됩니다. 이 이벤트는 오디오가 버퍼에 추가될 때마다 발생할 수 있습니다(음성이 이미 검색되지 않은 경우).

참고 항목

클라이언트는 이 이벤트를 사용하여 오디오 재생을 중단하거나 사용자에게 시각적 피드백을 제공할 수 있습니다.

클라이언트는 음성이 중지될 때 이벤트를 수신 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 정수 음성이 처음 검색되었을 때 세션 중에 버퍼에 기록된 모든 오디오의 시작부터 밀리초입니다. 이 속성은 모델에 전송된 오디오의 시작 부분에 해당하므로 세션에 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 정수 음성이 중지될 때 세션이 시작된 후 밀리초입니다. 이 속성은 모델에 전송된 오디오의 끝에 해당하므로 세션에 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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.

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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
대본 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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
call_id string 함수 호출의 ID입니다.
arguments 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 정수 응답에 있는 출력 항목의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
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 정수 응답에 있는 출력 항목의 인덱스입니다.
content_index 정수 항목의 콘텐츠 배열에 있는 콘텐츠 파트의 인덱스입니다.
text string 최종 텍스트 콘텐츠입니다.

RealtimeServerEventSessionCreated

서버 session.created 이벤트는 실시간 API에 대한 새 연결을 설정할 때 첫 번째 서버 이벤트입니다. 이 이벤트는 기본 세션 구성을 사용하여 새 세션을 만들고 반환합니다.

이벤트 구조

{
  "type": "session.created"
}

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 session.created합니다.
session RealtimeResponseSession 세션 개체입니다.

RealtimeServerEventSessionUpdated

클라이언트에서 세션을 업데이트할 때 서버 session.updated 이벤트가 반환됩니다. 오류가 발생하면 서버에서 대신 이벤트를 보냅니다 error .

이벤트 구조

{
  "type": "session.updated"
}

속성

필드 형식 설명
type string 이벤트 유형은 .이어야 session.updated합니다.
session RealtimeResponseSession 세션 개체입니다.

구성 요소

RealtimeAudioFormat

허용되는 값:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

허용되는 값:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

필드 형식 설명
model 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

필드 형식 설명
개체 string 대화 응답 항목입니다.

허용되는 값: realtime.item
type RealtimeItemType 항목의 형식입니다.
id string 항목의 고유 ID입니다.

이 속성은 null을 허용합니다.

RealtimeFunctionTool

실시간 엔드포인트에서 사용하는 함수 도구의 정의입니다.

필드 형식 설명
type string 도구의 형식입니다.

허용되는 값: function
name string 함수의 이름.
description string 함수에 대한 설명입니다.
매개 변수 개체 함수의 매개 변수입니다.

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
대본 string 오디오의 대본입니다.

RealtimeRequestFunctionCallItem

필드 형식 설명
type string 항목의 형식입니다.

허용되는 값: function_call
name string 함수 호출 항목의 이름입니다.
call_id string 함수 호출 항목의 ID입니다.
arguments 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

필드 형식 설명
형식 배열 세션에서 지원하는 형식입니다.

허용되는 값: text, audio

예를 들어 "modalities": ["text", "audio"] 텍스트 및 오디오 형식을 모두 사용하도록 설정하는 기본 설정입니다. 텍스트만 사용하려면 .를 설정합니다 "modalities": ["text"]. 오디오만 사용하도록 설정할 수 없습니다.
지침 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 세션에 대한 도구 선택입니다.
온도 번호 모델의 샘플링 온도입니다. 허용되는 온도 값은 [0.6, 1.2]로 제한됩니다. 기본값은 0.8입니다.
max_response_output_tokens 정수 또는 "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

필드 형식 설명
개체 string 응답 개체입니다.

허용되는 값: realtime.response
id string 응답의 고유 ID입니다.
status RealtimeResponseStatus 응답의 상태입니다.

기본 상태 값은 .입니다 in_progress.
status_details RealtimeResponseStatusDetails 응답 상태의 세부 정보입니다.

이 속성은 null을 허용합니다.
output RealtimeConversationResponseItem 배열 응답의 출력 항목입니다.
사용량 개체 응답에 대한 사용 통계입니다. 각 실시간 API 세션은 대화 컨텍스트를 유지하고 대화에 새 항목을 추가합니다. 이전 턴(텍스트 및 오디오 토큰)의 출력은 이후 턴에 대한 입력입니다.

다음에 중첩된 속성을 참조하세요.
+ total_tokens 정수 입력 및 출력 텍스트 및 오디오 토큰을 포함한 응답의 총 토큰 수입니다.

개체의 속성입니다 usage .
+ input_tokens 정수 텍스트 및 오디오 토큰을 포함하여 응답에 사용되는 입력 토큰의 수입니다.

개체의 속성입니다 usage .
+ output_tokens 정수 텍스트 및 오디오 토큰을 포함하여 응답에서 전송된 출력 토큰의 수입니다.

개체의 속성입니다 usage .
+ input_token_details 개체 응답에 사용되는 입력 토큰에 대한 세부 정보입니다.

개체의 속성입니다 usage .
br>
다음에 중첩된 속성을 참조하세요.
+ cached_tokens 정수 응답에 사용된 캐시된 토큰의 수입니다.

개체의 속성입니다 input_token_details .
+ text_tokens 정수 응답에 사용된 텍스트 토큰의 수입니다.

개체의 속성입니다 input_token_details .
+ audio_tokens 정수 응답에 사용된 오디오 토큰의 수입니다.

개체의 속성입니다 input_token_details .
+ output_token_details 개체 응답에 사용되는 출력 토큰에 대한 세부 정보입니다.

개체의 속성입니다 usage .

다음에 중첩된 속성을 참조하세요.
+ text_tokens 정수 응답에 사용된 텍스트 토큰의 수입니다.

개체의 속성입니다 output_token_details .
+ audio_tokens 정수 응답에 사용된 오디오 토큰의 수입니다.

개체의 속성입니다 output_token_details .

RealtimeResponseAudioContentPart

필드 형식 설명
type string 콘텐츠 부분의 형식입니다.

허용되는 값: audio
대본 string 오디오의 대본입니다.

이 속성은 null을 허용합니다.

RealtimeResponseBase

응답 리소스입니다.

RealtimeResponseFunctionCallItem

필드 형식 설명
type string 항목의 형식입니다.

허용되는 값: function_call
name string 함수 호출 항목의 이름입니다.
call_id string 함수 호출 항목의 ID입니다.
arguments 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

필드 형식 설명
형식 배열 세션에서 지원하는 형식입니다.

허용되는 값: text, audio

예를 들어 "modalities": ["text", "audio"] 텍스트 및 오디오 형식을 모두 사용하도록 설정하는 기본 설정입니다. 텍스트만 사용하려면 .를 설정합니다 "modalities": ["text"]. 오디오만 사용하도록 설정할 수 없습니다.
지침 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 세션에 대한 도구 선택입니다.
온도 번호 모델의 샘플링 온도입니다. 허용되는 온도 값은 [0.6, 1.2]로 제한됩니다. 기본값은 0.8입니다.
max__output_tokens 정수 또는 "inf" 도구 호출을 포함하는 도우미 응답당 최대 출력 토큰 수입니다.

출력 토큰을 제한하려면 1에서 4096 사이의 정수를 지정합니다. 그렇지 않으면 최대 토큰 수를 허용하도록 값을 "inf"로 설정합니다.

예를 들어 출력 토큰을 1000으로 제한하려면 설정합니다 "max_response_output_tokens": 1000. 최대 토큰 수를 허용하려면 .를 설정합니다 "max_response_output_tokens": "inf".

기본값은 "inf"입니다.

RealtimeResponseSession

필드 형식 설명
개체 string 세션 개체입니다.

허용되는 값: realtime.session
id string 세션의 고유 ID입니다.
model string 세션에 사용되는 모델입니다.
형식 배열 세션에서 지원하는 형식입니다.

허용되는 값: text, audio

예를 들어 "modalities": ["text", "audio"] 텍스트 및 오디오 형식을 모두 사용하도록 설정하는 기본 설정입니다. 텍스트만 사용하려면 .를 설정합니다 "modalities": ["text"]. 오디오만 사용하도록 설정할 수 없습니다.
지침 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 세션에 대한 도구 선택입니다.
온도 번호 모델의 샘플링 온도입니다. 허용되는 온도 값은 [0.6, 1.2]로 제한됩니다. 기본값은 0.8입니다.
max_response_output_tokens 정수 또는 "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

필드 형식 Description
이름 string 이 항목에 대한 정보가 포함된 속도 제한 속성 이름입니다.
limit 정수 이 속도 제한 속성에 대해 구성된 최대 제한입니다.
남음 정수 이 속도 제한 속성에 대해 구성된 제한에 대해 사용할 수 있는 나머지 할당량입니다.
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
threshold 번호 서버 VAD 턴 검색에 대한 활성화 임계값입니다. 시끄러운 환경에서는 가양성 방지를 위해 임계값을 늘려야 할 수 있습니다. 조용한 환경에서는 거짓 부정을 방지하기 위해 임계값을 줄이어야 할 수 있습니다.

기본값은 0.5입니다. 임계값을 사이의 0.0 값으로 설정할 수 있습니다 1.0.
prefix_padding_ms string 감지된 음성이 시작되기 전에 포함할 음성 오디오의 기간(밀리초)입니다.

기본값은 300입니다.
silence_duration_ms string 음성의 끝을 감지하는 무음 기간(밀리초)입니다. 가능한 한 빨리 음성의 끝을 감지하려고 하지만 연설의 마지막 부분을 차단하지 않도록 너무 빨리 하지 않으려고 합니다.

이 값을 더 낮은 숫자로 설정하면 모델이 더 빠르게 응답하지만 음성의 마지막 부분이 끊어질 수 있습니다. 이 값을 더 높은 숫자로 설정하면 모델은 음성 종료를 감지하는 데 더 오래 기다리지만 응답하는 데 시간이 더 오래 걸릴 수 있습니다.

RealtimeSessionBase

실시간 세션 개체 구성입니다.

RealtimeTool

실시간 도구 정의의 기본 표현입니다.

필드 형식 설명
type RealtimeToolType 도구의 형식입니다.

RealtimeToolChoice

실시간 tool_choice 매개 변수에 사용할 수 있는 표현 집합으로, 'auto'와 같은 문자열 리터럴 옵션과 정의된 도구에 대한 구조적 참조를 모두 포함합니다.

RealtimeToolChoiceFunctionObject

명명된 함수 도구를 선택하는 tool_choice 실시간 표현입니다.

필드 형식 설명
type string tool_choice 형식입니다.

허용되는 값: function
function 개체 선택할 함수 도구입니다.

다음에 중첩된 속성을 참조하세요.
+ 이름 string 함수 도구의 이름입니다.

개체의 속성입니다 function .

RealtimeToolChoiceLiteral

실시간 엔드포인트에 사용할 수 있는 모드 수준 문자열 리터럴 tool_choice 옵션 집합입니다.

허용되는 값:

  • auto
  • none
  • required

RealtimeToolChoiceObject

명명된 도구를 선택하는 tool_choice 실시간에 대한 기본 표현입니다.

필드 형식 설명
type RealtimeToolType tool_choice 형식입니다.

RealtimeToolType

실시간 도구에 대해 지원되는 도구 유형 판별자입니다. 현재는 'function' 도구만 지원됩니다.

허용되는 값:

  • function

RealtimeTurnDetection

필드 형식 설명
type RealtimeTurnDetectionType 턴 검색 유형입니다.

허용되는 값: server_vad

RealtimeTurnDetectionType

허용되는 값:

  • server_vad

RealtimeVoice

허용되는 값:

  • alloy
  • shimmer
  • echo