Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Voice live API proporciona comunicación bidireccional en tiempo real para aplicaciones habilitadas para voz mediante conexiones WebSocket. Esta API admite características avanzadas, como el reconocimiento de voz, la síntesis de texto a voz, el streaming de avatares, los datos de animación y las funcionalidades completas de procesamiento de audio.
La API usa eventos con formato JSON enviados a través de conexiones de WebSocket para administrar conversaciones, secuencias de audio, interacciones de avatar y respuestas en tiempo real. Los eventos se clasifican en eventos de cliente (enviados de cliente a servidor) y eventos de servidor (enviados desde el servidor al cliente).
Características clave
- Procesamiento de audio en tiempo real: compatibilidad con varios formatos de audio, incluidos PCM16 a varias velocidades de muestreo y códecs G.711
- Opciones avanzadas de voz: voces de OpenAI, voces personalizadas de Azure, voces estándar de Azure y voces personales de Azure
- Integración de Avatar: streaming de avatares basado en WebRTC con vídeo, animación y blendshapes
- Detección de turnos inteligentes: varias opciones de VAD, como vaD semántico de Azure y detección del lado servidor
- Mejora de audio: reducción de ruido integrada y cancelación de eco
- Llamada a funciones: integración de herramientas para funcionalidades de conversación mejoradas
- Administración flexible de sesiones: modalidades configurables, instrucciones y parámetros de respuesta
Eventos de cliente
Voice Live API admite los siguientes eventos de cliente que se pueden enviar desde el cliente al servidor:
| Event | Description |
|---|---|
| session.update | Actualice la configuración de sesión, incluidas la voz, las modalidades, la detección de turnos y otras opciones. |
| session.avatar.connect | Establecer la conexión de avatar proporcionando SDP de cliente para la negociación de WebRTC |
| input_audio_buffer.append | Anexar bytes de audio al búfer de audio de entrada |
| input_audio_buffer.commit | Confirmación del búfer de audio de entrada para su procesamiento |
| input_audio_buffer.clear | Borrar el búfer de audio de entrada |
| conversation.item.create | Agregar un nuevo elemento al contexto de conversación |
| conversation.item.retrieve | Recuperar un elemento específico de la conversación |
| conversation.item.truncate | Truncar un mensaje de audio del asistente |
| conversation.item.delete | Quitar un elemento de la conversación |
| response.create | Indicar al servidor que cree una respuesta a través de la inferencia del modelo |
| response.cancel | Cancelación de una respuesta en curso |
| mcp_approval_response | Enviar aprobación o rechazo para una llamada a la herramienta MCP que requiere aprobación |
session.update
Actualice la configuración de la sesión. Este evento se puede enviar en cualquier momento para modificar la configuración, como voz, modalidades, detección de turnos, herramientas y otros parámetros de sesión. Tenga en cuenta que una vez que se inicializa una sesión con un modelo determinado, no se puede cambiar a otro modelo.
Estructura de eventos
{
"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"
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "session.update" |
| sesión | RealtimeRequestSession | Objeto de configuración de sesión con campos que se van a actualizar |
Ejemplo con Voz personalizada de 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
Establezca una conexión de avatar proporcionando la oferta SDP (Protocolo de descripción de sesión) del cliente para la negociación de medios webRTC. Este evento es necesario cuando se usan características de avatar.
Estructura de eventos
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "session.avatar.connect" |
| client_sdp | cuerda / cadena | Oferta de SDP del cliente para el establecimiento de conexiones WebRTC |
input_audio_buffer.append
Anexe bytes de audio al búfer de audio de entrada.
Estructura de eventos
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "input_audio_buffer.append" |
| audio | cuerda / cadena | Datos de audio codificados en Base64 |
input_audio_buffer.commit
Confirme el búfer de audio de entrada para su procesamiento.
Estructura de eventos
{
"type": "input_audio_buffer.commit"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "input_audio_buffer.commit" |
input_audio_buffer.clear
Borre el búfer de audio de entrada.
Estructura de eventos
{
"type": "input_audio_buffer.clear"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "input_audio_buffer.clear" |
conversation.item.create
Agregue un nuevo elemento al contexto de conversación. Esto puede incluir mensajes, llamadas de función y respuestas de llamadas de función. Los elementos se pueden insertar en posiciones específicas en el historial de conversaciones.
Estructura de eventos
{
"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?"
}
]
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.create" |
| previous_item_id | cuerda / cadena | Optional. Id. del elemento después del cual se va a insertar este elemento. Si no se proporciona, anexa al final |
| item | RealtimeConversationRequestItem | Elemento que se va a agregar a la conversación |
Ejemplo con contenido de audio
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Ejemplo con llamada de función
{
"type": "conversation.item.create",
"item": {
"type": "function_call",
"name": "get_weather",
"call_id": "call_123",
"arguments": "{\"location\": \"San Francisco\", \"unit\": \"celsius\"}"
}
}
Ejemplo con llamada MCP
{
"type": "conversation.item.create",
"item": {
"type": "mcp_call",
"approval_request_id": null,
"arguments": "",
"server_label": "deepwiki",
"name": "ask_question",
"output": null,
"error": null
}
}
conversation.item.retrieve
Recupere un elemento específico del historial de conversaciones. Esto es útil para inspeccionar el audio procesado después de la cancelación de ruido y VAD.
Estructura de eventos
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.retrieve" |
| item_id | cuerda / cadena | Identificador del elemento que se va a recuperar |
conversation.item.truncate
Trunca el contenido de audio de un mensaje del asistente. Esto resulta útil para detener la reproducción en un punto específico y sincronizar la comprensión del servidor con el estado del cliente.
Estructura de eventos
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.truncate" |
| item_id | cuerda / cadena | Identificador del elemento de mensaje del asistente que se va a truncar |
| content_index | entero | Índice del elemento de contenido que se va a truncar |
| audio_end_ms | entero | Duración hasta la que se trunca el audio, en milisegundos |
conversation.item.delete
Quite un elemento del historial de conversaciones.
Estructura de eventos
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.delete" |
| item_id | cuerda / cadena | Identificador del elemento que se va a eliminar |
response.create
Indique al servidor que cree una respuesta a través de la inferencia del modelo. Este evento puede especificar la configuración específica de la respuesta que invalida los valores predeterminados de la sesión.
Estructura de eventos
{
"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
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.create" |
| response | RealtimeResponseOptions | Configuración de respuesta opcional que invalida los valores predeterminados de la sesión |
Ejemplo con opción de herramienta
{
"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
}
}
Ejemplo con animación
{
"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"
}
}
}
response.cancel
Cancelar una respuesta en curso. Esto detiene inmediatamente la generación de respuestas y la salida de audio relacionada.
Estructura de eventos
{
"type": "response.cancel"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.cancel" |
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.retrieve. |
| item_id | cuerda / cadena | Identificador del elemento que se va a recuperar. |
| event_id | cuerda / cadena | Id. del evento. |
RealtimeClientEventConversationItemTruncate
El evento de cliente conversation.item.truncate se usa para truncar el audio de un mensaje del asistente anterior. El servidor genera audio más rápido que en tiempo real, por lo que este evento es útil cuando el usuario interrumpe para truncar el audio que se envió al cliente pero que aún no se ha reproducido. La comprensión del servidor del audio con la reproducción del cliente está sincronizada.
El truncamiento de audio elimina la transcripción de texto del lado servidor para asegurarse de que no haya texto en el contexto del que el usuario no conoce.
Si el evento de cliente se realiza correctamente, el servidor responde con un conversation.item.truncated evento.
Estructura de eventos
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.truncate. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje del asistente que se va a truncar. Solo se pueden truncar los elementos del mensaje del asistente. |
| content_index | entero | Índice del elemento de contenido que se va a truncar. Establezca esta propiedad en "0". |
| audio_end_ms | entero | Duración inclusiva hasta la que se trunca el audio, en milisegundos. Si el audio_end_ms es mayor que la duración real del audio, el servidor responde con un error. |
RealtimeClientEventInputAudioBufferAppend
El evento de cliente input_audio_buffer.append se usa para anexar bytes de audio al búfer de audio de entrada. El búfer de audio es almacenamiento temporal en el que puede escribir y confirmarse posteriormente.
En el modo VAD del servidor (detección de actividad de voz), el búfer de audio se usa para detectar voz y el servidor decide cuándo confirmar. Cuando el VAD del servidor está deshabilitado, el cliente puede elegir la cantidad de audio que se va a colocar en cada evento hasta un máximo de 15 MiB. Por ejemplo, el streaming de fragmentos más pequeños del cliente puede permitir que el VAD tenga mayor capacidad de respuesta.
A diferencia de la mayoría de los demás eventos de cliente, el servidor no envía una respuesta de confirmación al evento de cliente input_audio_buffer.append .
Estructura de eventos
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.append. |
| audio | cuerda / cadena | Bytes de audio codificados en Base64. Este valor debe estar en el formato especificado por el input_audio_format campo en la configuración de sesión. |
RealtimeClientEventInputAudioBufferClear
El evento de cliente input_audio_buffer.clear se usa para borrar los bytes de audio en el búfer.
El servidor responde con un input_audio_buffer.cleared evento .
Estructura de eventos
{
"type": "input_audio_buffer.clear"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.clear. |
RealtimeClientEventInputAudioBufferCommit
El evento de cliente input_audio_buffer.commit se usa para confirmar el búfer de audio de entrada del usuario, que crea un nuevo elemento de mensaje de usuario en la conversación. El audio se transcribe si input_audio_transcription está configurado para la sesión.
Cuando está en modo VAD de servidor, el cliente no necesita enviar este evento, el servidor confirma automáticamente el búfer de audio. Sin VAD del servidor, el cliente debe confirmar el búfer de audio para crear un elemento de mensaje de usuario. Este evento de cliente produce un error si el búfer de audio de entrada está vacío.
Confirmar el búfer de audio de entrada no crea una respuesta del modelo.
El servidor responde con un input_audio_buffer.committed evento .
Estructura de eventos
{
"type": "input_audio_buffer.commit"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.commit. |
RealtimeClientEventResponseCancel
El evento de cliente response.cancel se usa para cancelar una respuesta en curso.
El servidor responderá con un response.done evento con un estado de response.status=cancelled.
Estructura de eventos
{
"type": "response.cancel"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.cancel. |
RealtimeClientEventResponseCreate
El evento de cliente response.create se usa para indicar al servidor que cree una respuesta a través de la inferencia del modelo. Cuando la sesión está configurada en modo VAD de servidor, el servidor crea respuestas automáticamente.
Una respuesta incluye al menos un itemy puede tener dos, en cuyo caso el segundo es una llamada de función. Estos elementos se anexan al historial de conversaciones.
El servidor responde con un response.created evento, uno o varios eventos de contenido y elementos (como conversation.item.created y response.content_part.added) y, por último, un response.done evento para indicar que la respuesta está completa.
Estructura de eventos
{
"type": "response.create"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.create. |
| response | RealtimeResponseOptions | Las opciones de respuesta. |
RealtimeClientEventSessionUpdate
El evento de cliente session.update se usa para actualizar la configuración predeterminada de la sesión. El cliente puede enviar este evento en cualquier momento para actualizar la configuración de la sesión y cualquier campo se puede actualizar en cualquier momento, excepto la voz.
Solo se actualizan los campos que están presentes. Para borrar un campo (como instructions), pase una cadena vacía.
El servidor responde con un session.updated evento que contiene la configuración efectiva completa.
Estructura de eventos
{
"type": "session.update"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser session.update. |
| sesión | RealtimeRequestSession | Configuración de la sesión. |
Eventos de servidor
Voice Live API envía los siguientes eventos de servidor para comunicar el estado, las respuestas y los datos al cliente:
| Event | Description |
|---|---|
| error | Indica un error durante el procesamiento. |
| session.created | Se envía cuando se establece correctamente una nueva sesión |
| session.updated | Se envía cuando se actualiza la configuración de sesión |
| session.avatar.connecting | Indica que se está estableciendo la conexión WebRTC de avatar |
| conversation.item.created | Se envía cuando se agrega un nuevo elemento a la conversación |
| conversation.item.retrieved | Respuesta a la solicitud conversation.item.retrieve |
| conversation.item.truncated | Confirma el truncamiento de elementos |
| conversation.item.deleted | Confirma la eliminación de elementos |
| conversation.item.input_audio_transcription.completed | La transcripción de audio de entrada está completa |
| conversation.item.input_audio_transcription.delta | Transcripción de audio de entrada de streaming |
| conversation.item.input_audio_transcription.failed | Error en la transcripción de audio de entrada |
| input_audio_buffer.committed | Se ha confirmado el búfer de audio de entrada para su procesamiento |
| input_audio_buffer.cleared | Se ha borrado el búfer de audio de entrada |
| input_audio_buffer.speech_started | Voz detectada en el búfer de audio de entrada (VAD) |
| input_audio_buffer.speech_stopped | La voz finalizó en el búfer de audio de entrada (VAD) |
| response.created | Se ha iniciado la nueva generación de respuestas |
| response.done | La generación de respuestas está completa |
| response.output_item.added | Nuevo elemento de salida agregado a la respuesta |
| response.output_item.done | El elemento de salida está completo |
| response.content_part.added | Nueva parte de contenido agregada al elemento de salida |
| response.content_part.done | El elemento de contenido está completo |
| response.text.delta | Streaming de contenido de texto desde el modelo |
| response.text.done | El contenido de texto está completo |
| response.audio_transcript.delta | Transcripción de audio de streaming |
| response.audio_transcript.done | La transcripción de audio está completa |
| response.audio.delta | Streaming de contenido de audio desde el modelo |
| response.audio.done | El contenido de audio está completo |
| response.animation_blendshapes.delta | Datos de blendshapes de animación de streaming |
| response.animation_blendshapes.done | Los datos de blendshapes de animación están completos |
| response.audio_timestamp.delta | Transmisión de información de marca de tiempo de audio |
| response.audio_timestamp.done | Se ha completado la información de marca de tiempo de audio |
| response.animation_viseme.delta | Streaming de datos de viseme de animación |
| response.animation_viseme.done | Los datos de viseme de animación están completos |
| response.function_call_arguments.delta | Argumentos de llamada de función de streaming |
| response.function_call_arguments.done | Los argumentos de llamada de función están completos |
| mcp_list_tools.in_progress | La lista de herramientas de MCP está en curso |
| mcp_list_tools.completed | Se ha completado la lista de herramientas de MCP |
| mcp_list_tools.failed | Error en la lista de herramientas de MCP |
| response.mcp_call_arguments.delta | Argumentos de llamada de MCP de streaming |
| response.mcp_call_arguments.done | Se han completado los argumentos de llamada de MCP |
| response.mcp_call.in_progress | La llamada MCP está en curso |
| response.mcp_call.completed | Se ha completado la llamada de MCP |
| response.mcp_call.failed | Error en la llamada de MCP |
session.created
Se envía cuando se establece correctamente una nueva sesión. Este es el primer evento recibido después de conectarse a la API.
Estructura de eventos
{
"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"
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "session.created" |
| sesión | RealtimeResponseSession | Objeto de sesión creado |
session.updated
Se envía cuando la configuración de sesión se actualiza correctamente en respuesta a un session.update evento de cliente.
Estructura de eventos
{
"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
}
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "session.updated" |
| sesión | RealtimeResponseSession | El objeto de sesión actualizado |
session.avatar.connecting
Indica que se está estableciendo una conexión WebRTC de avatar. Este evento se envía en respuesta a un session.avatar.connect evento de cliente.
Estructura de eventos
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "session.avatar.connecting" |
conversation.item.created
Se envía cuando se agrega un nuevo elemento a la conversación, ya sea a través de un evento de cliente conversation.item.create o automáticamente durante la generación de respuestas.
Estructura de eventos
{
"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?"
}
]
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.created" |
| previous_item_id | cuerda / cadena | Identificador del elemento después del cual se insertó este elemento |
| item | RealtimeConversationResponseItem | Elemento de conversación creado |
Ejemplo con elemento de audio
{
"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
Se envía en respuesta a un conversation.item.retrieve evento de cliente, proporcionando el elemento de conversación solicitado.
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.created" |
| item | RealtimeConversationResponseItem | Elemento de conversación creado |
conversation.item.truncated
El evento de servidor conversation.item.truncated se devuelve cuando el cliente trunca un elemento de mensaje de audio del asistente anterior con un conversation.item.truncate evento . Este evento se usa para sincronizar la comprensión del servidor del audio con la reproducción del cliente.
Este evento trunca el audio y quita la transcripción de texto del lado servidor para asegurarse de que no hay texto en el contexto del que el usuario no conoce.
Estructura de eventos
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.truncated. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje del asistente que se ha truncado. |
| content_index | entero | Índice de la parte de contenido truncada. |
| audio_end_ms | entero | Duración hasta la que se truncó el audio, en milisegundos. |
conversation.item.deleted
Enviado en respuesta a un conversation.item.delete evento de cliente, confirmando que el elemento especificado se ha quitado de la conversación.
Estructura de eventos
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "conversation.item.deleted" |
| item_id | cuerda / cadena | Identificador del elemento eliminado |
response.created
Se envía cuando comienza una nueva generación de respuestas. Este es el primer evento de una secuencia de respuesta.
Estructura de eventos
{
"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
}
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.created" |
| response | RealtimeResponse | Objeto de respuesta que se creó |
response.done
Se envía cuando se completa la generación de respuestas. Este evento contiene la respuesta final con todos los elementos de salida y estadísticas de uso.
Estructura de eventos
{
"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
}
}
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.done" |
| response | RealtimeResponse | Objeto de respuesta completado |
response.output_item.added
Se envía cuando se agrega un nuevo elemento de salida a la respuesta durante la generación.
Estructura de eventos
{
"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": []
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.output_item.added" |
| response_id | cuerda / cadena | Identificador de la respuesta a la que pertenece este elemento |
| output_index | entero | Índice del elemento en la matriz de salida de la respuesta |
| item | RealtimeConversationResponseItem | Elemento de salida que se agregó |
response.output_item.done
Se envía cuando se completa un elemento de salida.
Estructura de eventos
{
"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."
}
]
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.output_item.done" |
| response_id | cuerda / cadena | Identificador de la respuesta a la que pertenece este elemento |
| output_index | entero | Índice del elemento en la matriz de salida de la respuesta |
| item | RealtimeConversationResponseItem | Elemento de salida completado |
response.content_part.added
El evento de servidor response.content_part.added se devuelve cuando se agrega una nueva parte de contenido a un elemento de mensaje auxiliar durante la generación de respuesta.
Estructura de eventos
{
"type": "response.content_part.added",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": ""
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.content_part.added" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento al que pertenece este elemento de contenido |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice de esta parte de contenido en el elemento |
| part | RealtimeContentPart | Elemento de contenido que se agregó |
response.content_part.done
El evento de servidor response.content_part.done se devuelve cuando una parte de contenido se realiza streaming en un elemento de mensaje del asistente.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"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."
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.content_part.done" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento al que pertenece este elemento de contenido |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice de esta parte de contenido en el elemento |
| part | RealtimeContentPart | Elemento de contenido completado |
response.text.delta
Streaming de contenido de texto desde el modelo. Enviado incrementalmente a medida que el modelo genera texto.
Estructura de eventos
{
"type": "response.text.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.text.delta" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| delta | cuerda / cadena | Contenido de texto incremental |
response.text.done
Se envía cuando se completa la generación de contenido de texto.
Estructura de eventos
{
"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?"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.text.done" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| texto | cuerda / cadena | Contenido de texto completo |
response.audio.delta
Streaming de contenido de audio desde el modelo. El audio se proporciona como datos codificados en base64.
Estructura de eventos
{
"type": "response.audio.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.audio.delta" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| delta | cuerda / cadena | Fragmento de datos de audio codificado en Base64 |
response.audio.done
Se envía cuando se completa la generación de contenido de audio.
Estructura de eventos
{
"type": "response.audio.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.audio.done" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
response.audio_transcript.delta
Transcripción de streaming del contenido de audio generado.
Estructura de eventos
{
"type": "response.audio_transcript.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm doing"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.audio_transcript.delta" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| delta | cuerda / cadena | Texto de transcripción incremental |
response.audio_transcript.done
Se envía cuando se completa la generación de transcripciones de audio.
Estructura de eventos
{
"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?"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "response.audio_transcript.done" |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| transcript | cuerda / cadena | Texto completo de la transcripción |
conversation.item.input_audio_transcription.completed
El evento de servidor conversation.item.input_audio_transcription.completed es el resultado de la transcripción de audio para la voz escrita en el búfer de audio.
La transcripción comienza cuando el cliente o el servidor confirman el búfer de audio de entrada (en server_vad modo). La transcripción se ejecuta de forma asincrónica con la creación de respuestas, por lo que este evento puede venir antes o después de los eventos de respuesta.
Los modelos de API en tiempo real aceptan audio de forma nativa y, por tanto, la transcripción de entrada es una ejecución de proceso independiente en un modelo de reconocimiento de voz independiente, como whisper-1. Por lo tanto, la transcripción puede diferir algo de la interpretación del modelo y debe tratarse como una guía aproximada.
Estructura de eventos
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.input_audio_transcription.completed. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario que contiene el audio. |
| content_index | entero | Índice de la parte de contenido que contiene el audio. |
| transcript | cuerda / cadena | Texto transcrito. |
conversation.item.input_audio_transcription.delta
El evento de servidor conversation.item.input_audio_transcription.delta se devuelve cuando se configura la transcripción de audio de entrada y hay una solicitud de transcripción para un mensaje de usuario en curso. Este evento proporciona resultados parciales de transcripción a medida que están disponibles.
Estructura de eventos
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.input_audio_transcription.delta. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario. |
| content_index | entero | Índice de la parte de contenido que contiene el audio. |
| delta | cuerda / cadena | Texto de transcripción incremental. |
conversation.item.input_audio_transcription.failed
El evento de servidor conversation.item.input_audio_transcription.failed se devuelve cuando se configura la transcripción de audio de entrada y se produce un error en una solicitud de transcripción para un mensaje de usuario. Este evento es independiente de otros error eventos para que el cliente pueda identificar el elemento relacionado.
Estructura de eventos
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser conversation.item.input_audio_transcription.failed. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario. |
| content_index | entero | Índice de la parte de contenido que contiene el audio. |
| error | objeto | Detalles del error de transcripción. Consulte las propiedades anidadas en la tabla siguiente. |
Propiedades de error
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo de error. |
| código | cuerda / cadena | Código de error, si existe. |
| Mensaje | cuerda / cadena | Mensaje de error legible. |
| param | cuerda / cadena | Parámetro relacionado con el error, si existe. |
response.animation_blendshapes.delta
El evento de servidor response.animation_blendshapes.delta se devuelve cuando el modelo genera datos blendshapes de animación como parte de una respuesta. Este evento proporciona datos de blendshapes incrementales a medida que está disponible.
Estructura de eventos
{
"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]
...
]
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.animation_blendshapes.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| frame_index | entero | Índice del primer fotograma de este lote de marcos |
| Marcos | matriz de matriz de float | Matriz de marcos blendshape, cada fotograma es una matriz de valores blendshape |
response.animation_blendshapes.done
El evento de servidor response.animation_blendshapes.done se devuelve cuando el modelo ha terminado de generar blendshapes de animación como parte de una respuesta.
Estructura de eventos
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.animation_blendshapes.done. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
response.audio_timestamp.delta
El evento de servidor response.audio_timestamp.delta se devuelve cuando el modelo genera datos de marca de tiempo de audio como parte de una respuesta. Este evento proporciona datos incrementales de marca de tiempo para la alineación de audio y texto de salida a medida que está disponible.
Estructura de eventos
{
"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"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio_timestamp.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| audio_offset_ms | entero | Desplazamiento de audio en milisegundos desde el principio del audio |
| audio_duration_ms | entero | Duración del segmento de audio en milisegundos |
| texto | cuerda / cadena | Segmento de texto correspondiente a esta marca de tiempo de audio |
| timestamp_type | cuerda / cadena | El tipo de marca de tiempo, actualmente solo se admite "word" |
response.audio_timestamp.done
Se envía cuando se completa la generación de marca de tiempo de audio.
Estructura de eventos
{
"type": "response.audio_timestamp.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio_timestamp.done. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
response.animation_viseme.delta
El evento de servidor response.animation_viseme.delta se devuelve cuando el modelo genera datos de viseme de animación como parte de una respuesta. Este evento proporciona datos viseme incrementales a medida que está disponible.
Estructura de eventos
{
"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
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.animation_viseme.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
| audio_offset_ms | entero | Desplazamiento de audio en milisegundos desde el principio del audio |
| viseme_id | entero | Identificador del visema correspondiente a la forma de boca para la animación |
response.animation_viseme.done
El evento de servidor response.animation_viseme.done se devuelve cuando el modelo ha terminado de generar datos de viseme de animación como parte de una respuesta.
Estructura de eventos
{
"type": "response.animation_viseme.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.animation_viseme.done. |
| response_id | cuerda / cadena | Identificador de la respuesta |
| item_id | cuerda / cadena | Identificador del elemento |
| output_index | entero | Índice del elemento en la respuesta |
| content_index | entero | Índice del elemento de contenido |
El evento de servidor response.animation_viseme.delta se devuelve cuando el modelo genera datos de viseme de animación como parte de una respuesta. Este evento proporciona datos viseme incrementales a medida que está disponible.
error
El evento de servidor error se devuelve cuando se produce un error, que podría ser un problema de cliente o un problema de servidor. La mayoría de los errores se pueden recuperar y la sesión permanece abierta.
Estructura de eventos
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser error. |
| error | objeto | Detalles del error. Consulte las propiedades anidadas en la tabla siguiente. |
Propiedades de error
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo de error. Por ejemplo, "invalid_request_error" y "server_error" son tipos de error. |
| código | cuerda / cadena | Código de error, si existe. |
| Mensaje | cuerda / cadena | Mensaje de error legible. |
| param | cuerda / cadena | Parámetro relacionado con el error, si existe. |
| event_id | cuerda / cadena | Identificador del evento de cliente que provocó el error, si procede. |
input_audio_buffer.cleared
El evento de servidor input_audio_buffer.cleared se devuelve cuando el cliente borra el búfer de audio de entrada con un input_audio_buffer.clear evento.
Estructura de eventos
{
"type": "input_audio_buffer.cleared"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.cleared. |
input_audio_buffer.committed
El evento de servidor input_audio_buffer.committed se devuelve cuando el cliente confirma un búfer de audio de entrada o automáticamente en modo VAD del servidor. La item_id propiedad es el identificador del elemento de mensaje de usuario creado. Por lo tanto, también se envía un conversation.item.created evento al cliente.
Estructura de eventos
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.committed. |
| previous_item_id | cuerda / cadena | Identificador del elemento anterior después del cual se inserta el nuevo elemento. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario creado. |
input_audio_buffer.speech_started
El evento de servidor input_audio_buffer.speech_started se devuelve en server_vad modo cuando se detecta voz en el búfer de audio. Este evento puede ocurrir cada vez que se agrega audio al búfer (a menos que ya se detecte voz).
Nota:
Es posible que el cliente quiera usar este evento para interrumpir la reproducción de audio o proporcionar comentarios visuales al usuario.
El cliente debe esperar recibir un input_audio_buffer.speech_stopped evento cuando se detiene la voz. La item_id propiedad es el identificador del elemento de mensaje de usuario creado cuando se detiene la voz. También item_id se incluye en el input_audio_buffer.speech_stopped evento a menos que el cliente confirme manualmente el búfer de audio durante la activación de VAD.
Estructura de eventos
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.speech_started. |
| audio_start_ms | entero | Milisegundos desde el principio de todo el audio escrito en el búfer durante la sesión cuando se detectó la voz por primera vez. Esta propiedad corresponde al principio del audio enviado al modelo y, por tanto, incluye el prefix_padding_ms configurado en la sesión. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario creado cuando se detiene la voz. |
input_audio_buffer.speech_stopped
El evento de servidor input_audio_buffer.speech_stopped se devuelve en server_vad modo cuando el servidor detecta el final de la voz en el búfer de audio.
El servidor también envía un conversation.item.created evento con el elemento de mensaje de usuario creado a partir del búfer de audio.
Estructura de eventos
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser input_audio_buffer.speech_stopped. |
| audio_end_ms | entero | Milisegundos desde que se inició la sesión cuando se detuvo la voz. Esta propiedad corresponde al final del audio enviado al modelo y, por tanto, incluye el min_silence_duration_ms configurado en la sesión. |
| item_id | cuerda / cadena | Identificador del elemento de mensaje de usuario creado. |
rate_limits.updated
El evento de servidor rate_limits.updated se emite al principio de una respuesta para indicar los límites de velocidad actualizados.
Cuando se crea una respuesta, algunos tokens se reservan para los tokens de salida. Los límites de tarifas que se muestran aquí reflejan esa reserva, que se ajusta en consecuencia una vez completada la respuesta.
Estructura de eventos
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser rate_limits.updated. |
| rate_limits | matriz de RealtimeRateLimitsItem | Lista de información de límite de velocidad. |
response.audio.delta
El evento de servidor response.audio.delta se devuelve cuando se actualiza el audio generado por el modelo.
Estructura de eventos
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
| delta | cuerda / cadena | Delta de datos de audio codificados en Base64. |
response.audio.done
El evento de servidor response.audio.done se devuelve cuando se realiza el audio generado por el modelo.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio.done. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
response.audio_transcript.delta
El evento de servidor response.audio_transcript.delta se devuelve cuando se actualiza la transcripción generada por el modelo de salida de audio.
Estructura de eventos
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio_transcript.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
| delta | cuerda / cadena | Delta de transcripción. |
response.audio_transcript.done
El evento de servidor response.audio_transcript.done se devuelve cuando la transcripción generada por el modelo de salida de audio se realiza en streaming.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.audio_transcript.done. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
| transcript | cuerda / cadena | Transcripción final del audio. |
response.function_call_arguments.delta
El evento de servidor response.function_call_arguments.delta se devuelve cuando se actualizan los argumentos de llamada de función generados por el modelo.
Estructura de eventos
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.function_call_arguments.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| call_id | cuerda / cadena | Identificador de la llamada de función. |
| delta | cuerda / cadena | Los argumentos delta como una cadena JSON. |
response.function_call_arguments.done
El evento de servidor response.function_call_arguments.done se devuelve cuando los argumentos de llamada de función generados por el modelo se realizan streaming.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.function_call_arguments.done. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| call_id | cuerda / cadena | Identificador de la llamada de función. |
| argumentos | cuerda / cadena | Argumentos finales como una cadena JSON. |
mcp_list_tools.in_progress
El evento de servidor mcp_list_tools.in_progress se devuelve cuando el servicio comienza a enumerar las herramientas disponibles desde un servidor mcp.
Estructura de eventos
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser mcp_list_tools.in_progress. |
| item_id | cuerda / cadena | Identificador del elemento de herramientas de lista de MCP que se está procesando. |
mcp_list_tools.completed
El evento de servidor mcp_list_tools.completed se devuelve cuando el servicio completa la lista de herramientas disponibles de un servidor mcp.
Estructura de eventos
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser mcp_list_tools.completed. |
| item_id | cuerda / cadena | Identificador del elemento de herramientas de lista de MCP que se está procesando. |
mcp_list_tools.failed
El evento de servidor mcp_list_tools.failed se devuelve cuando el servicio no puede enumerar las herramientas disponibles de un servidor mcp.
Estructura de eventos
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser mcp_list_tools.failed. |
| item_id | cuerda / cadena | Identificador del elemento de herramientas de lista de MCP que se está procesando. |
response.mcp_call_arguments.delta
El evento de servidor response.mcp_call_arguments.delta se devuelve cuando se actualizan los argumentos de llamada de la herramienta mcp generados por el modelo.
Estructura de eventos
{
"type": "response.mcp_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.mcp_call_arguments.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de la herramienta mcp. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| delta | cuerda / cadena | Los argumentos delta como una cadena JSON. |
response.mcp_call_arguments.done
El evento de servidor response.mcp_call_arguments.done se devuelve cuando los argumentos de llamada a la herramienta mcp generados por el modelo se realizan streaming.
Estructura de eventos
{
"type": "response.mcp_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.mcp_call_arguments.done. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de la herramienta mcp. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| argumentos | cuerda / cadena | Argumentos finales como una cadena JSON. |
response.mcp_call.in_progress
El evento de servidor response.mcp_call.in_progress se devuelve cuando una llamada a la herramienta MCP comienza el procesamiento.
Estructura de eventos
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.mcp_call.in_progress. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de la herramienta mcp. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
response.mcp_call.completed
El evento de servidor response.mcp_call.completed se devuelve cuando una llamada a la herramienta MCP se completa correctamente.
Estructura de eventos
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.mcp_call.completed. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de la herramienta mcp. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
response.mcp_call.failed
El evento de servidor response.mcp_call.failed se devuelve cuando se produce un error en una llamada a la herramienta MCP.
Estructura de eventos
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.mcp_call.failed. |
| item_id | cuerda / cadena | Identificador del elemento de llamada de la herramienta mcp. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
response.output_item.added
El evento de servidor response.output_item.added se devuelve cuando se crea un nuevo elemento durante la generación de respuestas.
Estructura de eventos
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.output_item.added. |
| response_id | cuerda / cadena | Identificador de la respuesta a la que pertenece el elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| item | RealtimeConversationResponseItem | Elemento que se agregó. |
response.output_item.done
El evento de servidor response.output_item.done se devuelve cuando se realiza la transmisión por secuencias de un elemento.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.output_item.done. |
| response_id | cuerda / cadena | Identificador de la respuesta a la que pertenece el elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| item | RealtimeConversationResponseItem | Elemento que se realiza la transmisión por secuencias. |
response.text.delta
El evento de servidor response.text.delta se devuelve cuando se actualiza el texto generado por el modelo. El texto corresponde a la text parte de contenido de un elemento de mensaje del asistente.
Estructura de eventos
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.text.delta. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
| delta | cuerda / cadena | Delta de texto. |
response.text.done
El evento de servidor response.text.done se devuelve cuando el texto generado por el modelo se realiza streaming. El texto corresponde a la text parte de contenido de un elemento de mensaje del asistente.
Este evento también se devuelve cuando se interrumpe, incompleta o cancela una respuesta.
Estructura de eventos
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Propiedades
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | El tipo de evento debe ser response.text.done. |
| response_id | cuerda / cadena | Identificador de la respuesta. |
| item_id | cuerda / cadena | Identificador del elemento. |
| output_index | entero | Índice del elemento de salida en la respuesta. |
| content_index | entero | Índice de la parte de contenido de la matriz de contenido del elemento. |
| texto | cuerda / cadena | El contenido final del texto. |
Components
Formatos de audio
RealtimeAudioFormat
Formato de audio base usado para el audio de entrada.
Valores permitidos:
-
pcm16- Formato de audio PCM de 16 bits -
g711_ulaw- Formato de audio de μ-ley G.711 -
g711_alaw- Formato de audio G.711 A-law
RealtimeOutputAudioFormat
Formato de audio usado para el audio de salida con velocidades de muestreo específicas.
Valores permitidos:
-
pcm16- Formato de audio PCM de 16 bits a la velocidad de muestreo predeterminada (24kHz) -
pcm16_8000hz- Formato de audio PCM de 16 bits a velocidad de muestreo de 8 kHz -
pcm16_16000hz- Formato de audio PCM de 16 bits a velocidad de muestreo de 16 kHz -
g711_ulaw- Formato de audio G.711 μ(mu-law) a velocidad de muestreo de 8kHz -
g711_alaw- Formato de audio G.711 A-law a velocidad de muestreo de 8kHz
RealtimeAudioInputTranscriptionSettings
Configuración de la transcripción de audio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| model | cuerda / cadena | Modelo de transcripción. Compatible con gpt-realtime y gpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize.Compatible con todos los demás modelos y agentes: azure-speech |
| lenguaje | cuerda / cadena | Código de idioma opcional en BCP-47 (por ejemplo, en-US) o ISO-639-1 (por ejemplo, en) o varios idiomas con detección automática (por ejemplo, en,zh). |
| custom_speech | objeto | Configuración opcional para modelos de voz personalizados, solo válido para azure-speech el modelo. |
| phrase_list | string[] | Lista opcional de sugerencias de frase para el reconocimiento de sesgo, solo válida para azure-speech el modelo. |
| inmediato | cuerda / cadena | Texto de solicitud opcional para guiar la transcripción, solo válido para whisper-1los modelos , gpt-4o-transcribegpt-4o-mini-transcribe y gpt-4o-transcribe-diarize . |
RealtimeInputAudioNoiseReductionSettings
Esto puede ser:
- Objeto RealtimeOpenAINoiseReduction
- Un objeto RealtimeAzureDeepNoiseSuppression
RealtimeOpenAINoiseReduction
Configuración de reducción de ruido de OpenAI con campo de tipo explícito, solo disponible para gpt-realtime los modelos y gpt-realtime-mini .
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena |
near_field o far_field |
RealtimeAzureDeepNoiseSuppression
Configuración para la reducción del ruido de audio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure_deep_noise_suppression" |
RealtimeInputAudioEchoCancellationSettings
Configuración de cancelación de eco para el procesamiento de audio del lado servidor.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "server_echo_cancellation" |
Configuración de voz
RealtimeVoice
Unión de todas las configuraciones de voz admitidas.
Esto puede ser:
- Un objeto RealtimeOpenAIVoice
- Un objeto RealtimeAzureVoice
RealtimeOpenAIVoice
Configuración de voz de OpenAI con campo de tipo explícito.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "openai" |
| nombre | cuerda / cadena | Nombre de voz de OpenAI: alloy, ash, ballad, coralechosageshimmer, , versemarincedar |
RealtimeAzureVoice
Base para las configuraciones de voz de Azure. Se trata de una unión discriminada con diferentes tipos:
RealtimeAzureStandardVoice
Configuración de voz estándar de Azure.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure-standard" |
| nombre | cuerda / cadena | Nombre de voz (no puede estar vacío) |
| temperatura | number | Optional. Temperatura entre 0,0 y 1,0 |
| custom_lexicon_url | cuerda / cadena | Optional. Dirección URL al léxico personalizado |
| prefer_locales | string[] | Optional. Configuraciones regionales preferidas Preferir configuraciones regionales cambiará los acentos de los idiomas. Si no se establece el valor, TTS usará el énfasis predeterminado de cada idioma. Por ejemplo, cuando TTS habla inglés, usará el acento inglés americano. Y al hablar español, usará el acento español mexicano. Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés será inglés británico y el acento español será español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc. |
| configuración regional | cuerda / cadena | Optional. Especificación de configuración regional Aplicar la configuración regional para la salida de TTS. Si no se establece, TTS siempre usará la configuración regional especificada para hablar. Por ejemplo, establecer la configuración regional en-USen , TTS siempre usará acento inglés americano para hablar el contenido del texto, incluso el contenido del texto está en otro idioma. Y TTS generará silencio si el contenido de texto está en chino. |
| style | cuerda / cadena | Optional. Estilo de voz |
| alquitrán | cuerda / cadena | Optional. Ajuste de tono |
| tasa | cuerda / cadena | Optional. Ajuste de frecuencia de voz |
| volume | cuerda / cadena | Optional. Ajuste del volumen |
RealtimeAzureCustomVoice
Configuración de voz personalizada de Azure (preferida para voces personalizadas).
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure-custom" |
| nombre | cuerda / cadena | Nombre de voz (no puede estar vacío) |
| endpoint_id | cuerda / cadena | Id. de punto de conexión (no puede estar vacío) |
| temperatura | number | Optional. Temperatura entre 0,0 y 1,0 |
| custom_lexicon_url | cuerda / cadena | Optional. Dirección URL al léxico personalizado |
| prefer_locales | string[] | Optional. Configuraciones regionales preferidas Preferir configuraciones regionales cambiará los acentos de los idiomas. Si no se establece el valor, TTS usará el énfasis predeterminado de cada idioma. Por ejemplo, cuando TTS habla inglés, usará el acento inglés americano. Y al hablar español, usará el acento español mexicano. Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés será inglés británico y el acento español será español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc. |
| configuración regional | cuerda / cadena | Optional. Especificación de configuración regional Aplicar la configuración regional para la salida de TTS. Si no se establece, TTS siempre usará la configuración regional especificada para hablar. Por ejemplo, establecer la configuración regional en-USen , TTS siempre usará acento inglés americano para hablar el contenido del texto, incluso el contenido del texto está en otro idioma. Y TTS generará silencio si el contenido de texto está en chino. |
| style | cuerda / cadena | Optional. Estilo de voz |
| alquitrán | cuerda / cadena | Optional. Ajuste de tono |
| tasa | cuerda / cadena | Optional. Ajuste de frecuencia de voz |
| volume | cuerda / cadena | Optional. Ajuste del volumen |
Ejemplo:
{
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful",
"locale": "en-US"
}
RealtimeAzurePersonalVoice
Configuración de voz personal de Azure.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure-personal" |
| nombre | cuerda / cadena | Nombre de voz (no puede estar vacío) |
| temperatura | number | Optional. Temperatura entre 0,0 y 1,0 |
| model | cuerda / cadena | Modelo neuronal subyacente: DragonLatestNeural, PhoenixLatestNeural, PhoenixV2Neural |
| custom_lexicon_url | cuerda / cadena | Optional. Dirección URL al léxico personalizado |
| prefer_locales | string[] | Optional. Configuraciones regionales preferidas Preferir configuraciones regionales cambiará los acentos de los idiomas. Si no se establece el valor, TTS usará el énfasis predeterminado de cada idioma. Por ejemplo, cuando TTS habla inglés, usará el acento inglés americano. Y al hablar español, usará el acento español mexicano. Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés será inglés británico y el acento español será español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc. |
| configuración regional | cuerda / cadena | Optional. Especificación de configuración regional Aplicar la configuración regional para la salida de TTS. Si no se establece, TTS siempre usará la configuración regional especificada para hablar. Por ejemplo, establecer la configuración regional en-USen , TTS siempre usará acento inglés americano para hablar el contenido del texto, incluso el contenido del texto está en otro idioma. Y TTS generará silencio si el contenido de texto está en chino. |
| alquitrán | cuerda / cadena | Optional. Ajuste de tono |
| tasa | cuerda / cadena | Optional. Ajuste de frecuencia de voz |
| volume | cuerda / cadena | Optional. Ajuste del volumen |
Detección de turnos
RealtimeTurnDetection
Configuración para la detección de turnos. Se trata de una unión discriminada que admite varios tipos VAD.
RealtimeServerVAD
Detección de turnos basada en VAD base.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "server_vad" |
| threshold | number | Optional. Umbral de activación (0,0-1,0) |
| prefix_padding_ms | entero | Optional. Relleno de audio antes de que se inicie la voz |
| silence_duration_ms | entero | Optional. Duración del silencio para detectar el final de voz |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuración de detección de fin de expresión |
| crear_respuesta | boolean | Optional. Habilite o deshabilite si se genera una respuesta. |
| respuesta_a_interrupciones | boolean | Optional. Habilite o deshabilite la interrupción de entrada (valor predeterminado: false) |
| auto_truncate | boolean | Optional. Truncar automáticamente la interrupción (valor predeterminado: false) |
RealtimeOpenAISemanticVAD
Configuración vaD semántica de OpenAI que usa un modelo para determinar cuándo el usuario ha terminado de hablar. Solo está disponible para gpt-realtime los modelos y gpt-realtime-mini .
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "semantic_vad" |
| ansia | cuerda / cadena | Optional. Esta es una manera de controlar el modo en que el modelo es interrumpir al usuario, optimizando el tiempo de espera máximo. En el modo de transcripción, incluso si el modelo no responde, afecta a cómo se fragmenta el audio. Se permiten los siguientes valores: - auto (valor predeterminado) es equivalente a medium,- low permitirá que el usuario tarde su tiempo en hablar,- high fragmentará el audio lo antes posible.Si desea que el modelo responda con más frecuencia en el modo de conversación o para devolver eventos de transcripción más rápido en el modo de transcripción, puede establecer el entusiasmo en high.Por otro lado, si desea permitir que el usuario hable sin interrupciones en el modo de conversación, o si desea fragmentos de transcripción más grandes en el modo de transcripción, puede establecer el entusiasmo en low. |
| crear_respuesta | boolean | Optional. Habilite o deshabilite si se genera una respuesta. |
| respuesta_a_interrupciones | boolean | Optional. Habilite o deshabilite la interrupción de entrada (valor predeterminado: false) |
RealtimeAzureSemanticVAD
VAD semántico de Azure, que determina cuándo se inicia y habla el usuario mediante un modelo de voz semántica, lo que proporciona una detección más sólida en entornos ruidosos.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure_semantic_vad" |
| threshold | number | Optional. Umbral de activación |
| prefix_padding_ms | entero | Optional. Relleno de audio antes de la voz |
| silence_duration_ms | entero | Optional. Duración del silencio para el final de voz |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuración de detección de EOU |
| speech_duration_ms | entero | Optional. Duración mínima de voz |
| remove_filler_words | boolean | Optional. Quitar palabras del relleno (valor predeterminado: false) |
| Idiomas | string[] | Optional. Admite inglés. Se omitirán otros idiomas. |
| crear_respuesta | boolean | Optional. Habilite o deshabilite si se genera una respuesta. |
| respuesta_a_interrupciones | boolean | Optional. Habilite o deshabilite la interrupción de entrada (valor predeterminado: false) |
| auto_truncate | boolean | Optional. Truncar automáticamente la interrupción (valor predeterminado: false) |
RealtimeAzureSemanticVADMultilingual
VAD semántico de Azure (variante predeterminada).
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "azure_semantic_vad_multilingual" |
| threshold | number | Optional. Umbral de activación |
| prefix_padding_ms | entero | Optional. Relleno de audio antes de la voz |
| silence_duration_ms | entero | Optional. Duración del silencio para el final de voz |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuración de detección de EOU |
| speech_duration_ms | entero | Optional. Duración mínima de voz |
| remove_filler_words | boolean | Optional. Quite las palabras del relleno (valor predeterminado: false). |
| Idiomas | string[] | Optional. Admite inglés, español, francés, italiano, alemán (DE), japonés, portugués, chino, coreano, hindi. Se omitirán otros idiomas. |
| crear_respuesta | boolean | Optional. Habilite o deshabilite si se genera una respuesta. |
| respuesta_a_interrupciones | boolean | Optional. Habilite o deshabilite la interrupción de entrada (valor predeterminado: false) |
| auto_truncate | boolean | Optional. Truncar automáticamente la interrupción (valor predeterminado: false) |
RealtimeEOUDetection
Azure End-of-Utterance (EOU) podría indicar cuándo el usuario final dejó de hablar mientras permitía pausas naturales. La detección de finales de expresiones puede reducir significativamente las señales prematuras de fin de turno sin agregar latencia que se pueda percibir por el usuario.
| Campo | Tipo | Description |
|---|---|---|
| model | cuerda / cadena | Podría ser semantic_detection_v1 compatible con inglés o semantic_detection_v1_multilingual apoyo inglés, español, francés, italiano, alemán (DE), japonés, portugués, chino, coreano, hindi |
| threshold_level | cuerda / cadena | Optional. Nivel de umbral de detección (low, mediumy highdefault), el valor predeterminado es igual medium a . Con un valor inferior, la probabilidad de que se complete la oración será mayor. |
| tiempo_de_espera_ms | number | Optional. Tiempo máximo en milisegundos para esperar más voz del usuario. El valor predeterminado es 1000 ms. |
Configuración del avatar
RealtimeAvatarConfig
Configuración para el streaming y el comportamiento del avatar.
| Campo | Tipo | Description |
|---|---|---|
| ice_servers | RealtimeIceServer[] | Optional. Servidores ICE para WebRTC |
| carácter | cuerda / cadena | Nombre o identificador de carácter para el avatar |
| style | cuerda / cadena | Optional. Estilo de avatar (tono emocional, estilo de habla) |
| Personalizado | boolean | Si el avatar está personalizado |
| video | RealtimeVideoParams | Optional. Configuración de vídeo |
RealtimeIceServer
Configuración del servidor ICE para la negociación de conexiones webRTC.
| Campo | Tipo | Description |
|---|---|---|
| urls | string[] | Direcciones URL del servidor ICE (puntos de conexión TURN o STUN) |
| nombre de usuario | cuerda / cadena | Optional. Nombre de usuario para la autenticación |
| credential | cuerda / cadena | Optional. Credencial para la autenticación |
RealtimeVideoParams
Parámetros de streaming de vídeo para avatar.
| Campo | Tipo | Description |
|---|---|---|
| velocidad de bits | entero | Optional. Velocidad de bits en bits por segundo (valor predeterminado: 2000000) |
| códec | cuerda / cadena | Optional. Códec de vídeo, actualmente solo h264 (valor predeterminado: h264) |
| crop | RealtimeVideoCrop | Optional. Recorte de la configuración |
| resolución | RealtimeVideoResolution | Optional. Configuración de resolución |
RealtimeVideoCrop
Definición del rectángulo de recorte de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| top_left | integer[] | Esquina superior izquierda [x, y], enteros no negativos |
| bottom_right | integer[] | Esquina inferior derecha [x, y], enteros no negativos |
RealtimeVideoResolution
Especificación de resolución de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| Ancho | entero | Ancho en píxeles (debe ser > 0) |
| altura | entero | Alto en píxeles (debe ser > 0) |
Configuración de animación
RealtimeAnimation
Configuración para las salidas de animación, incluidas blendshapes y visemes.
| Campo | Tipo | Description |
|---|---|---|
| model_name | cuerda / cadena | Optional. Nombre del modelo de animación (valor predeterminado: "default") |
| outputs | RealtimeAnimationOutputType[] | Optional. Tipos de salida (valor predeterminado: ["blendshapes"]) |
RealtimeAnimationOutputType
Tipos de datos de animación que se van a generar.
Valores permitidos:
-
blendshapes- Datos de blendshapes faciales -
viseme_id- Datos del identificador de Viseme
Configuración de sesión
RealtimeRequestSession
Objeto de configuración de sesión usado en session.update eventos.
| Campo | Tipo | Description |
|---|---|---|
| model | cuerda / cadena | Optional. Nombre del modelo que se va a usar |
| modalities | RealtimeModality[] | Optional. Las modalidades admitidas para la sesión. Por ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de texto y audio. Para habilitar solo texto, establezca "modalities": ["text"]. Para habilitar la salida del avatar, establezca "modalities": ["text", "audio", "avatar"]. No se puede habilitar solo el audio. |
| animación | RealtimeAnimation | Optional. Configuración de animación |
| voz | RealtimeVoice | Optional. Configuración de voz |
| instructions | cuerda / cadena | Optional. Instrucciones del sistema para el modelo. Las instrucciones podrían guiar el audio de salida si se usan voces openAI, pero es posible que no se apliquen a las voces de Azure. |
| input_audio_sampling_rate | entero | Optional. Frecuencia de muestreo de audio de entrada en Hz (valor predeterminado: 24000 para pcm16, 8000 para g711_ulaw y g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Formato de audio de entrada (valor predeterminado: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Formato de audio de salida (valor predeterminado: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Configuración para la reducción del ruido de audio de entrada. Esto se puede establecer en null para desactivar. Reducción de ruido filtra el audio agregado al búfer del audio de entrada antes de enviarlo a VAD y al modelo. El filtrado del audio puede mejorar la precisión de VAD y la detección de turnos (reduciendo los falsos positivos) y el rendimiento del modelo al mejorar la percepción del audio de entrada. Esta propiedad admite valores NULL. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Configuración para la cancelación de eco de audio de entrada. Esto se puede establecer en null para desactivar. Esta cancelación de eco del lado del servicio puede ayudar a mejorar la calidad del audio de entrada reduciendo el impacto del eco y la reverberación. Esta propiedad admite valores NULL. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Configuración de la transcripción de audio de entrada. La configuración es null (off) de forma predeterminada. La transcripción de audio de entrada no es nativa del modelo, ya que el modelo consume audio directamente. La transcripción se ejecuta de forma asincrónica a través del /audio/transcriptions punto de conexión y debe tratarse como guía del contenido de audio de entrada en lugar de precisamente lo que el modelo oyó. Para obtener instrucciones adicionales sobre el servicio de transcripción, el cliente puede establecer opcionalmente el idioma y solicitar la transcripción.Esta propiedad admite valores NULL. |
| turn_detection | RealtimeTurnDetection | Configuración de detección de turnos para la sesión. Esto se puede establecer en null para desactivar. |
| herramientas | matriz de RealtimeTool | Las herramientas disponibles para el modelo para la sesión. |
| tool_choice | RealtimeToolChoice | La opción de herramienta para la sesión. Valores permitidos: auto, noney required. De lo contrario, puede especificar el nombre de la función que se va a usar. |
| temperatura | number | Temperatura de muestreo del modelo. Los valores de temperatura permitidos están limitados a [0.6, 1.2]. El valor predeterminado es 0.8. |
| max_response_output_tokens | entero o "inf" | El número máximo de tokens de salida por respuesta del asistente, incluido el de las llamadas a herramientas. Especifique un entero entre 1 y 4096 para limitar los tokens de salida. De lo contrario, establezca el valor en "inf" para permitir el número máximo de tokens. Por ejemplo, para limitar los tokens de salida a 1000, establezca "max_response_output_tokens": 1000. Para permitir el número máximo de tokens, establezca "max_response_output_tokens": "inf".Tiene como valor predeterminado "inf". |
| avatar | RealtimeAvatarConfig | Optional. Configuración del avatar |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Tipos de marca de tiempo para el audio de salida |
RealtimeModality
Modalidades de sesión admitidas.
Valores permitidos:
-
text- Entrada y salida de texto -
audio- Entrada y salida de audio -
animation- Salida de animación -
avatar- Salida de vídeo avatar
RealtimeAudioTimestampType
Tipos de marca de tiempo de salida admitidos en el contenido de respuesta de audio.
Valores permitidos:
-
word- Marcas de tiempo por palabra en el audio de salida
Configuración de herramientas
Se admiten dos tipos de herramientas: llamadas a funciones y herramientas de MCP que permiten conectarse a un servidor mcp.
RealtimeTool
Definición de la herramienta para las llamadas a funciones.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "function" |
| nombre | cuerda / cadena | Nombre de la función |
| descripción | cuerda / cadena | Instrucciones de uso y descripción de funciones |
| parameters | objeto | Parámetros de función como objeto de esquema JSON |
RealtimeToolChoice
Estrategia de selección de herramientas.
Esto puede ser:
-
"auto"- Permitir que el modelo elija -
"none"- No usar herramientas -
"required"- Debe usar una herramienta -
{ "type": "function", "name": "function_name" }- Uso de una función específica
MCPTool
Configuración de la herramienta MCP.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "mcp" |
| etiqueta del servidor | cuerda / cadena | Obligatorio. Etiqueta del servidor MCP. |
| server_url | cuerda / cadena | Obligatorio. Dirección URL del servidor MCP. |
| herramientas_permitidas | string[] | Optional. Lista de nombres de herramientas permitidos. Si no se especifica, se permiten todas las herramientas. |
| headers | objeto | Optional. Encabezados adicionales que se van a incluir en las solicitudes MCP. |
| autorización | cuerda / cadena | Optional. Token de autorización para solicitudes MCP. |
| requerir_aprobación | string o dictionary | Optional. Si se establece en una cadena, el valor debe ser never o always. Si se establece en un diccionario, debe tener el formato {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}. El valor predeterminado es always. Cuando se establece en always, la ejecución de la herramienta requiere aprobación, mcp_approval_request se enviará al cliente cuando haya terminado el argumento mcp y solo se ejecutará cuando se reciba mcp_approval_response con approve=true . Cuando se establece en never, la herramienta se ejecutará automáticamente sin aprobación. |
RealtimeConversationResponseItem
Se trata de un tipo de unión que puede ser uno de los siguientes:
RealtimeConversationUserMessageItem
Elemento de mensaje de usuario.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "message" |
| objeto | cuerda / cadena | Debe ser "conversation.item" |
| role | cuerda / cadena | Debe ser "user" |
| contenido | RealtimeInputTextContentPart | Contenido del mensaje. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeConversationAssistantMessageItem
Elemento de mensaje del asistente.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "message" |
| objeto | cuerda / cadena | Debe ser "conversation.item" |
| role | cuerda / cadena | Debe ser "assistant" |
| contenido | RealtimeOutputTextContentPart[] o RealtimeOutputAudioContentPart[] | Contenido del mensaje. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeConversationSystemMessageItem
Elemento de mensaje del sistema.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "message" |
| objeto | cuerda / cadena | Debe ser "conversation.item" |
| role | cuerda / cadena | Debe ser "system" |
| contenido | RealtimeInputTextContentPart[] | Contenido del mensaje. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeConversationFunctionCallItem
Elemento de solicitud de llamada de función.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "function_call" |
| objeto | cuerda / cadena | Debe ser "conversation.item" |
| nombre | cuerda / cadena | El nombre de la función que se va a llamar. |
| argumentos | cuerda / cadena | Argumentos de la llamada de función como una cadena JSON. |
| call_id | cuerda / cadena | Identificador único de la llamada de función. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeConversationFunctionCallOutputItem
Elemento de respuesta de llamada de función.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "function_call_output" |
| objeto | cuerda / cadena | Debe ser "conversation.item" |
| nombre | cuerda / cadena | Nombre de la función a la que se llamó. |
| output | cuerda / cadena | Salida de la llamada de función. |
| call_id | cuerda / cadena | Identificador único de la llamada de función. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeConversationMCPListToolsItem
Elemento de respuesta de las herramientas de lista de MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "mcp_list_tools" |
| etiqueta del servidor | cuerda / cadena | Etiqueta del servidor MCP. |
RealtimeConversationMCPCallItem
Elemento de respuesta de llamada de MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "mcp_call" |
| etiqueta del servidor | cuerda / cadena | Etiqueta del servidor MCP. |
| nombre | cuerda / cadena | Nombre de la herramienta a la que se va a llamar. |
| approval_request_id | cuerda / cadena | Identificador de solicitud de aprobación para la llamada MCP. |
| argumentos | cuerda / cadena | Argumentos de la llamada MCP. |
| output | cuerda / cadena | Salida de la llamada MCP. |
| error | objeto | Los detalles del error si se produjo un error en la llamada de MCP. |
RealtimeConversationMCPApprovalRequestItem
Elemento de solicitud de aprobación de MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Identificador único del elemento. |
| type | cuerda / cadena | Debe ser "mcp_approval_request" |
| etiqueta del servidor | cuerda / cadena | Etiqueta del servidor MCP. |
| nombre | cuerda / cadena | Nombre de la herramienta a la que se va a llamar. |
| argumentos | cuerda / cadena | Argumentos de la llamada MCP. |
RealtimeItemStatus
Estado de los elementos de conversación.
Valores permitidos:
-
in_progress- Actualmente se está procesando -
completed- Completado correctamente -
incomplete- Incompleto (interrumpido o erróneo)
RealtimeContentPart
Elemento de contenido dentro de un mensaje.
RealtimeInputTextContentPart
Elemento de contenido de texto.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "input_text" |
| texto | cuerda / cadena | El contenido del texto |
RealtimeOutputTextContentPart
Elemento de contenido de texto.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "text" |
| texto | cuerda / cadena | El contenido del texto |
RealtimeInputAudioContentPart
Elemento de contenido de audio.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "input_audio" |
| audio | cuerda / cadena | Optional. Datos de audio codificados en Base64 |
| transcript | cuerda / cadena | Optional. Transcripción de audio |
RealtimeOutputAudioContentPart
Elemento de contenido de audio.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Debe ser "audio" |
| audio | cuerda / cadena | Datos de audio codificados en Base64 |
| transcript | cuerda / cadena | Optional. Transcripción de audio |
Objetos de respuesta
RealtimeResponse
Objeto de respuesta que representa una respuesta de inferencia de modelo.
| Campo | Tipo | Description |
|---|---|---|
| id | cuerda / cadena | Optional. Id. de respuesta |
| objeto | cuerda / cadena | Optional. Siempre "realtime.response" |
| estado | RealtimeResponseStatus | Optional. Estado de respuesta |
| detalles_del_estado | RealtimeResponseStatusDetails | Optional. Detalles de estado |
| output | RealtimeConversationResponseItem[] | Optional. Elementos de salida |
| usage | RealtimeUsage | Optional. Estadísticas de uso de tokens |
| conversation_id | cuerda / cadena | Optional. Identificador de conversación asociado |
| voz | RealtimeVoice | Optional. Voz usada para la respuesta |
| modalities | string[] | Optional. Modalidades usadas |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Formato de audio usado |
| temperatura | number | Optional. Temperatura usada |
| max_response_output_tokens | entero o "inf" | Optional. Número máximo de tokens usados |
RealtimeResponseStatus
Valores de estado de respuesta.
Valores permitidos:
-
in_progress- Se está generando la respuesta -
completed- Respuesta completada correctamente -
cancelled- Se canceló la respuesta -
incomplete- Respuesta incompleta (interrumpida) -
failed- Error de respuesta
RealtimeUsage
Estadísticas de uso de tokens.
| Campo | Tipo | Description |
|---|---|---|
| total_tokens | entero | Total de tokens usados |
| input_tokens | entero | Tokens de entrada usados |
| output_tokens | entero | Tokens de salida generados |
| input_token_details | TokenDetails | Desglose de los tokens de entrada |
| output_token_details | TokenDetails | Desglose de los tokens de salida |
TokenDetails
Desglose detallado del uso de tokens.
| Campo | Tipo | Description |
|---|---|---|
| cached_tokens | entero | Optional. Tokens almacenados en caché usados |
| text_tokens | entero | Optional. Tokens de texto usados |
| audio_tokens | entero | Optional. Tokens de audio usados |
Tratamiento de errores
RealtimeErrorDetails
Objeto de información de error.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo de error (por ejemplo, "invalid_request_error", "server_error") |
| código | cuerda / cadena | Optional. Código de error específico |
| Mensaje | cuerda / cadena | Descripción del error legible para personas |
| param | cuerda / cadena | Optional. Parámetro relacionado con el error |
| event_id | cuerda / cadena | Optional. Identificador del evento de cliente que provocó el error |
RealtimeConversationRequestItem
El objeto se usa RealtimeConversationRequestItem para crear un nuevo elemento en la conversación a través del evento conversation.item.create .
Se trata de un tipo de unión que puede ser uno de los siguientes:
RealtimeSystemMessageItem
Un elemento de mensaje del sistema.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: message |
| role | cuerda / cadena | Rol del mensaje. Valores permitidos: system |
| contenido | matriz de RealtimeInputTextContentPart | Contenido del mensaje. |
| id | cuerda / cadena | Identificador único del elemento. El cliente puede especificar el identificador para ayudar a administrar el contexto del lado servidor. Si el cliente no proporciona un identificador, el servidor genera uno. |
RealtimeUserMessageItem
Un elemento de mensaje de usuario.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: message |
| role | cuerda / cadena | Rol del mensaje. Valores permitidos: user |
| contenido | matriz de RealtimeInputTextContentPart o RealtimeInputAudioContentPart | Contenido del mensaje. |
| id | cuerda / cadena | Identificador único del elemento. El cliente puede especificar el identificador para ayudar a administrar el contexto del lado servidor. Si el cliente no proporciona un identificador, el servidor genera uno. |
RealtimeAssistantMessageItem
Elemento de mensaje del asistente.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: message |
| role | cuerda / cadena | Rol del mensaje. Valores permitidos: assistant |
| contenido | matriz de RealtimeOutputTextContentPart | Contenido del mensaje. |
RealtimeFunctionCallItem
Un elemento de llamada de función.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: function_call |
| nombre | cuerda / cadena | El nombre de la función que se va a llamar. |
| argumentos | cuerda / cadena | Argumentos de la llamada de función como una cadena JSON. |
| call_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| id | cuerda / cadena | Identificador único del elemento. El cliente puede especificar el identificador para ayudar a administrar el contexto del lado servidor. Si el cliente no proporciona un identificador, el servidor genera uno. |
RealtimeFunctionCallOutputItem
Un elemento de salida de llamada de función.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: function_call_output |
| call_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| output | cuerda / cadena | La salida de la llamada de función, esta es una cadena de forma libre con el resultado de la función, también podría estar vacía. |
| id | cuerda / cadena | Identificador único del elemento. Si el cliente no proporciona un identificador, el servidor genera uno. |
RealtimeMCPApprovalResponseItem
Un elemento de respuesta de aprobación de MCP.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: mcp_approval_response |
| aprobar | boolean | Si se aprueba la solicitud MCP. |
| approval_request_id | cuerda / cadena | Identificador de la solicitud de aprobación de MCP. |
RealtimeFunctionTool
Definición de una herramienta de función tal como la usa el punto de conexión en tiempo real.
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo de la herramienta. Valores permitidos: function |
| nombre | cuerda / cadena | El nombre de la función. |
| descripción | cuerda / cadena | Descripción de la función, incluidas las directrices de uso. Por ejemplo, "Use esta función para obtener la hora actual". |
| parameters | objeto | Parámetros de la función en forma de un objeto JSON. |
RealtimeItemStatus
Valores permitidos:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento de contenido. Valores permitidos: audio |
| transcript | cuerda / cadena | Transcripción del audio. Esta propiedad admite valores NULL. |
RealtimeResponseFunctionCallItem
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: function_call |
| nombre | cuerda / cadena | Nombre del elemento de llamada de función. |
| call_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| argumentos | cuerda / cadena | Argumentos del elemento de llamada de función. |
| estado | RealtimeItemStatus | Estado del elemento. |
RealtimeResponseFunctionCallOutputItem
| Campo | Tipo | Description |
|---|---|---|
| type | cuerda / cadena | Tipo del elemento. Valores permitidos: function_call_output |
| call_id | cuerda / cadena | Identificador del elemento de llamada de función. |
| output | cuerda / cadena | Salida del elemento de llamada de función. |
RealtimeResponseOptions
| Campo | Tipo | Description |
|---|---|---|
| modalities | array | Las modalidades que admite la sesión. Valores permitidos: text, audioPor ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de texto y audio. Para habilitar solo texto, establezca "modalities": ["text"]. No se puede habilitar solo el audio. |
| instructions | cuerda / cadena | Las instrucciones (el mensaje del sistema) para guiar las respuestas del modelo. |
| voz | RealtimeVoice | Voz usada para la respuesta del modelo para la sesión. Una vez que la voz se usa en la sesión para la respuesta de audio del modelo, no se puede cambiar. |
| herramientas | matriz de RealtimeTool | Las herramientas disponibles para el modelo para la sesión. |
| tool_choice | RealtimeToolChoice | La opción de herramienta para la sesión. |
| temperatura | number | Temperatura de muestreo del modelo. Los valores de temperatura permitidos están limitados a [0.6, 1.2]. El valor predeterminado es 0.8. |
| max_response_output_tokens | entero o "inf" | El número máximo de tokens de salida por respuesta del asistente, incluido el de las llamadas a herramientas. Especifique un entero entre 1 y 4096 para limitar los tokens de salida. De lo contrario, establezca el valor en "inf" para permitir el número máximo de tokens. Por ejemplo, para limitar los tokens de salida a 1000, establezca "max_response_output_tokens": 1000. Para permitir el número máximo de tokens, establezca "max_response_output_tokens": "inf".Tiene como valor predeterminado "inf". |
| conversación | cuerda / cadena | Controla a qué conversación se agrega la respuesta. Los valores admitidos son auto y none.El auto valor (o no establecer esta propiedad) garantiza que el contenido de la respuesta se agregue a la conversación predeterminada de la sesión.Establezca esta propiedad en none para crear una respuesta fuera de banda donde los elementos no se agregarán a la conversación predeterminada. De manera predeterminada, su valor es "auto". |
| metadata | mapa | Configuración de hasta 16 pares clave-valor que se pueden asociar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves pueden tener un máximo de 64 caracteres y los valores pueden tener un máximo de 512 caracteres. Por ejemplo: metadata: { topic: "classification" } |
RealtimeResponseSession
El RealtimeResponseSession objeto representa una sesión en la API en tiempo real. Se usa en algunos de los eventos de servidor, como:
| Campo | Tipo | Description |
|---|---|---|
| objeto | cuerda / cadena | Objeto de sesión. Valores permitidos: realtime.session |
| id | cuerda / cadena | Identificador único de la sesión. |
| model | cuerda / cadena | Modelo usado para la sesión. |
| modalities | array | Las modalidades que admite la sesión. Valores permitidos: text, audioPor ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de texto y audio. Para habilitar solo texto, establezca "modalities": ["text"]. No se puede habilitar solo el audio. |
| instructions | cuerda / cadena | Las instrucciones (el mensaje del sistema) para guiar las respuestas de texto y audio del modelo. Estas son algunas instrucciones de ejemplo para ayudar a guiar el contenido y el formato de las respuestas de texto y audio: "instructions": "be succinct""instructions": "act friendly""instructions": "here are examples of good responses"Estas son algunas instrucciones de ejemplo para ayudar a guiar el comportamiento de audio: "instructions": "talk quickly""instructions": "inject emotion into your voice""instructions": "laugh frequently"Aunque es posible que el modelo no siga siempre estas instrucciones, proporcionan instrucciones sobre el comportamiento deseado. |
| voz | RealtimeVoice | Voz usada para la respuesta del modelo para la sesión. Una vez que la voz se usa en la sesión para la respuesta de audio del modelo, no se puede cambiar. |
| input_audio_sampling_rate | entero | Frecuencia de muestreo para el audio de entrada. |
| input_audio_format | RealtimeAudioFormat | Formato del audio de entrada. |
| output_audio_format | RealtimeAudioFormat | Formato del audio de salida. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | La configuración de la transcripción de entrada de audio. Esta propiedad admite valores NULL. |
| turn_detection | RealtimeTurnDetection | Configuración de detección de turnos para la sesión. Esta propiedad admite valores NULL. |
| herramientas | matriz de RealtimeTool | Las herramientas disponibles para el modelo para la sesión. |
| tool_choice | RealtimeToolChoice | La opción de herramienta para la sesión. |
| temperatura | number | Temperatura de muestreo del modelo. Los valores de temperatura permitidos están limitados a [0.6, 1.2]. El valor predeterminado es 0.8. |
| max_response_output_tokens | entero o "inf" | El número máximo de tokens de salida por respuesta del asistente, incluido el de las llamadas a herramientas. Especifique un entero entre 1 y 4096 para limitar los tokens de salida. De lo contrario, establezca el valor en "inf" para permitir el número máximo de tokens. Por ejemplo, para limitar los tokens de salida a 1000, establezca "max_response_output_tokens": 1000. Para permitir el número máximo de tokens, establezca "max_response_output_tokens": "inf". |
RealtimeResponseStatusDetails
| Campo | Tipo | Description |
|---|---|---|
| type | RealtimeResponseStatus | Estado de la respuesta. |
RealtimeRateLimitsItem
| Campo | Tipo | Description |
|---|---|---|
| nombre | cuerda / cadena | El nombre de la propiedad de límite de velocidad sobre el que este elemento incluye información. |
| limit | entero | Límite máximo configurado para esta propiedad de límite de velocidad. |
| remaining | entero | Cuota restante disponible con respecto al límite configurado para esta propiedad de límite de velocidad. |
| reset_seconds | number | El tiempo restante, en segundos, hasta que se restablezca esta propiedad de límite de velocidad. |
Recursos relacionados
- Pruebe el inicio rápido de Voz en vivo
- Prueba el inicio rápido de los agentes de voz en directo
- Más información sobre cómo usar voice live API