Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Справочник по API голосовой трансляции
API Голосовой трансляции предоставляет двунаправленную связь для приложений с поддержкой голоса с помощью подключений WebSocket в режиме реального времени. Этот API поддерживает расширенные функции, включая распознавание речи, синтез текста в речь, потоковую передачу аватаров, данные анимации и комплексные возможности обработки звука.
В API используются события, отформатированные в формате JSON, отправленные через подключения WebSocket для управления беседами, аудиопотоками, взаимодействием аватара и ответами в режиме реального времени. События классифицируются на события клиента (отправляемые с клиента на сервер) и события сервера (отправляемые с сервера на клиент).
Key Features
- Обработка звука в режиме реального времени: поддержка нескольких звуковых форматов, включая PCM16 с различными тарифами выборки и кодеками G.711
- Дополнительные параметры голосовой связи: голос OpenAI, пользовательские голоса Azure, стандартные голоса Azure и личные голоса Azure
- Интеграция аватара: потоковая передача аватаров на основе WebRTC с видео, анимацией и смешиваниями
- Интеллектуальное обнаружение поворотов: несколько вариантов VAD, включая семантику VAD Azure и обнаружение на стороне сервера
- Улучшение звука: встроенное снижение шума и отмена эхо
- Вызов функций: интеграция инструментов для расширенных возможностей беседы
- Гибкое управление сеансами: настраиваемые выходные модальности, инструкции и параметры ответа
Client Events
API Голосовой трансляции поддерживает следующие события клиента, которые можно отправлять с клиента на сервер:
| Event | Description |
|---|---|
| session.update | Обновление конфигурации сеанса, включая голосовую связь, выходные модальности, обнаружение поворота и другие параметры |
| session.avatar.connect | Установка подключения аватара путем предоставления клиентского SDP для согласования WebRTC |
| input_audio_buffer.append | Добавление звуковых байтов в входной звуковой буфер |
| input_audio_buffer.commit | Фиксация входного звукового буфера для обработки |
| input_audio_buffer.clear | Очистка входного звукового буфера |
| conversation.item.create | Добавление нового элемента в контекст беседы |
| conversation.item.retrieve | Получение определенного элемента из беседы |
| conversation.item.truncate | Усечение звукового сообщения помощника |
| conversation.item.delete | Удаление элемента из беседы |
| response.create | Указание серверу создать ответ с помощью вывода модели |
| response.cancel | Отмена ответа на ход выполнения |
session.update
Обновите конфигурацию сеанса. Это событие можно отправлять в любое время для изменения параметров, таких как голос, выходные модальности, обнаружение поворотов, средства и другие параметры сеанса. Обратите внимание, что после инициализации сеанса с определенной моделью его нельзя изменить на другую модель.
Event Structure
{
"type": "session.update",
"session": {
"modalities": ["text", "audio"],
"voice": {
"type": "openai",
"name": "alloy"
},
"instructions": "You are a helpful assistant. Be concise and friendly.",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "session.update". |
| session | RealtimeRequestSession | Объект конфигурации сеанса с полями для обновления |
Пример с пользовательским голосом Azure
{
"type": "session.update",
"session": {
"voice": {
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful"
},
"input_audio_noise_reduction": {
"type": "azure_deep_noise_suppression"
},
"avatar": {
"character": "lisa",
"customized": false,
"video": {
"resolution": {
"width": 1920,
"height": 1080
},
"bitrate": 2000000
}
}
}
}
session.avatar.connect
Установите подключение аватара, предоставив клиенту предложение SDP (протокол описания сеанса) для согласования мультимедиа WebRTC. Это событие необходимо при использовании функций аватара.
Event Structure
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "session.avatar.connect". |
| client_sdp | string | Предложение SDP клиента для создания подключений WebRTC, закодированное с помощью base64 |
input_audio_buffer.append
Добавьте звуковые байты в входной звуковой буфер.
Event Structure
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "input_audio_buffer.append". |
| audio | string | Звуковые данные в кодировке Base64 |
input_audio_buffer.commit
Зафиксируйте входной звуковой буфер для обработки.
Event Structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "input_audio_buffer.commit". |
input_audio_buffer.clear
Снимите входной звуковой буфер.
Event Structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "input_audio_buffer.clear". |
conversation.item.create
Добавьте новый элемент в контекст беседы. Это может включать сообщения, вызовы функций и ответы на вызовы функций. Элементы можно вставить по определенным позициям в журнале бесед.
Event Structure
{
"type": "conversation.item.create",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.create". |
| previous_item_id | string | Optional. Идентификатор элемента, после которого необходимо вставить этот элемент. Если он не указан, добавляется в конец |
| item | RealtimeConversationRequestItem | Элемент, добавляемый в беседу |
Пример с аудиоконтентом
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Пример выходных данных вызова функции
{
"type": "conversation.item.create",
"item": {
"type": "function_call_output",
"call_id": "call_123",
"output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
}
}
Пример ответа на утверждение MCP
{
"type": "conversation.item.create",
"item": {
"type": "mcp_approval_response",
"approval_request_id": "mcp_approval_req_456",
"approve": true,
}
}
conversation.item.retrieve
Извлеките определенный элемент из журнала бесед. Это полезно для проверки обработанного звука после отмены шума и VAD.
Event Structure
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.retrieve". |
| item_id | string | Идентификатор извлекаемого элемента |
conversation.item.truncate
Усечение звукового содержимого сообщения помощника. Это полезно для остановки воспроизведения в определенной точке и синхронизации понимания сервера с состоянием клиента.
Event Structure
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.truncate". |
| item_id | string | Идентификатор элемента сообщения помощника для усечения |
| content_index | integer | Индекс части содержимого для усечения |
| audio_end_ms | integer | Длительность усечения звука в миллисекундах |
conversation.item.delete
Удалите элемент из журнала бесед.
Event Structure
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.delete". |
| item_id | string | Идентификатор элемента для удаления |
response.create
Указать серверу создать ответ с помощью вывода модели. Это событие может указать конфигурацию, зависящую от ответа, которая переопределяет значения сеанса по умолчанию.
Event Structure
{
"type": "response.create",
"response": {
"modalities": ["text", "audio"],
"instructions": "Be extra helpful and detailed.",
"voice": {
"type": "openai",
"name": "alloy"
},
"output_audio_format": "pcm16",
"temperature": 0.7,
"max_response_output_tokens": 1000
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.create". |
| response | RealtimeResponseOptions | Необязательная конфигурация ответа, переопределивающая значения сеанса по умолчанию |
Пример с выбором инструмента
{
"type": "response.create",
"response": {
"modalities": ["text"],
"tools": [
{
"type": "function",
"name": "get_current_time",
"description": "Get the current time",
"parameters": {
"type": "object",
"properties": {}
}
}
],
"tool_choice": "get_current_time",
"temperature": 0.3
}
}
Пример с анимацией
{
"type": "response.create",
"response": {
"modalities": ["audio", "animation"],
"animation": {
"model_name": "default",
"outputs": ["blendshapes", "viseme_id"]
},
"voice": {
"type": "azure-custom",
"name": "my-expressive-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"style": "excited"
}
}
}
Пример с предварительно созданным сообщением помощника
В некоторых сценариях может потребоваться создать звуковой ответ для предопределенного текста вместо создания текстового ответа модели.
pre_generated_assistant_message Используйте параметр в сообщенииresponse.create. В поле можно включить только одну текстовую content запись.
{
"type": "response.create",
"response": {
"pre_generated_assistant_message": {
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "repeat what I say"
}
]
}
}
}
Когда служба получает это сообщение, он создает звуковой ответ для предопределенного текста. Сообщение также добавляется в журнал контекста беседы.
response.cancel
Отмена ответа на ход выполнения. Это немедленно останавливает создание ответов и связанные звуковые выходные данные.
Event Structure
{
"type": "response.cancel"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.cancel". |
input_audio_buffer.append
Событие клиента input_audio_buffer.append используется для добавления звуковых байтов в входной звуковой буфер. Буфер звука — это временное хранилище, в который можно записать и позже зафиксировать.
В режиме обнаружения действий голосовой связи сервера буфер звука используется для обнаружения речи, а сервер решает, когда зафиксировать. При отключении VAD сервера клиент может выбрать, сколько звука должно размещаться в каждом событии не более 15 МиБ. Например, потоковая передача небольших блоков от клиента может позволить VAD быть более адаптивным.
В отличие от большинства других событий клиента, сервер не отправляет ответ подтверждения на событие клиента input_audio_buffer.append .
Event structure
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.append. |
| audio | string | Аудиобайты в кодировке Base64. Это значение должно быть в формате, указанном input_audio_format полем в конфигурации сеанса. |
input_audio_buffer.clear
Событие клиента input_audio_buffer.clear используется для очистки звуковых байтов в буфере.
Сервер отвечает на input_audio_buffer.cleared событие.
Event structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.clear. |
input_audio_buffer.commit
Событие клиента input_audio_buffer.commit используется для фиксации входного звукового буфера пользователя, который создает новый элемент сообщения пользователя в беседе. Звук транскрибируется, если input_audio_transcription настроен для сеанса.
Если в режиме VAD сервера клиент не должен отправлять это событие, сервер автоматически фиксирует буфер звука. Без vaD сервера клиент должен зафиксировать звуковой буфер, чтобы создать элемент сообщения пользователя. Это событие клиента приводит к ошибке, если входной звуковой буфер пуст.
Фиксация входного звукового буфера не создает ответ от модели.
Сервер отвечает на input_audio_buffer.committed событие.
Event structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.commit. |
Server Events
API Voice Live отправляет следующие события сервера для обмена данными о состоянии, ответах и данных клиенту:
| Event | Description |
|---|---|
| error | Указывает, что во время обработки произошла ошибка |
| warning | Указывает, что произошло предупреждение, которое не прерывает поток беседы |
| session.created | Отправлено при успешной установке нового сеанса |
| session.updated | Отправляется при обновлении конфигурации сеанса |
| session.avatar.connecting | Указывает, что устанавливается подключение WebRTC аватара |
| conversation.item.created | Отправляется при добавлении нового элемента в беседу |
| conversation.item.retrieved | Ответ на запрос conversation.item.retrieve |
| conversation.item.truncated | Подтверждает усечение элемента |
| conversation.item.deleted | Подтверждает удаление элементов |
| conversation.item.input_audio_transcription.completed | Входной транскрибирование звука завершено |
| conversation.item.input_audio_transcription.delta | Транскрибирование входного звука потоковой передачи |
| conversation.item.input_audio_transcription.failed | Сбой входного транскрибирования звука |
| input_audio_buffer.committed | Входной звуковой буфер был для обработки |
| input_audio_buffer.cleared | Очистка входного звукового буфера |
| input_audio_buffer.speech_started | Распознавание речи в входном звуковом буфере (VAD) |
| input_audio_buffer.speech_stopped | Речь закончилась входным звуковым буфером (VAD) |
| response.created | Начало создания новых ответов |
| response.done | Создание ответов завершено |
| response.output_item.added | Новый выходной элемент, добавленный в ответ |
| response.output_item.done | Выходной элемент завершен |
| response.content_part.added | Новая часть содержимого, добавленная в выходной элемент |
| response.content_part.done | Часть содержимого завершена |
| response.text.delta | Потоковая передача текстового содержимого из модели |
| response.text.done | Текстовое содержимое завершено |
| response.audio_transcript.delta | Потоковая расшифровка звука |
| response.audio_transcript.done | Расшифровка звука завершена |
| response.audio.delta | Потоковая передача звукового содержимого из модели |
| response.audio.done | Аудиоконтент завершен |
| response.animation_blendshapes.delta | Потоковая анимация смешивает данные |
| response.animation_blendshapes.done | Данные смешивания анимации завершены |
| response.audio_timestamp.delta | Потоковая передача сведений о метке времени звука |
| response.audio_timestamp.done | Сведения о метке времени звука завершены |
| response.animation_viseme.delta | Потоковая анимация данных viseme |
| response.animation_viseme.done | Данные viseme анимации завершены |
| response.function_call_arguments.delta | Аргументы вызова функции потоковой передачи |
| response.function_call_arguments.done | Аргументы вызова функции завершены |
| mcp_list_tools.in_progress | Список инструментов MCP выполняется |
| mcp_list_tools.completed | Список инструментов MCP завершен |
| mcp_list_tools.failed | Сбой списка инструментов MCP |
| response.mcp_call_arguments.delta | Аргументы вызова потоковой передачи MCP |
| response.mcp_call_arguments.done | Аргументы вызова MCP завершены |
| response.mcp_call.in_progress | Вызов MCP выполняется |
| response.mcp_call.completed | Вызов MCP завершен |
| response.mcp_call.failed | Сбой вызова MCP |
| response.foundry_agent_call_arguments.delta | Аргументы вызова агента потоковой передачи |
| response.foundry_agent_call_arguments.done | Аргументы вызова агента Foundry завершены |
| response.foundry_agent_call.in_progress | Вызов агента Foundry выполняется |
| response.foundry_agent_call.completed | Вызов агента Foundry завершен |
| response.foundry_agent_call.failed | Сбой вызова агента Foundry |
session.created
Отправляется при успешном выполнении нового сеанса. Это первое событие, полученное после подключения к API.
Event Structure
{
"type": "session.created",
"session": {
"id": "sess_ABC123DEF456",
"object": "realtime.session",
"model": "gpt-realtime",
"modalities": ["text", "audio"],
"instructions": "You are a helpful assistant.",
"voice": {
"type": "openai",
"name": "alloy"
},
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "session.created". |
| session | RealtimeResponseSession | Созданный объект сеанса |
session.updated
Отправляется при успешном обновлении конфигурации сеанса session.update в ответ на событие клиента.
Event Structure
{
"type": "session.updated",
"session": {
"id": "sess_ABC123DEF456",
"voice": {
"type": "azure-custom",
"name": "my-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012"
},
"temperature": 0.7,
"avatar": {
"character": "lisa",
"customized": false
}
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "session.updated". |
| session | RealtimeResponseSession | Обновленный объект сеанса |
session.avatar.connecting
Указывает, что устанавливается подключение WebRTC аватара. Это событие отправляется в ответ на session.avatar.connect событие клиента.
Event Structure
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "session.avatar.connecting". |
conversation.item.created
Отправляется при добавлении нового элемента в беседу через событие клиента conversation.item.create или автоматически во время создания ответа.
Event Structure
{
"type": "conversation.item.created",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.created". |
| previous_item_id | string | Идентификатор элемента, после которого был вставлен этот элемент |
| item | RealtimeConversationResponseItem | Созданный элемент беседы |
Пример с элементом аудио
{
"type": "conversation.item.created",
"item": {
"id": "item_GHI789",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": null,
"transcript": "What's the weather like today?"
}
]
}
}
conversation.item.retrieved
Отправляется в ответ на событие клиента, предоставляя запрошенный conversation.item.retrieve элемент беседы.
Event Structure
{
"type": "conversation.item.retrieved",
"item": {
"id": "item_ABC123",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
]
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.retrieved". |
| item | RealtimeConversationResponseItem | Извлеченный элемент беседы |
conversation.item.truncated
Событие сервера conversation.item.truncated возвращается при усечении предыдущего элемента звукового сообщения помощника с событием conversation.item.truncate . Это событие используется для синхронизации понимания сервера звука с воспроизведением клиента.
Это событие усекает звук и удаляет расшифровку текста на стороне сервера, чтобы гарантировать отсутствие текста в контексте, о том, что пользователь не знает.
Event structure
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть conversation.item.truncated. |
| item_id | string | Идентификатор элемента сообщения помощника, который был усечен. |
| content_index | integer | Индекс части контента, которая была усечена. |
| audio_end_ms | integer | Длительность усечения звука в миллисекундах. |
conversation.item.deleted
Отправлено в ответ на событие клиента, подтверждающее, что указанный conversation.item.delete элемент был удален из беседы.
Event Structure
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "conversation.item.deleted". |
| item_id | string | Идентификатор удаленного элемента |
response.created
Отправляется при начале создания нового ответа. Это первое событие в последовательности откликов.
Event Structure
{
"type": "response.created",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "in_progress",
"status_details": null,
"output": [],
"usage": {
"total_tokens": 0,
"input_tokens": 0,
"output_tokens": 0
}
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.created". |
| response | RealtimeResponse | Созданный объект ответа |
response.done
Отправляется после завершения создания ответов. Это событие содержит окончательный ответ со всеми выходными элементами и статистикой использования.
Event Structure
{
"type": "response.done",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "completed",
"status_details": null,
"output": [
{
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
]
}
],
"usage": {
"total_tokens": 87,
"input_tokens": 52,
"output_tokens": 35,
"input_token_details": {
"cached_tokens": 0,
"text_tokens": 45,
"audio_tokens": 7
},
"output_token_details": {
"text_tokens": 15,
"audio_tokens": 20
}
}
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.done". |
| response | RealtimeResponse | Завершенный объект ответа |
response.output_item.added
Отправляется при добавлении нового выходного элемента в ответ во время создания.
Event Structure
{
"type": "response.output_item.added",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "in_progress",
"role": "assistant",
"content": []
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.output_item.added". |
| response_id | string | Идентификатор ответа, к которому принадлежит этот элемент |
| output_index | integer | Индекс элемента в выходном массиве ответа |
| item | RealtimeConversationResponseItem | Добавленный выходной элемент |
response.output_item.done
Отправляется после завершения выходного элемента.
Event Structure
{
"type": "response.output_item.done",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
]
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.output_item.done". |
| response_id | string | Идентификатор ответа, к которому принадлежит этот элемент |
| output_index | integer | Индекс элемента в выходном массиве ответа |
| item | RealtimeConversationResponseItem | Завершенный выходной элемент |
response.content_part.added
Событие сервера response.content_part.added возвращается при добавлении новой части содержимого в элемент сообщения помощника во время создания ответа.
Event Structure
{
"type": "response.content_part.added",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": ""
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.content_part.added". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента, к которому принадлежит эта часть содержимого |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс этой части содержимого в элементе |
| part | RealtimeContentPart | Добавленная часть содержимого |
response.content_part.done
Событие сервера response.content_part.done возвращается при выполнении потоковой передачи части содержимого в элементе сообщения помощника.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event Structure
{
"type": "response.content_part.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.content_part.done". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента, к которому принадлежит эта часть содержимого |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс этой части содержимого в элементе |
| part | RealtimeContentPart | Завершенная часть содержимого |
response.text.delta
Потоковая передача текстового содержимого из модели. Отправляется постепенно, как модель создает текст.
Event Structure
{
"type": "response.text.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.text.delta". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| delta | string | Добавочное текстовое содержимое |
response.text.done
Отправляется после завершения создания текстового содержимого.
Event Structure
{
"type": "response.text.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.text.done". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| text | string | Полное текстовое содержимое |
response.audio.delta
Потоковая передача звукового содержимого из модели. Звук предоставляется в виде данных в кодировке Base64.
Event Structure
{
"type": "response.audio.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.audio.delta". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| delta | string | Блок звуковых данных в кодировке Base64 |
response.audio.done
Отправляется после завершения создания звукового содержимого.
Event Structure
{
"type": "response.audio.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.audio.done". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
response.audio_transcript.delta
Потоковая расшифровка созданного звукового содержимого.
Event Structure
{
"type": "response.audio_transcript.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm doing"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.audio_transcript.delta". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| delta | string | Добавочный текст транскрибирования |
response.audio_transcript.done
Отправляется после завершения создания транскрибирования звука.
Event Structure
{
"type": "response.audio_transcript.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "response.audio_transcript.done". |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| transcript | string | Полный текст расшифровки |
conversation.item.input_audio_transcription.completed
Событие сервера conversation.item.input_audio_transcription.completed является результатом транскрибирования звука для речи, записанной в буфер звука.
Транскрибирование начинается, когда входной звуковой буфер фиксируется клиентом или сервером (в server_vad режиме). Транскрибирование выполняется асинхронно с созданием ответа, поэтому это событие может происходить до или после событий отклика.
Модели API реального времени принимают аудио напрямую, поэтому транскрибирование входных данных — это отдельный процесс, выполняемый на другой модели распознавания речи, такой как whisper-1. Таким образом, расшифровка может несколько отличаться от интерпретации модели и должна рассматриваться как грубое руководство.
Event structure
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть conversation.item.input_audio_transcription.completed. |
| item_id | string | Идентификатор элемента сообщения пользователя, содержащего звук. |
| content_index | integer | Индекс части содержимого, содержащей звук. |
| transcript | string | Транскрибированные тексты. |
conversation.item.input_audio_transcription.delta
Событие сервера conversation.item.input_audio_transcription.delta возвращается при настройке входного транскрибирования звука, а запрос транскрибирования для сообщения пользователя выполняется. Это событие предоставляет частичные результаты транскрибирования по мере их доступности.
Event structure
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть conversation.item.input_audio_transcription.delta. |
| item_id | string | Идентификатор элемента сообщения пользователя. |
| content_index | integer | Индекс части содержимого, содержащей звук. |
| delta | string | Добавочный текст транскрибирования. |
conversation.item.input_audio_transcription.failed
Событие сервера conversation.item.input_audio_transcription.failed возвращается при настройке входного транскрибирования звука, а запрос транскрибирования для сообщения пользователя завершился ошибкой. Это событие отличается от других error событий, чтобы клиент смог идентифицировать связанный элемент.
Event structure
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть conversation.item.input_audio_transcription.failed. |
| item_id | string | Идентификатор элемента сообщения пользователя. |
| content_index | integer | Индекс части содержимого, содержащей звук. |
| error | object | Сведения об ошибке транскрибирования. См. вложенные свойства в следующей таблице. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип ошибки. |
| code | string | Код ошибки, если таковой есть. |
| message | string | Сообщение об ошибке, доступное для чтения человеком. |
| param | string | Параметр, связанный с ошибкой, если таковой есть. |
response.animation_blendshapes.delta
Событие сервера response.animation_blendshapes.delta возвращается, когда модель создает данные анимации смешения данных в ответе. Это событие предоставляет добавочные данные blendshapes по мере его доступности.
Event structure
{
"type": "response.animation_blendshapes.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"frame_index": 0,
"frames": [
[0.0, 0.1, 0.2, ..., 1.0]
...
]
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.animation_blendshapes.delta. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| frame_index | integer | Индекс первого кадра в этом пакете кадров |
| frames | массив массива с плавающей запятой | Массив кадров blendshape, каждый кадр является массивом значений blendshape |
response.animation_blendshapes.done
Событие сервера response.animation_blendshapes.done возвращается, когда модель завершит создание анимации смешает данные в ответе.
Event structure
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.animation_blendshapes.done. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
response.audio_timestamp.delta
Событие сервера response.audio_timestamp.delta возвращается, когда модель создает данные метки времени звука в рамках ответа. Это событие предоставляет добавочные данные метки времени для выравнивания выходного звука и текста по мере его доступности.
Event structure
{
"type": "response.audio_timestamp.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"audio_duration_ms": 500,
"text": "Hello",
"timestamp_type": "word"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio_timestamp.delta. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| audio_offset_ms | integer | Смещение звука в миллисекундах с начала звука |
| audio_duration_ms | integer | Длительность сегмента звука в миллисекундах |
| text | string | Сегмент текста, соответствующий этой метке времени звука |
| timestamp_type | string | Тип метки времени, в настоящее время поддерживается только "word" |
response.audio_timestamp.done
Отправляется после завершения создания метки времени звука.
Event Structure
{
"type": "response.audio_timestamp.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio_timestamp.done. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
response.animation_viseme.delta
Событие сервера response.animation_viseme.delta возвращается при создании данных анимации viseme в ответе. Это событие предоставляет добавочные данные viseme по мере его доступности.
Event Structure
{
"type": "response.animation_viseme.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"viseme_id": 1
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.animation_viseme.delta. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
| audio_offset_ms | integer | Смещение звука в миллисекундах с начала звука |
| viseme_id | integer | Идентификатор viseme, соответствующий фигуре рта для анимации |
response.animation_viseme.done
Событие сервера response.animation_viseme.done возвращается, когда модель завершит создание данных viseme анимации в ответе.
Event Structure
{
"type": "response.animation_viseme.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.animation_viseme.done. |
| response_id | string | Идентификатор ответа |
| item_id | string | Идентификатор элемента |
| output_index | integer | Индекс элемента в ответе |
| content_index | integer | Индекс части содержимого |
error
Событие сервера error возвращается при возникновении ошибки, которая может быть проблемой клиента или проблемой сервера. Большинство ошибок можно восстановить, и сеанс остается открытым.
Event structure
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть error. |
| error | object | Сведения об ошибке. См. вложенные свойства в следующей таблице. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип ошибки. Например, "invalid_request_error" и "server_error" являются типами ошибок. |
| code | string | Код ошибки, если таковой есть. |
| message | string | Сообщение об ошибке, доступное для чтения человеком. |
| param | string | Параметр, связанный с ошибкой, если таковой есть. |
| event_id | string | Идентификатор события клиента, вызвавшего ошибку, если применимо. |
warning
Событие сервера warning возвращается при возникновении предупреждения, которое не прерывает поток беседы. Предупреждения являются информационными, и сеанс продолжается нормально.
Event structure
{
"type": "warning",
"warning": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть warning. |
| warning | object | Сведения о предупреждении. См. вложенные свойства в следующей таблице. |
Warning properties
| Field | Type | Description |
|---|---|---|
| message | string | Предупреждение, доступное для чтения человеком. |
| code | string | Optional. Код предупреждения, если таковой есть. |
| param | string | Optional. Параметр, связанный с предупреждением, если он есть. |
input_audio_buffer.cleared
Событие сервера input_audio_buffer.cleared возвращается, когда клиент очищает входной звуковой буфер с событием input_audio_buffer.clear .
Event structure
{
"type": "input_audio_buffer.cleared"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.cleared. |
input_audio_buffer.committed
Событие сервера input_audio_buffer.committed возвращается, когда входной звуковой буфер фиксируется клиентом или автоматически в режиме VAD сервера. Это item_id свойство является идентификатором созданного элемента пользовательского сообщения. Таким образом, conversation.item.created событие также отправляется клиенту.
Event structure
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.committed. |
| previous_item_id | string | Идентификатор предыдущего элемента, после которого вставляется новый элемент. |
| item_id | string | Идентификатор созданного элемента сообщения пользователя. |
input_audio_buffer.speech_started
Событие сервера input_audio_buffer.speech_started возвращается в server_vad режиме, когда речь обнаруживается в звуковом буфере. Это событие может произойти при добавлении звука в буфер (если речь еще не обнаружена).
Note
Клиент может использовать это событие для прерывания воспроизведения звука или предоставления визуального отзыва пользователю.
Клиент должен ожидать получения события при остановке input_audio_buffer.speech_stopped речи. Это item_id свойство является идентификатором элемента сообщения пользователя, созданного при остановке речи. Он item_id также включен в input_audio_buffer.speech_stopped событие, если клиент вручную не фиксирует звуковой буфер во время активации VAD.
Event structure
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.speech_started. |
| audio_start_ms | integer | Миллисекунда с начала всех аудиозаписей, записанных в буфер во время сеанса при первом обнаружении речи. Это свойство соответствует началу аудио, отправленного в модель, и, следовательно, включает prefix_padding_ms настроенный в сеансе. |
| item_id | string | Идентификатор элемента сообщения пользователя, созданного при остановке речи. |
input_audio_buffer.speech_stopped
Событие сервера input_audio_buffer.speech_stopped возвращается в server_vad режиме, когда сервер обнаруживает конец речи в звуковом буфере.
Сервер также отправляет conversation.item.created событие с элементом сообщения пользователя, созданным из звукового буфера.
Event structure
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть input_audio_buffer.speech_stopped. |
| audio_end_ms | integer | Миллисекунда с момента начала сеанса при остановке речи. Это свойство соответствует концу звука, отправляемого в модель, и, следовательно, включает min_silence_duration_ms настроенный в сеансе. |
| item_id | string | Идентификатор созданного элемента сообщения пользователя. |
rate_limits.updated
Событие сервера rate_limits.updated создается в начале ответа, чтобы указать обновленные ограничения скорости.
При создании ответа некоторые маркеры зарезервированы для выходных маркеров. Ограничения скорости, отображаемые здесь, отражают это резервирование, которое затем корректируется соответствующим образом после завершения ответа.
Event structure
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть rate_limits.updated. |
| rate_limits | массив RealtimeRateLimitsItem | Список сведений об ограничении скорости. |
response.audio.delta
Событие сервера response.audio.delta возвращается при обновлении звука, созданного моделью.
Event structure
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
| delta | string | Разностные звуковые данные в кодировке Base64. |
response.audio.done
Событие сервера response.audio.done возвращается при завершении звука, созданного моделью.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event structure
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
response.audio_transcript.delta
Событие сервера response.audio_transcript.delta возвращается при обновлении транскрибирования звука, созданного моделью.
Event structure
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio_transcript.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
| delta | string | Разностная расшифровка. |
response.audio_transcript.done
Событие сервера response.audio_transcript.done возвращается при выполнении потоковой передачи данных, созданной моделью.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event structure
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.audio_transcript.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
| transcript | string | Окончательный расшифровка звука. |
response.function_call_arguments.delta
Событие сервера response.function_call_arguments.delta возвращается при обновлении аргументов вызова функции, созданных моделью.
Event structure
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.function_call_arguments.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова функции. |
| output_index | integer | Индекс выходного элемента в ответе. |
| call_id | string | Идентификатор вызова функции. |
| delta | string | Аргументы разностно в виде строки JSON. |
response.function_call_arguments.done
Событие сервера response.function_call_arguments.done возвращается, когда аргументы вызова функции, созданные моделью, выполняют потоковую передачу.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event structure
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.function_call_arguments.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова функции. |
| output_index | integer | Индекс выходного элемента в ответе. |
| call_id | string | Идентификатор вызова функции. |
| arguments | string | Окончательные аргументы в виде строки JSON. |
mcp_list_tools.in_progress
Событие сервера mcp_list_tools.in_progress возвращается при запуске службы перечисления доступных средств с сервера MCP.
Event structure
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть mcp_list_tools.in_progress. |
| item_id | string | Идентификатор обрабатываемого элемента средств списка MCP . |
mcp_list_tools.completed
Событие сервера mcp_list_tools.completed возвращается, когда служба завершает перечисление доступных средств с сервера MCP.
Event structure
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть mcp_list_tools.completed. |
| item_id | string | Идентификатор обрабатываемого элемента средств списка MCP . |
mcp_list_tools.failed
Событие сервера mcp_list_tools.failed возвращается, когда служба не может перечислить доступные средства с сервера MCP.
Event structure
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть mcp_list_tools.failed. |
| item_id | string | Идентификатор обрабатываемого элемента средств списка MCP . |
response.mcp_call_arguments.delta
Событие сервера response.mcp_call_arguments.delta возвращается при обновлении аргументов вызова средства MCP, созданного моделью.
Event structure
{
"type": "response.mcp_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.mcp_call_arguments.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова средства MCP. |
| output_index | integer | Индекс выходного элемента в ответе. |
| delta | string | Аргументы разностно в виде строки JSON. |
response.mcp_call_arguments.done
Событие сервера response.mcp_call_arguments.done возвращается при выполнении потоковой передачи аргументов вызова средства MCP, созданного моделью.
Event structure
{
"type": "response.mcp_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.mcp_call_arguments.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова средства MCP. |
| output_index | integer | Индекс выходного элемента в ответе. |
| arguments | string | Окончательные аргументы в виде строки JSON. |
response.mcp_call.in_progress
Событие сервера response.mcp_call.in_progress возвращается при запуске обработки вызова средства MCP.
Event structure
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.mcp_call.in_progress. |
| item_id | string | Идентификатор элемента вызова средства MCP. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.mcp_call.completed
Событие сервера response.mcp_call.completed возвращается при успешном завершении вызова средства MCP.
Event structure
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.mcp_call.completed. |
| item_id | string | Идентификатор элемента вызова средства MCP. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.mcp_call.failed
Событие сервера response.mcp_call.failed возвращается при сбое вызова средства MCP.
Event structure
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.mcp_call.failed. |
| item_id | string | Идентификатор элемента вызова средства MCP. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.foundry_agent_call_arguments.delta
Событие сервера response.foundry_agent_call_arguments.delta возвращается при обновлении аргументов вызова агента, созданного моделью.
Event structure
{
"type": "response.foundry_agent_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.foundry_agent_call_arguments.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова агента литейной службы. |
| output_index | integer | Индекс выходного элемента в ответе. |
| delta | string | Аргументы разностно в виде строки JSON. |
response.foundry_agent_call_arguments.done
Событие сервера response.foundry_agent_call_arguments.done возвращается при выполнении потоковой передачи аргументов вызова агента, созданного моделью.
Event structure
{
"type": "response.foundry_agent_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.foundry_agent_call_arguments.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента вызова агента литейной службы. |
| output_index | integer | Индекс выходного элемента в ответе. |
| arguments | string | Окончательные аргументы в виде строки JSON. |
response.foundry_agent_call.in_progress
Событие сервера response.foundry_agent_call.in_progress возвращается при запуске обработки вызова агента foundry.
Event structure
{
"type": "response.foundry_agent_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.foundry_agent_call.in_progress. |
| item_id | string | Идентификатор элемента вызова агента литейной службы. |
| agent_response_id | string | Идентификатор ответа от агента литейной службы. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.foundry_agent_call.completed
Событие сервера response.foundry_agent_call.completed возвращается при успешном выполнении вызова агента foundry.
Event structure
{
"type": "response.foundry_agent_call.completed",
"item_id": "<item_id>",
"agent_response_id": "<agent_response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.foundry_agent_call.completed. |
| item_id | string | Идентификатор элемента вызова агента литейной службы. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.foundry_agent_call.failed
Событие сервера response.foundry_agent_call.failed возвращается при сбое вызова агента foundry.
Event structure
{
"type": "response.foundry_agent_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.foundry_agent_call.failed. |
| item_id | string | Идентификатор элемента вызова агента литейной службы. |
| output_index | integer | Индекс выходного элемента в ответе. |
response.output_item.added
Событие сервера response.output_item.added возвращается при создании нового элемента во время создания ответа.
Event structure
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.output_item.added. |
| response_id | string | Идентификатор ответа, к которому принадлежит элемент. |
| output_index | integer | Индекс выходного элемента в ответе. |
| item | RealtimeConversationResponseItem | Добавлен элемент. |
response.output_item.done
Событие сервера response.output_item.done возвращается при выполнении потоковой передачи элемента.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event structure
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.output_item.done. |
| response_id | string | Идентификатор ответа, к которому принадлежит элемент. |
| output_index | integer | Индекс выходного элемента в ответе. |
| item | RealtimeConversationResponseItem | Элемент, который выполняет потоковую передачу. |
response.text.delta
Событие сервера response.text.delta возвращается при обновлении текста, созданного моделью. Текст соответствует text части содержимого элемента сообщения помощника.
Event structure
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.text.delta. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
| delta | string | Разностный текст. |
response.text.done
Событие сервера response.text.done возвращается при выполнении потоковой передачи созданного моделью текста. Текст соответствует text части содержимого элемента сообщения помощника.
Это событие также возвращается при прерывании, неполном или отмене ответа.
Event structure
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Тип события должен быть response.text.done. |
| response_id | string | Идентификатор ответа. |
| item_id | string | Идентификатор элемента. |
| output_index | integer | Индекс выходного элемента в ответе. |
| content_index | integer | Индекс части содержимого в массиве содержимого элемента. |
| text | string | Окончательное текстовое содержимое. |
Components
Audio Formats
RealtimeAudioFormat
Базовый формат звука, используемый для входного звука.
Allowed Values:
-
pcm16— 16-разрядный формат звука PCM -
g711_ulaw- Формат звука μ-права G.711 -
g711_alaw— Аудиоформат G.711 A-law
RealtimeOutputAudioFormat
Формат звука, используемый для вывода звука с определенными скоростями выборки.
Allowed Values:
-
pcm16— 16-разрядный звуковой формат PCM по умолчанию (24 кГц) -
pcm16_8000hz— 16-разрядный аудиоформат PCM с частотой выборки 8 кГц -
pcm16_16000hz— 16-разрядный аудиоформат PCM с частотой выборки 16 кГц -
g711_ulaw- Аудиоформат G.711 μ (mu-law) в частоте выборки 8 кГц -
g711_alaw— Аудиоформат G.711 A-law с частотой выборки 8 кГц
RealtimeAudioInputTranscriptionSettings
Конфигурация входного транскрибирования звука.
| Field | Type | Description |
|---|---|---|
| model | string | Модель транскрибирования. Поддерживается и gpt-realtimegpt-realtime-mini:whisper-1, , gpt-4o-transcribegpt-4o-mini-transcribegpt-4o-transcribe-diarize.Поддерживается всеми другими моделями и агентами: azure-speech |
| language | string | Необязательный код языка в BCP-47 (например, en-US) или ISO-639-1 (например, en) или нескольких языках с автоматическим обнаружением (например, en,zh).Сведения о рекомендуемом использовании этого параметра см. в статье "Речь Azure на текстовые поддерживаемые языки ". |
| custom_speech | object | Необязательная конфигурация для пользовательских моделей речи, допустимая только для azure-speech модели. |
| phrase_list | string[] | Необязательный список подсказок фраз для распознавания предвзятости, допустимый только для azure-speech модели. |
| prompt | string | Необязательный текст запроса для указания транскрибирования, допустимый только для whisper-1моделейgpt-4o-transcribegpt-4o-mini-transcribe, а также gpt-4o-transcribe-diarize для моделей. |
RealtimeInputAudioNoiseReductionSettings
Это может быть:
RealtimeOpenAINoiseReduction
Конфигурация уменьшения шума OpenAI с явным полем типа, доступной только для gpt-realtime моделей и gpt-realtime-mini моделей.
| Field | Type | Description |
|---|---|---|
| type | string |
near_field или far_field |
RealtimeAzureDeepNoiseSuppression
Настройка для уменьшения шума входного звука.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure_deep_noise_suppression". |
RealtimeInputAudioEchoCancellationSettings
Конфигурация отмены эхо для обработки звука на стороне сервера.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "server_echo_cancellation". |
Voice Configuration
RealtimeVoice
Объединение всех поддерживаемых конфигураций голосовой связи.
Это может быть:
- Объект RealtimeOpenAIVoice
- Объект RealtimeAzureVoice
RealtimeOpenAIVoice
Конфигурация голосовой связи OpenAI с явным полем типа.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "openai". |
| name | string | Имя голоса OpenAI: alloy, ashballadcoralechosageshimmer, , versemarincedar |
RealtimeAzureVoice
База конфигураций голосовой связи Azure. Это дискриминируемое объединение с различными типами:
RealtimeAzureStandardVoice
Стандартная конфигурация голосовой связи Azure.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure-standard". |
| name | string | Имя голоса (не может быть пустым) |
| temperature | number | Optional. Температура между 0,0 и 1,0 |
| custom_lexicon_url | string | Optional. URL-адрес пользовательской лексики |
| custom_text_normalization_url | string | Optional. URL-адрес для нормализации пользовательского текста |
| prefer_locales | string[] | Optional. Preferred locales Предпочитать языковые стандарта изменять акценты языков. Если значение не задано, TTS использует акцент по умолчанию для каждого языка. Например, когда TTS говорит на английском языке, он использует американский английский акцент. И при разговоре на испанском языке он использует мексиканский испанский акцент. Если задать prefer_locales ["en-GB", "es-ES"], английский акцент является британским английским и испанским акцентом является европейский испанский. И TTS также может говорить на других языках, таких как французский, китайский и т. д. |
| locale | string | Optional. Locale specification Принудительное применение языкового стандарта для выходных данных TTS. Если не задано, TTS всегда использует заданный языковой стандарт для разговора. Например, для параметра языкового en-USстандарта TTS всегда используется акцент на английском языке, чтобы говорить о текстовом содержимом, даже текст находится на другом языке. И TTS будет выводить молчание, если текстовое содержимое находится на китайском языке. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Корректировка скорости речи |
| volume | string | Optional. Volume adjustment |
RealtimeAzureCustomVoice
Настраиваемая конфигурация голосовой связи Azure (предпочтительна для пользовательских голосов).
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure-custom". |
| name | string | Имя голоса (не может быть пустым) |
| endpoint_id | string | Идентификатор конечной точки (не может быть пустым) |
| temperature | number | Optional. Температура между 0,0 и 1,0 |
| custom_lexicon_url | string | Optional. URL-адрес пользовательской лексики |
| custom_text_normalization_url | string | Optional. URL-адрес для нормализации пользовательского текста |
| prefer_locales | string[] | Optional. Preferred locales Предпочитать языковые стандарта изменять акценты языков. Если значение не задано, TTS использует акцент по умолчанию для каждого языка. Например, когда TTS говорит на английском языке, он использует американский английский акцент. И при разговоре на испанском языке он использует мексиканский испанский акцент. Если задать prefer_locales ["en-GB", "es-ES"], английский акцент является британским английским и испанским акцентом является европейский испанский. И TTS также может говорить на других языках, таких как французский, китайский и т. д. |
| locale | string | Optional. Locale specification Принудительное применение языкового стандарта для выходных данных TTS. Если не задано, TTS всегда использует заданный языковой стандарт для разговора. Например, для параметра языкового en-USстандарта TTS всегда используется акцент на английском языке, чтобы говорить о текстовом содержимом, даже текст находится на другом языке. И TTS будет выводить молчание, если текстовое содержимое находится на китайском языке. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Корректировка скорости речи |
| volume | string | Optional. Volume adjustment |
Example:
{
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful",
"locale": "en-US"
}
RealtimeAzurePersonalVoice
Конфигурация личного голоса Azure.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure-personal". |
| name | string | Имя голоса (не может быть пустым) |
| temperature | number | Optional. Температура между 0,0 и 1,0 |
| model | string | Базовая модель: DragonLatestNeural, DragonHDOmniLatestNeuralMAI-Voice-1 |
| custom_lexicon_url | string | Optional. URL-адрес пользовательской лексики |
| custom_text_normalization_url | string | Optional. URL-адрес для нормализации пользовательского текста |
| prefer_locales | string[] | Optional. Preferred locales Предпочитать языковые стандарта изменять акценты языков. Если значение не задано, TTS использует акцент по умолчанию для каждого языка. Например, когда TTS говорит на английском языке, он использует американский английский акцент. И при разговоре на испанском языке он использует мексиканский испанский акцент. Если задать prefer_locales ["en-GB", "es-ES"], английский акцент является британским английским и испанским акцентом является европейский испанский. И TTS также может говорить на других языках, таких как французский, китайский и т. д. |
| locale | string | Optional. Locale specification Принудительное применение языкового стандарта для выходных данных TTS. Если не задано, TTS всегда использует заданный языковой стандарт для разговора. Например, для параметра языкового en-USстандарта TTS всегда используется акцент на английском языке, чтобы говорить о текстовом содержимом, даже текст находится на другом языке. И TTS будет выводить молчание, если текстовое содержимое находится на китайском языке. |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Корректировка скорости речи |
| volume | string | Optional. Volume adjustment |
Turn Detection
RealtimeTurnDetection
Конфигурация для обнаружения поворотов. Это дискриминированный союз, поддерживающий несколько типов VAD.
RealtimeServerVAD
Базовое обнаружение поворота на основе VAD.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "server_vad". |
| threshold | float | Optional. Порог активации (0.0-1.0) (по умолчанию: 0.5) |
| prefix_padding_ms | integer | Optional. Звуковое заполнение перед началом работы речи (по умолчанию: 300) |
| silence_duration_ms | integer | Optional. Длительность молчания для обнаружения конца речи (по умолчанию: 500) |
| speech_duration_ms | integer | Optional. Минимальная длительность речи (по умолчанию: 200) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Конфигурация обнаружения речевых фрагментов |
| create_response | boolean | Optional. Включите или отключите, создается ли ответ (по умолчанию: true). |
| interrupt_response | boolean | Optional. Включение или отключение прерывания баржи (по умолчанию: true). |
| auto_truncate | boolean | Optional. Автоматическое усечение при прерывании (по умолчанию: false) |
RealtimeOpenAISemanticVAD
Семантическая конфигурация VAD OpenAI, которая использует модель для определения завершения речи пользователя. Доступно только для gpt-realtime моделей и gpt-realtime-mini моделей.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "semantic_vad". |
| eagerness | string | Optional. Это способ управления тем, как модель стремится прервать пользователя, настроить максимальное время ожидания. В режиме транскрибирования, даже если модель не отвечает, это влияет на то, как звук разделяется на части. Допустимы следующие значения: - auto (по умолчанию) эквивалентно medium,- low позволяет пользователю занимать свое время, чтобы говорить,- high разобьёт аудио на части как можно скорее.Если вы хотите, чтобы модель более часто реагировала в режиме беседы или быстрее возвращала события транскрибирования в режиме транскрибирования, можно задать степень готовности на high.С другой стороны, если вы хотите разрешить пользователю говорить без прерываний в режиме общения или если вам нужны более крупные фрагменты стенограммы в режиме транскрибирования, можно задать степень готовности low. |
| create_response | boolean | Optional. Включите или отключите, создается ли ответ (по умолчанию: true). |
| interrupt_response | boolean | Optional. Включение или отключение прерывания баржи (по умолчанию: true). |
RealtimeAzureSemanticVAD
Семантическая vaD Azure, которая определяет, когда пользователь начинает и говорит с помощью семантической модели речи, обеспечивая более надежное обнаружение в шумных средах.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure_semantic_vad". |
| threshold | float | Optional. Порог активации (по умолчанию: 0.5) |
| prefix_padding_ms | integer | Optional. Аудиозаполнения перед речью (по умолчанию: 300) |
| silence_duration_ms | integer | Optional. Длительность молчания для конца речи (по умолчанию: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Конфигурация обнаружения EOU |
| speech_duration_ms | integer | Optional. Минимальная длительность речи (по умолчанию: 80) |
| remove_filler_words | boolean | Optional. Удаление слов заливки (по умолчанию: false) |
| languages | string[] | Optional. Supports English. Другие языки игнорируются (по умолчанию: нет). |
| create_response | boolean | Optional. Включите или отключите, создается ли ответ (по умолчанию: true). |
| interrupt_response | boolean | Optional. Включение или отключение прерывания баржи (по умолчанию: true). |
| auto_truncate | boolean | Optional. Автоматическое усечение при прерывании (по умолчанию: false) |
RealtimeAzureSemanticVADMultilingual
Семантическое VAD Azure (вариант по умолчанию).
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "azure_semantic_vad_multilingual". |
| threshold | float | Optional. Порог активации (по умолчанию: 0.5) |
| prefix_padding_ms | integer | Optional. Аудиозаполнения перед речью (по умолчанию: 300) |
| silence_duration_ms | integer | Optional. Длительность молчания для конца речи (по умолчанию: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Конфигурация обнаружения EOU |
| speech_duration_ms | integer | Optional. Минимальная длительность речи (по умолчанию: 80) |
| remove_filler_words | boolean | Optional. Удаление слов заливки (по умолчанию: false) |
| languages | string[] | Optional. Поддерживает английский, испанский, французский, итальянский, немецкий (DE), японский, португальский, китайский, корейский, хинди. Другие языки игнорируются (по умолчанию: нет). |
| create_response | boolean | Optional. Включите или отключите, создается ли ответ (по умолчанию: true). |
| interrupt_response | boolean | Optional. Включение или отключение прерывания баржи (по умолчанию: true). |
| auto_truncate | boolean | Optional. Автоматическое усечение при прерывании (по умолчанию: false) |
RealtimeEOUDetection
Конечное высказывание Azure (EOU) может указывать, когда конечный пользователь перестал говорить, позволяя естественным паузам. Обнаружение конца высказывания может значительно сократить преждевременные сигналы конца реплики, не добавляя заметной задержки.
| Field | Type | Description |
|---|---|---|
| model | string | Может поддерживать semantic_detection_v1 английский или semantic_detection_v1_multilingual вспомогательный английский, испанский, французский, итальянский, немецкий (DE), японский, португальский, китайский, корейский, хинди |
| threshold_level | string | Optional. Уровень порогового low значения обнаружения (medium, highdefault иmedium) по умолчанию равен параметру. При более низком параметре вероятность завершения предложения будет выше. |
| timeout_ms | number | Optional. Максимальное время в миллисекундах, чтобы ожидать больше речи пользователя. По умолчанию — 1000 мс. |
Avatar Configuration
RealtimeAvatarConfig
Настройка потоковой передачи аватара и поведения.
| Field | Type | Description |
|---|---|---|
| type | string | Optional. Avatar type. Допустимые значения: video-avatar, photo-avatar. Значение по умолчанию: video-avatar. |
| ice_servers | RealtimeIceServer[] | Optional. СЕРВЕРы ICE для WebRTC |
| character | string | Имя символа или идентификатор аватара |
| style | string | Optional. Стиль аватара (эмоциональный тон, стиль речи) |
| customized | boolean | Настраивается ли аватар |
| model | string | Optional. Имя базовой модели для аватара фотографии, обязательное, если тип имеет photo-avatarзначение, допустимое значение vasa-1 |
| video | RealtimeVideoParams | Optional. Video configuration |
| scene | RealtimeAvatarScene | Optional. Настройка уровня масштабирования аватара, положения, поворота и амплитуды перемещения в видеокадре |
| output_protocol | string | Optional. Протокол вывода для трансляции аватаров. Допустимые значения: websocket и webrtc. Значение по умолчанию: webrtc. |
| output_audit_audio | boolean | Optional. При включении перенаправляет звук аудита через WebSocket для просмотра и отладки, даже если выходные данные аватара доставляются через WebRTC. Значение по умолчанию: false. |
RealtimeIceServer
Конфигурация сервера ICE для согласования подключений WebRTC.
| Field | Type | Description |
|---|---|---|
| urls | string[] | URL-адреса сервера ICE (конечные точки TURN или STUN) |
| username | string | Optional. Имя пользователя для проверки подлинности |
| credential | string | Optional. Учетные данные для проверки подлинности |
RealtimeVideoParams
Параметры потоковой передачи видео для аватара.
| Field | Type | Description |
|---|---|---|
| bitrate | integer | Optional. Скорость в битах в секунду (по умолчанию: 2000000) |
| codec | string | Optional. Видеокодек, в настоящее время только h264 (по умолчанию: h264) |
| crop | RealtimeVideoCrop | Optional. Cropping settings |
| resolution | RealtimeVideoResolution | Optional. Resolution settings |
| background | RealtimeVideoBackground | Optional. Background settings |
| gop_size | integer | Optional. Размер рисунков (по умолчанию: 10, диапазон: 1–2000) |
RealtimeVideoCrop
Определение прямоугольника обрезки видео.
| Field | Type | Description |
|---|---|---|
| top_left | integer[] | Верхний левый угол [x, y], неотрицательных целых чисел |
| bottom_right | integer[] | Нижний правый угол [x, y], неотрицательных целых чисел |
RealtimeVideoResolution
Спецификация разрешения видео.
| Field | Type | Description |
|---|---|---|
| width | integer | Ширина в пикселях (должна быть > 0) |
| height | integer | Высота в пикселях (должна быть > 0) |
RealtimeVideoBackground
Конфигурация фона видео. Можно задать только один или image_urlcolor один из них.
| Field | Type | Description |
|---|---|---|
| image_url | string | Optional. URL-адрес фонового изображения |
| color | string | Optional. Значение цвета фона |
RealtimeAvatarScene
Настройка уровня масштабирования аватара, положения, поворота и амплитуды перемещения в видеокадре.
| Field | Type | Description |
|---|---|---|
| zoom | number | Optional. Масштаб аватара. Диапазон — (0, +∞). Значения меньше 1 уменьшения масштаба, значения больше 1 масштаба. Значение по умолчанию — 0 |
| position_x | number | Optional. Горизонтальное положение аватара. Диапазон равен [-1, 1], как доля ширины кадра. Отрицательные значения перемещаются влево, положительные значения перемещаются вправо. Значение по умолчанию — 0 |
| position_y | number | Optional. Вертикальное положение аватара. Диапазон равен [-1, 1], как доля высоты кадра. Отрицательные значения перемещаются вверх, положительные значения перемещаются вниз. Значение по умолчанию — 0 |
| rotation_x | number | Optional. Поворот вокруг оси X (шаг). Диапазон равен [-π, π] в радианах. Отрицательные значения поворачиваются вверх, положительные значения поворачиваются вниз. Значение по умолчанию — 0 |
| rotation_y | number | Optional. Поворот вокруг оси Y (yaw). Диапазон равен [-π, π] в радианах. Отрицательные значения поворачиваются влево, положительные значения поворачиваются вправо. Значение по умолчанию — 0 |
| rotation_z | number | Optional. Поворот вокруг оси Z (roll). Диапазон равен [-π, π] в радианах. Отрицательные значения вращаются по часовой стрелке, положительные значения вращаются по часовой стрелке. Значение по умолчанию — 0 |
| amplitude | number | Optional. Амплитуды движения аватара. Диапазон — (0, 1]. Значения в значении (0, 1) с уменьшенной амплитудой, 1 означает полную амплитуду. Значение по умолчанию — 0 |
Animation Configuration
RealtimeAnimation
Конфигурация выходных данных анимации, включая смешивания и виземы.
| Field | Type | Description |
|---|---|---|
| model_name | string | Optional. Имя модели анимации (по умолчанию: "default") |
| outputs | RealtimeAnimationOutputType[] | Optional. Типы выходных данных (по умолчанию: ["blendshapes"]) |
RealtimeAnimationOutputType
Типы данных анимации для вывода.
Allowed Values:
-
blendshapes— данные о смешиваниях лиц -
viseme_id— Данные идентификатора Viseme
Session Configuration
RealtimeRequestSession
Объект конфигурации сеанса, используемый в session.update событиях.
| Field | Type | Description |
|---|---|---|
| model | string | Optional. Имя модели для использования |
| modalities | RealtimeModality[] | Optional. Поддерживаемые выходные модальности для сеанса. Например, "модальности": ["text", "audio"] — это параметр по умолчанию, который включает как текстовые, так и звуковые модалы вывода. Чтобы включить только текстовые выходные данные, задайте "модальности": ["text"]. Чтобы включить выходные данные аватара, задайте "модальности": ["text", "audio", "аватар"]. Вы не можете включить только звук. |
| animation | RealtimeAnimation | Optional. Animation configuration |
| voice | RealtimeVoice | Optional. Voice configuration |
| instructions | string | Optional. Системные инструкции для модели. Инструкции могут руководствоваться выходным звуком, если используются голоса OpenAI, но могут не применяться к голосам Azure. |
| input_audio_sampling_rate | integer | Optional. Частота выборки входных аудио в Гц (по умолчанию: 24000 для pcm16, 8000 для g711_ulaw и g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Формат входного звука (по умолчанию: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Формат выходного звука (по умолчанию: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Настройка для уменьшения шума входного звука. Для отключения этого параметра может быть задано значение NULL. Фильтры для уменьшения шума обрабатывают звук, добавленный во входной звуковой буфер перед отправкой в VAD и модель. Фильтрация звука может повысить точность обнаружения VAD и поворота (уменьшая ложные срабатывания) и производительность модели, повышая восприятие входного звука. Это свойство допускает значение NULL. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Настройка для отмены эхо-звука ввода. Для отключения этого параметра может быть задано значение NULL. Эта отслужебная отмена эхо-сигнала может помочь улучшить качество входного звука, уменьшая влияние эхо-и реверберации. Это свойство допускает значение NULL. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Конфигурация входного транскрибирования звука. Конфигурация имеет значение NULL (off) по умолчанию. Транскрибирование входного звука не является собственным для модели, так как модель использует звук напрямую. Транскрибирование выполняется асинхронно через /audio/transcriptions конечную точку и должно рассматриваться как рекомендация по входному аудиосодержимому, а не как точное воспроизведение того, что слышала модель. Для получения дополнительных рекомендаций для службы транскрибирования клиент может при необходимости задать язык и запрашивать транскрибирование.Это свойство допускает значение NULL. |
| turn_detection | RealtimeTurnDetection | Параметры обнаружения поворота для сеанса. Для отключения этого параметра может быть задано значение NULL. |
| tools | массив RealtimeTool | Средства, доступные модели для сеанса. |
| tool_choice | RealtimeToolChoice | Выбор средства для сеанса. Допустимые значения: auto, none и required. В противном случае можно указать имя используемой функции. |
| temperature | number | Температура выборки для модели. Допустимые значения температуры ограничены [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". |
| interim-response | InterimResponseConfig | Optional. Настройка для генерации промежуточного ответа во время задержки или вызовов инструментов. |
| reasoning_effort | ReasoningEffort | Optional. Ограничивает усилия по рассуждениям моделей. Дополнительные сведения см. в документации по Azure Foundry . Сокращение усилий по поводу может привести к более быстрым откликам и меньшем количестве маркеров, используемых при рассуждениях в ответе. |
| avatar | RealtimeAvatarConfig | Optional. Avatar configuration |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Типы меток времени для выходного звука |
| metadata | map | Optional. Настройка до 16 пар "ключ-значение", которые могут быть присоединены к сеансу. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов. |
RealtimeModality
Поддерживаемые модальности выходных данных сеанса.
Allowed Values:
-
text— вывод текста -
audio— выходные данные звука -
animation— выходные данные анимации -
avatar— выходные данные видео аватара
RealtimeAudioTimestampType
Типы меток времени вывода, поддерживаемые в содержимом звукового ответа.
Allowed Values:
-
word— метки времени на слово в выходном звуке
ReasoningEffort
Ограничивает усилия по рассуждениям моделей. Проверьте документацию по модели для поддерживаемых значений для каждой модели. Сокращение усилий по поводу может привести к более быстрым откликам и меньшем количестве маркеров, используемых при рассуждениях в ответе.
Allowed Values:
-
none- Нет причинных усилий -
minimal- Минимальные усилия по рассуждениям -
low- Низкая причина усилий - быстрее ответы с меньшими причинами -
medium- Средние причины усилий - баланс между скоростью и глубиной рассуждений -
high- Высокая причина усилий - более тщательное обоснование, может занять больше времени -
xhigh- Дополнительная высокая причина усилий - максимальная глубина рассудка
Tool Configuration
Мы поддерживаем два типа инструментов: вызов функций и средства MCP, которые позволяют подключаться к серверу MCP.
RealtimeTool
Определение средства для вызова функции.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "function". |
| name | string | Function name |
| description | string | Рекомендации по описанию функций и использованию |
| parameters | object | Параметры функции в виде объекта схемы JSON |
RealtimeToolChoice
Стратегия выбора инструментов.
Это может быть:
-
"auto"— Пусть модель выбирается -
"none"— Не используйте средства -
"required"— должен использовать средство -
{ "type": "function", "name": "function_name" }— Использование конкретной функции
MCPTool
Настройка средства MCP.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "mcp". |
| server_label | string | Required. Метка сервера MCP. |
| server_url | string | Required. URL-адрес сервера MCP. |
| allowed_tools | string[] | Optional. Список разрешенных имен инструментов. Если это не указано, все средства разрешены. |
| headers | object | Optional. Дополнительные заголовки для включения в запросы MCP. |
| authorization | string | Optional. Маркер авторизации для запросов MCP. |
| require_approval | строка или словарь | Optional. Если задано значение строки, значение должно быть never или always. Если задано значение словаря, он должен быть в формате {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}. Значение по умолчанию: always. Если задано значение always, выполнение средства требует утверждения, mcp_approval_request будет отправлено клиенту при завершении аргумента MCP и будет выполняться только при получении mcp_approval_response.approve=true Если задано значение never, средство будет выполняться автоматически без утверждения. |
FoundryAgentTool
Определение инструмента для интеграции агента Foundry в качестве инструмента. Это позволяет шаблону диспетчера чата, где агент чата на основе реального времени обрабатывает основные взаимодействия при делегировании сложных задач более интеллектуальному агенту Foundry.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "foundry_agent". |
| agent_name | string | Required. Имя вызываемого агента Foundry. |
| agent_version | string | Optional. Версия вызываемого агента Foundry. |
| project_name | string | Required. Имя проекта Foundry, содержащего агент. |
| client_id | string | Optional. Идентификатор клиента, связанный с агентом Foundry. |
| description | string | Optional. Необязательное описание средства агента Foundry. Если он указан, он используется вместо описания агента на портале Foundry. |
| foundry_resource_override | string | Optional. Переопределение ресурса Foundry, используемого для выполнения агента. |
| agent_context_type | string | Optional. Тип контекста, используемый при вызове агента Foundry. Возможные значения: no_context, agent_context. По умолчанию — agent_context.no_context: отправляется только текущий ввод пользователя, контекст не поддерживается.agent_context: агент поддерживает собственный контекст (поток), только текущие входные данные, отправленные для каждого вызова. |
| return_agent_response_directly | boolean | Optional. Возвращается ли ответ агента непосредственно в ответе Voice Live. По умолчанию — true. Если задано значение false, ответ отправляется агенту чата для повторения. |
Example:
{
"instructions": "You are a helpful assistant. Please respond with a short message like 'working on this' before calling the agent tool.",
"tools": [
{
"type": "foundry_agent",
"agent_name": "customer-service-agent",
"agent_version": "2",
"project_name": "my-foundry-project",
"description": "A helpful agent that can search online information and handle complex customer requests"
}
]
}
Конфигурация промежуточного ответа
Промежуточные ответы позволяют системе создавать звуковые ответы заполнителя во время выполнения инструментов, повышая взаимодействие с пользователем, избегая молчания.
InterimResponseConfig
Конфигурация для промежуточного создания ответов. Это тип объединения, который может быть одним из следующих типов:
- StaticInterimResponseConfig — предварительно созданные промежуточные ответы, выбранные из предопределенного списка.
- LlmInterimResponseConfig — промежуточные ответы, созданные LLM.
StaticInterimResponseConfig
Конфигурация для генерации статического промежуточного отклика. Случайным образом выбирается из настроенных текстов при выполнении любого условия триггера.
| Field | Type | Description |
|---|---|---|
| type | string | Этот параметр должен содержать значение "static-interim-response". |
| triggers | InterimResponseTrigger[] | Optional. Список триггеров, которые могут активировать промежуточный ответ. Любой триггер может активировать промежуточный ответ (ИЛИ логика). Поддерживаемые значения: latency, tool. По умолчанию — ["latency"]. |
| latency_threshold_ms | integer | Optional. Порог задержки в миллисекундах до запуска промежуточного ответа. Значение по умолчанию — 2000 мс. Минимальное значение — 0. |
| texts | string[] | Optional. Список вариантов промежуточного текста для случайного выбора. |
Example:
{
"session": {
"interim-response": {
"type": "static-interim-response",
"triggers": ["latency", "tool"],
"latency_threshold_ms": 1500,
"texts": [
"Let me think about that...",
"One moment please...",
"Working on that for you..."
]
}
}
}
LlmInterimResponseConfig
Конфигурация для генерации промежуточного отклика на основе LLM. Использует LLM для генерации контекстно-ориентированных промежуточных ответов при выполнении любого условия триггера.
| Field | Type | Description |
|---|---|---|
| type | string | Этот параметр должен содержать значение "llm-interim-response". |
| triggers | InterimResponseTrigger[] | Optional. Список триггеров, которые могут активировать промежуточный ответ. Любой триггер может активировать промежуточный ответ (ИЛИ логика). Поддерживаемые значения: latency, tool. По умолчанию — ["latency"]. |
| latency_threshold_ms | integer | Optional. Порог задержки в миллисекундах до запуска промежуточного ответа. Значение по умолчанию — 2000 мс. Минимальное значение — 0. |
| model | string | Optional. Модель для генерации промежуточного отклика на основе LLM. По умолчанию — gpt-4.1-mini. Модель по умолчанию может измениться без новой версии API. |
| instructions | string | Optional. Пользовательские инструкции для генерации промежуточных ответов. Если это не указано, используется запрос по умолчанию. |
| max_completion_tokens | integer | Optional. Максимальное количество токенов для генерации для промежуточного ответа. Значение по умолчанию — 50. Минимальное значение равно 1. |
Example:
{
"session": {
"interim-response": {
"type": "llm-interim-response",
"triggers": ["tool"],
"latency_threshold_ms": 2000,
"model": "gpt-4.1-mini",
"instructions": "Generate a brief, friendly acknowledgment that you're working on the user's request.",
"max_completion_tokens": 30
}
}
}
InterimResponseTrigger
Триггеры, которые могут активировать промежуточную генерацию реакции.
Allowed Values:
-
latency— активация промежуточного ответа при превышении порогового значения задержки ответа -
tool— активируйте промежуточный ответ при выполнении вызова средства
RealtimeConversationResponseItem
Это тип объединения, который может быть одним из следующих типов:
RealtimeConversationUserMessageItem
Элемент сообщения пользователя.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "message". |
| object | string | Должен содержать значение "conversation.item". |
| role | string | Должен содержать значение "user". |
| content | RealtimeInputTextContentPart | Содержимое сообщения. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeConversationAssistantMessageItem
Элемент сообщения помощника.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "message". |
| object | string | Должен содержать значение "conversation.item". |
| role | string | Должен содержать значение "assistant". |
| content | RealtimeOutputTextContentPart[] или RealtimeOutputAudioContentPart[] | Содержимое сообщения. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeConversationSystemMessageItem
Элемент системного сообщения.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "message". |
| object | string | Должен содержать значение "conversation.item". |
| role | string | Должен содержать значение "system". |
| content | RealtimeInputTextContentPart[] | Содержимое сообщения. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeConversationFunctionCallItem
Элемент запроса вызова функции.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "function_call". |
| object | string | Должен содержать значение "conversation.item". |
| name | string | Имя вызываемой функции. |
| arguments | string | Аргументы для вызова функции в виде строки JSON. |
| call_id | string | Уникальный идентификатор вызова функции. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeConversationFunctionCallOutputItem
Элемент ответа вызова функции.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "function_call_output". |
| object | string | Должен содержать значение "conversation.item". |
| name | string | Имя вызываемой функции. |
| output | string | Выходные данные вызова функции. |
| call_id | string | Уникальный идентификатор вызова функции. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeConversationMCPListToolsItem
Элемент ответа средств списка MCP.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "mcp_list_tools". |
| server_label | string | Метка сервера MCP. |
RealtimeConversationMCPCallItem
Элемент ответа на вызов MCP.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "mcp_call". |
| server_label | string | Метка сервера MCP. |
| name | string | Имя вызываемого средства. |
| approval_request_id | string | Идентификатор запроса утверждения для вызова MCP. |
| arguments | string | Аргументы для вызова MCP. |
| output | string | Выходные данные вызова MCP. |
| error | object | Сведения об ошибке, если сбой вызова MCP. |
RealtimeConversationMCPApprovalRequestItem
Элемент запроса на утверждение MCP.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "mcp_approval_request". |
| server_label | string | Метка сервера MCP. |
| name | string | Имя вызываемого средства. |
| arguments | string | Аргументы для вызова MCP. |
RealtimeConversationFoundryAgentCallItem
Элемент ответа на вызов агента Foundry.
| Field | Type | Description |
|---|---|---|
| id | string | Уникальный идентификатор элемента. |
| type | string | Должен содержать значение "foundry_agent_call". |
| name | string | Имя агента Foundry. |
| call_id | string | Идентификатор вызова. |
| arguments | string | Аргументы для вызова агента литейной службы. |
| agent_response_id | string | Optional. Идентификатор ответа от агента литейной службы. |
| output | string | Optional. Выходные данные вызова агента литейной службы. |
| error | object | Optional. Сведения об ошибке, если сбой вызова агента foundry. |
RealtimeItemStatus
Состояние элементов беседы.
Allowed Values:
-
in_progress- В настоящее время обрабатывается -
completed— успешно завершено -
incomplete— неполный (прерывание или сбой)
RealtimeContentPart
Часть содержимого в сообщении.
RealtimeInputTextContentPart
Часть текстового содержимого.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "input_text". |
| text | string | Текстовое содержимое |
RealtimeOutputTextContentPart
Часть текстового содержимого.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "text". |
| text | string | Текстовое содержимое |
RealtimeInputAudioContentPart
Часть звукового содержимого.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "input_audio". |
| audio | string | Optional. Звуковые данные в кодировке Base64 |
| transcript | string | Optional. Audio transcript |
RealtimeOutputAudioContentPart
Часть звукового содержимого.
| Field | Type | Description |
|---|---|---|
| type | string | Должен содержать значение "audio". |
| audio | string | Звуковые данные в кодировке Base64 |
| transcript | string | Optional. Audio transcript |
Response Objects
RealtimeResponse
Объект ответа, представляющий ответ на вывод модели.
| Field | Type | Description |
|---|---|---|
| id | string | Optional. Response ID |
| object | string | Optional. Всегда "realtime.response" |
| status | RealtimeResponseStatus | Optional. Response status |
| status_details | RealtimeResponseStatusDetails | Optional. Status details |
| output | RealtimeConversationResponseItem[] | Optional. Output items |
| usage | RealtimeUsage | Optional. Статистика использования маркеров |
| conversation_id | string | Optional. Связанный идентификатор беседы |
| voice | RealtimeVoice | Optional. Голос, используемый для ответа |
| modalities | string[] | Optional. Используемые выходные модальности |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Используемый формат звука |
| temperature | number | Optional. Temperature used |
| max_response_output_tokens | целое число или inf | Optional. Максимальное количество используемых маркеров |
RealtimeResponseStatus
Значения состояния ответа.
Allowed Values:
-
in_progress— создается ответ -
completed— ответ успешно завершен -
cancelled- Ответ был отменен -
incomplete— неполный ответ (прерванный) -
failed— сбой ответа с ошибкой
RealtimeUsage
Статистика использования маркеров.
| Field | Type | Description |
|---|---|---|
| total_tokens | integer | Всего используемых маркеров |
| input_tokens | integer | Используемые маркеры ввода |
| output_tokens | integer | Выходные маркеры, созданные |
| input_token_details | TokenDetails | Разбивка входных маркеров |
| output_token_details | TokenDetails | Разбивка выходных маркеров |
TokenDetails
Подробные сведения об использовании маркеров.
| Field | Type | Description |
|---|---|---|
| cached_tokens | integer | Optional. Кэшированные маркеры, используемые |
| text_tokens | integer | Optional. Используемые текстовые маркеры |
| audio_tokens | integer | Optional. Используемые маркеры звука |
Error Handling
RealtimeErrorDetails
Объект сведений об ошибках.
| Field | Type | Description |
|---|---|---|
| type | string | Тип ошибки (например, "invalid_request_error", "server_error") |
| code | string | Optional. Конкретный код ошибки |
| message | string | Описание ошибки, доступной для чтения человеком |
| param | string | Optional. Параметр, связанный с ошибкой |
| event_id | string | Optional. Идентификатор события клиента, вызвавшего ошибку |
RealtimeConversationRequestItem
Вы используете объект RealtimeConversationRequestItem для создания нового элемента в беседе с помощью события conversation.item.create.
Это тип объединения, который может быть одним из следующих типов:
RealtimeSystemMessageItem
Элемент системного сообщения.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: message |
| role | string | Роль сообщения. Допустимые значения: system |
| content | массив RealtimeInputTextContentPart | Содержимое сообщения. |
| id | string | Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его. |
RealtimeUserMessageItem
Элемент сообщения пользователя.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: message |
| role | string | Роль сообщения. Допустимые значения: user |
| content | массив RealtimeInputTextContentPart или RealtimeInputAudioContentPart | Содержимое сообщения. |
| id | string | Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его. |
RealtimeAssistantMessageItem
Элемент сообщения помощника.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: message |
| role | string | Роль сообщения. Допустимые значения: assistant |
| content | массив RealtimeOutputTextContentPart | Содержимое сообщения. |
RealtimeFunctionCallItem
Элемент вызова функции.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: function_call |
| name | string | Имя вызываемой функции. |
| arguments | string | Аргументы вызова функции в виде строки JSON. |
| call_id | string | Идентификатор элемента вызова функции. |
| id | string | Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его. |
RealtimeFunctionCallOutputItem
Выходной элемент вызова функции.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: function_call_output |
| call_id | string | Идентификатор элемента вызова функции. |
| output | string | Выходные данные вызова функции— это строка свободной формы с результатом функции, также может быть пустой. |
| id | string | Уникальный идентификатор элемента. Если клиент не предоставляет идентификатор, сервер создает его. |
RealtimeMCPApprovalResponseItem
Элемент ответа на утверждение MCP.
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: mcp_approval_response |
| approve | boolean | Утверждается ли запрос MCP. |
| approval_request_id | string | Идентификатор запроса на утверждение MCP. |
| id | string | Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его. |
RealtimeFunctionTool
Определение средства функции, используемого конечной точкой реального времени.
| Field | Type | Description |
|---|---|---|
| type | string | Тип средства. Допустимые значения: function |
| name | string | Имя функции. |
| description | string | Описание функции, включая рекомендации по использованию. Например, "Используйте эту функцию для получения текущего времени". |
| parameters | object | Параметры функции в виде объекта JSON. |
RealtimeItemStatus
Allowed Values:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Field | Type | Description |
|---|---|---|
| type | string | Тип части содержимого. Допустимые значения: audio |
| transcript | string | Расшифровка звука. Это свойство допускает значение NULL. |
RealtimeResponseFunctionCallItem
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: function_call |
| name | string | Имя элемента вызова функции. |
| call_id | string | Идентификатор элемента вызова функции. |
| arguments | string | Аргументы элемента вызова функции. |
| status | RealtimeItemStatus | Состояние элемента. |
RealtimeResponseFunctionCallOutputItem
| Field | Type | Description |
|---|---|---|
| type | string | Тип элемента. Допустимые значения: function_call_output |
| call_id | string | Идентификатор элемента вызова функции. |
| output | string | Выходные данные элемента вызова функции. |
RealtimeResponseOptions
| Field | Type | Description |
|---|---|---|
| modalities | array | Выходные модальности ответа. Допустимые значения: text, audioНапример, "modalities": ["text", "audio"] это параметр по умолчанию, который включает как текстовые, так и звуковые выходные модалы. Чтобы включить только текстовые выходные данные, задайте ."modalities": ["text"] Вы не можете включить только звук. |
| instructions | string | Инструкции (системное сообщение) для руководства ответами модели. |
| voice | RealtimeVoice | Голос, используемый для ответа модели для сеанса. После использования голоса в сеансе для звукового ответа модели его нельзя изменить. |
| tools | массив RealtimeTool | Средства, доступные модели для сеанса. |
| tool_choice | RealtimeToolChoice | Выбор средства для сеанса. |
| temperature | number | Температура выборки для модели. Допустимые значения температуры ограничены [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". |
| interim-response | InterimResponseConfig | Optional. Настройка для генерации промежуточного ответа во время задержки или вызовов инструментов. |
| reasoning_effort | ReasoningEffort | Optional. Ограничивает усилия по рассуждениям моделей. Проверьте документацию по модели для поддерживаемых значений для каждой модели. Сокращение усилий по поводу может привести к более быстрым откликам и меньшем количестве маркеров, используемых при рассуждениях в ответе. |
| conversation | string | Определяет, к какой беседе добавляется ответ. Поддерживаемые значения: auto и none.Значение auto (или не задано это свойство) гарантирует, что содержимое ответа добавляется в беседу по умолчанию сеанса.Задайте этому свойству значение, чтобы none создать ответ вне диапазона, в котором элементы не будут добавлены в беседу по умолчанию. По умолчанию — "auto". |
| metadata | map | Настройка до 16 пар "ключ-значение", которые могут быть присоединены к объекту. Это может быть полезно для хранения дополнительных сведений об объекте в структурированном формате. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов. Например: metadata: { topic: "classification" } |
| pre_generated_assistant_message | RealtimeAssistantMessageItem | Optional. Предварительно созданное сообщение помощника для создания звукового ответа вместо создания текста модели. При указании сервер создает звуковой ответ для предопределенного текста, обходя вывод модели для создания текста. Сообщение добавляется в журнал контекста беседы. В сообщении должно быть задано role значение "assistant" и включено content одно текстовое содержимое. |
RealtimeResponseSession
Объект RealtimeResponseSession представляет сеанс в API Реального времени. Он используется в некоторых событиях сервера, таких как:
| Field | Type | Description |
|---|---|---|
| object | string | Объект сеанса. Допустимые значения: realtime.session |
| id | string | Уникальный идентификатор сеанса. |
| model | string | Модель, используемая для сеанса. |
| modalities | array | Выходные модальности для сеанса. Допустимые значения: 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_sampling_rate | integer | Частота выборки для входного звука. |
| input_audio_format | RealtimeAudioFormat | Формат входного звука. |
| output_audio_format | RealtimeAudioFormat | Формат выходного звука. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Параметры транскрибирования входных звука. Это свойство допускает значение NULL. |
| turn_detection | RealtimeTurnDetection | Параметры обнаружения поворота для сеанса. Это свойство допускает значение NULL. |
| tools | массив RealtimeTool | Средства, доступные модели для сеанса. |
| tool_choice | RealtimeToolChoice | Выбор средства для сеанса. |
| temperature | number | Температура выборки для модели. Допустимые значения температуры ограничены [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". |
| interim-response | InterimResponseConfig | Настройка для генерации промежуточного ответа во время задержки или вызовов инструментов. |
RealtimeResponseStatusDetails
| Field | Type | Description |
|---|---|---|
| type | RealtimeResponseStatus | Состояние ответа. |
RealtimeRateLimitsItem
| Field | Type | Description |
|---|---|---|
| name | string | Имя свойства ограничения скорости, о которое этот элемент содержит сведения. |
| limit | integer | Максимально настроенное ограничение для этого свойства ограничения скорости. |
| remaining | integer | Оставшаяся квота, доступная в соответствии с настроенным ограничением для этого свойства ограничения скорости. |
| reset_seconds | number | Оставшееся время (в секундах), пока это свойство ограничения скорости не будет сброшено. |
Related Resources
- Краткое руководство по голосовой трансляции
- Попробуйте быстрое начало работы с голосовыми агентами
- Дополнительные сведения об использовании API голосовой трансляции