Referencia de Voice Live 2025-10-01 API

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).

Key Features

  • 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 de salida configurables, instrucciones y parámetros de respuesta

Client Events

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 la sesión, incluidas las modalidades de voz, las modalidades de salida, la detección de turnos y otras opciones de configuración.
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

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 de salida, 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.

Event Structure

{
  "type": "session.update",
  "session": {
    "modalities": ["text", "audio"],
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "instructions": "You are a helpful assistant. Be concise and friendly.",
    "input_audio_format": "pcm16",
    "output_audio_format": "pcm16",
    "input_audio_sampling_rate": 24000,
    "turn_detection": {
      "type": "azure_semantic_vad",
      "threshold": 0.5,
      "prefix_padding_ms": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Properties

Field Type Description
type string Debe ser "session.update"
session 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.

Event Structure

{
  "type": "session.avatar.connect",
  "client_sdp": "<client_sdp>"
}

Properties

Field Type Description
type string Debe ser "session.avatar.connect"
client_sdp string La oferta de SDP del cliente para el establecimiento de conexiones WebRTC, codificada con base64

input_audio_buffer.append

Anexe bytes de audio al búfer de audio de entrada.

Event Structure

{
  "type": "input_audio_buffer.append",
  "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}

Properties

Field Type Description
type string Debe ser "input_audio_buffer.append"
audio string Datos de audio codificados en Base64

input_audio_buffer.commit

Confirme el búfer de audio de entrada para su procesamiento.

Event Structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string Debe ser "input_audio_buffer.commit"

input_audio_buffer.clear

Borre el búfer de audio de entrada.

Event Structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string 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.

Event Structure

{
  "type": "conversation.item.create",
  "previous_item_id": "item_ABC123",
  "item": {
    "id": "item_DEF456",
    "type": "message",
    "role": "user",
    "content": [
      {
        "type": "input_text",
        "text": "Hello, how are you?"
      }
    ]
  }
}

Properties

Field Type Description
type string Debe ser "conversation.item.create"
previous_item_id string 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 salida de llamada de función

{
  "type": "conversation.item.create",
  "item": {
    "type": "function_call_output",
    "call_id": "call_123",
    "output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
  }
}

Ejemplo con la respuesta de aprobación de MCP

{
  "type": "conversation.item.create",
  "item": {
    "type": "mcp_approval_response",
    "approval_request_id": "mcp_approval_req_456",
    "approve": true,
  }
}

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.

Event Structure

{
  "type": "conversation.item.retrieve",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Debe ser "conversation.item.retrieve"
item_id string 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.

Event Structure

{
  "type": "conversation.item.truncate",
  "item_id": "item_ABC123",
  "content_index": 0,
  "audio_end_ms": 5000
}

Properties

Field Type Description
type string Debe ser "conversation.item.truncate"
item_id string Identificador del elemento de mensaje del asistente que se va a truncar
content_index integer Índice del elemento de contenido que se va a truncar
audio_end_ms integer Duración hasta la que se trunca el audio, en milisegundos

conversation.item.delete

Quite un elemento del historial de conversaciones.

Event Structure

{
  "type": "conversation.item.delete",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Debe ser "conversation.item.delete"
item_id string 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.

Event Structure

{
  "type": "response.create",
  "response": {
    "modalities": ["text", "audio"],
    "instructions": "Be extra helpful and detailed.",
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "output_audio_format": "pcm16",
    "temperature": 0.7,
    "max_response_output_tokens": 1000
  }
}

Properties

Field Type Description
type string 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.

Event Structure

{
  "type": "response.cancel"
}

Properties

Field Type Description
type string Debe ser "response.cancel"

input_audio_buffer.append

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, transmitir 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.

Event structure

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

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.append.
audio string Bytes de audio codificados en Base64. Este valor debe estar en el formato especificado por el campo input_audio_format en la configuración de sesión.

input_audio_buffer.clear

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 evento input_audio_buffer.cleared.

Event structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.clear.

input_audio_buffer.commit

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 evento input_audio_buffer.committed.

Event structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.commit.

Server Events

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.
warning Indica una advertencia que no interrumpe el flujo de conversación.
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 El búfer de audio de entrada era 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.

Event Structure

{
  "type": "session.created",
  "session": {
    "id": "sess_ABC123DEF456",
    "object": "realtime.session",
    "model": "gpt-realtime",
    "modalities": ["text", "audio"],
    "instructions": "You are a helpful assistant.",
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "input_audio_format": "pcm16",
    "output_audio_format": "pcm16",
    "input_audio_sampling_rate": 24000,
    "turn_detection": {
      "type": "azure_semantic_vad",
      "threshold": 0.5,
      "prefix_padding_ms": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Properties

Field Type Description
type string Debe ser "session.created"
session 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.

Event Structure

{
  "type": "session.updated",
  "session": {
    "id": "sess_ABC123DEF456",
    "voice": {
      "type": "azure-custom",
      "name": "my-voice",
      "endpoint_id": "12345678-1234-1234-1234-123456789012"
    },
    "temperature": 0.7,
    "avatar": {
      "character": "lisa",
      "customized": false
    }
  }
}

Properties

Field Type Description
type string Debe ser "session.updated"
session 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.

Event Structure

{
  "type": "session.avatar.connecting",
  "server_sdp": "<server_sdp>"
}

Properties

Field Type Description
type string 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.

Event Structure

{
  "type": "conversation.item.created",
  "previous_item_id": "item_ABC123",
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "user",
    "content": [
      {
        "type": "input_text",
        "text": "Hello, how are you?"
      }
    ]
  }
}

Properties

Field Type Description
type string Debe ser "conversation.item.created"
previous_item_id string 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.

Event Structure

{
  "type": "conversation.item.retrieved",
  "item": {
    "id": "item_ABC123",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "audio",
        "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
        "transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
      }
    ]
  }
}

Properties

Field Type Description
type string Debe ser "conversation.item.retrieved"
item RealtimeConversationResponseItem Elemento de conversación recuperado

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 evento conversation.item.truncate. 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.

Event structure

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser conversation.item.truncated.
item_id string Identificador del elemento de mensaje del asistente que se ha truncado.
content_index integer Índice de la parte de contenido truncada.
audio_end_ms integer 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.

Event Structure

{
  "type": "conversation.item.deleted",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Debe ser "conversation.item.deleted"
item_id string 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.

Event Structure

{
  "type": "response.created",
  "response": {
    "id": "resp_ABC123",
    "object": "realtime.response",
    "status": "in_progress",
    "status_details": null,
    "output": [],
    "usage": {
      "total_tokens": 0,
      "input_tokens": 0,
      "output_tokens": 0
    }
  }
}

Properties

Field Type Description
type string 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.

Event Structure

{
  "type": "response.done",
  "response": {
    "id": "resp_ABC123",
    "object": "realtime.response",
    "status": "completed",
    "status_details": null,
    "output": [
      {
        "id": "item_DEF456",
        "object": "realtime.item",
        "type": "message",
        "status": "completed",
        "role": "assistant",
        "content": [
          {
            "type": "text",
            "text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
          }
        ]
      }
    ],
    "usage": {
      "total_tokens": 87,
      "input_tokens": 52,
      "output_tokens": 35,
      "input_token_details": {
        "cached_tokens": 0,
        "text_tokens": 45,
        "audio_tokens": 7
      },
      "output_token_details": {
        "text_tokens": 15,
        "audio_tokens": 20
      }
    }
  }
}

Properties

Field Type Description
type string 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.

Event Structure

{
  "type": "response.output_item.added",
  "response_id": "resp_ABC123",
  "output_index": 0,
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "in_progress",
    "role": "assistant",
    "content": []
  }
}

Properties

Field Type Description
type string Debe ser "response.output_item.added"
response_id string Identificador de la respuesta a la que pertenece este elemento
output_index integer Í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.

Event Structure

{
  "type": "response.output_item.done",
  "response_id": "resp_ABC123",
  "output_index": 0,
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "text",
        "text": "Hello! I'm doing well, thank you for asking."
      }
    ]
  }
}

Properties

Field Type Description
type string Debe ser "response.output_item.done"
response_id string Identificador de la respuesta a la que pertenece este elemento
output_index integer Í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 del asistente durante la generación de respuestas.

Event Structure

{
  "type": "response.content_part.added",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "text",
    "text": ""
  }
}

Properties

Field Type Description
type string Debe ser "response.content_part.added"
response_id string Identificador de la respuesta
item_id string Identificador del elemento al que pertenece este elemento de contenido
output_index integer Índice del elemento en la respuesta
content_index integer Í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 del contenido ha terminado de transmitirse en un elemento de mensaje del asistente.

Este evento también se devuelve cuando una respuesta se interrumpe, queda incompleta o se cancela.

Event Structure

{
  "type": "response.content_part.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "text",
    "text": "Hello! I'm doing well, thank you for asking."
  }
}

Properties

Field Type Description
type string Debe ser "response.content_part.done"
response_id string Identificador de la respuesta
item_id string Identificador del elemento al que pertenece este elemento de contenido
output_index integer Índice del elemento en la respuesta
content_index integer Í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.

Event Structure

{
  "type": "response.text.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm"
}

Properties

Field Type Description
type string Debe ser "response.text.delta"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
delta string Contenido de texto incremental

response.text.done

Se envía cuando se completa la generación de contenido de texto.

Event Structure

{
  "type": "response.text.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}

Properties

Field Type Description
type string Debe ser "response.text.done"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
text string Contenido de texto completo

response.audio.delta

Streaming de contenido de audio desde el modelo. El audio se proporciona como datos codificados en base64.

Event Structure

{
  "type": "response.audio.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}

Properties

Field Type Description
type string Debe ser "response.audio.delta"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
delta string Fragmento de datos de audio codificado en Base64

response.audio.done

Se envía cuando se completa la generación de contenido de audio.

Event Structure

{
  "type": "response.audio.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string Debe ser "response.audio.done"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido

response.audio_transcript.delta

Transcripción de streaming del contenido de audio generado.

Event Structure

{
  "type": "response.audio_transcript.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm doing"
}

Properties

Field Type Description
type string Debe ser "response.audio_transcript.delta"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
delta string Texto de transcripción incremental

response.audio_transcript.done

Se envía cuando se completa la generación de transcripciones de audio.

Event Structure

{
  "type": "response.audio_transcript.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}

Properties

Field Type Description
type string Debe ser "response.audio_transcript.done"
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
transcript string 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 modo server_vad). 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.

Event structure

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

Properties

Field Type Description
type string El tipo de evento debe ser conversation.item.input_audio_transcription.completed.
item_id string Identificador del elemento de mensaje de usuario que contiene el audio.
content_index integer Índice de la parte de contenido que contiene el audio.
transcript string 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.

Event structure

{
  "type": "conversation.item.input_audio_transcription.delta",
  "item_id": "<item_id>",
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser conversation.item.input_audio_transcription.delta.
item_id string Identificador del elemento de mensaje de usuario.
content_index integer Índice de la parte de contenido que contiene el audio.
delta string 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 eventos error para que el cliente pueda identificar el elemento relacionado.

Event structure

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Properties

Field Type Description
type string El tipo de evento debe ser conversation.item.input_audio_transcription.failed.
item_id string Identificador del elemento de mensaje de usuario.
content_index integer Índice de la parte de contenido que contiene el audio.
error object Detalles del error de transcripción.

Consulte las propiedades anidadas en la tabla siguiente.

Error properties

Field Type Description
type string Tipo de error.
code string Código de error, si existe.
message string Mensaje de error legible.
param string 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.

Event structure

{
  "type": "response.animation_blendshapes.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "frame_index": 0,
  "frames": [
    [0.0, 0.1, 0.2, ..., 1.0]
    ...
  ]
}

Properties

Field Type Description
type string El tipo de evento debe ser response.animation_blendshapes.delta.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
frame_index integer Índice del primer fotograma de este lote de marcos
frames 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.

Event structure

{
  "type": "response.animation_blendshapes.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
}

Properties

Field Type Description
type string El tipo de evento debe ser response.animation_blendshapes.done.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Í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.

Event structure

{
  "type": "response.audio_timestamp.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "audio_offset_ms": 0,
  "audio_duration_ms": 500,
  "text": "Hello",
  "timestamp_type": "word"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio_timestamp.delta.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
audio_offset_ms integer Desplazamiento de audio en milisegundos desde el principio del audio
audio_duration_ms integer Duración del segmento de audio en milisegundos
text string Segmento de texto correspondiente a esta marca de tiempo de audio
timestamp_type string 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.

Event Structure

{
  "type": "response.audio_timestamp.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio_timestamp.done.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Í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.

Event Structure

{
  "type": "response.animation_viseme.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "audio_offset_ms": 0,
  "viseme_id": 1
}

Properties

Field Type Description
type string El tipo de evento debe ser response.animation_viseme.delta.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido
audio_offset_ms integer Desplazamiento de audio en milisegundos desde el principio del audio
viseme_id integer 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.

Event Structure

{
  "type": "response.animation_viseme.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.animation_viseme.done.
response_id string Identificador de la respuesta
item_id string Identificador del elemento
output_index integer Índice del elemento en la respuesta
content_index integer Índice del elemento de contenido

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.

Event structure

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

Properties

Field Type Description
type string El tipo de evento debe ser error.
error object Detalles del error.

Consulte las propiedades anidadas en la tabla siguiente.

Error properties

Field Type Description
type string Tipo de error. Por ejemplo, "invalid_request_error" y "server_error" son tipos de error.
code string Código de error, si existe.
message string Mensaje de error legible.
param string Parámetro relacionado con el error, si existe.
event_id string Identificador del evento de cliente que provocó el error, si procede.

warning

El evento de servidor warning se devuelve cuando se produce una advertencia que no interrumpe el flujo de conversación. Las advertencias son informativas y la sesión continúa normalmente.

Event structure

{
  "type": "warning",
  "warning": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Properties

Field Type Description
type string El tipo de evento debe ser warning.
warning object Detalles de la advertencia. Consulte las propiedades anidadas en la tabla siguiente.

Warning properties

Field Type Description
message string Un mensaje de advertencia legible.
code string Optional. Código de advertencia, si existe.
param string Optional. Parámetro relacionado con la advertencia, si existe.

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 evento input_audio_buffer.clear.

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

Field Type Description
type string 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 un búfer de audio de entrada se confirma, ya sea por el cliente o de forma automática en el modo VAD de servidor. La propiedad item_id es el identificador del elemento de mensaje de usuario creado. Por lo tanto, también se envía un evento conversation.item.created al cliente.

Event structure

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.committed.
previous_item_id string Identificador del elemento anterior después del cual se inserta el nuevo elemento.
item_id string 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 modo server_vad 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).

Note

El cliente puede querer usar este evento para interrumpir la reproducción de audio o proporcionar comentarios visuales al usuario.

El cliente debe esperar recibir un evento input_audio_buffer.speech_stopped cuando se detiene la voz. La propiedad item_id es el id. del elemento de mensaje de usuario creado cuando se detiene la voz. El item_id también se incluye en el evento input_audio_buffer.speech_stopped a menos que el cliente confirme manualmente el búfer de audio durante la activación de VAD.

Event structure

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.speech_started.
audio_start_ms integer 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 string 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 modo server_vad cuando el servidor detecta el final de la voz en el búfer de audio.

El servidor también envía un evento conversation.item.created con el elemento de mensaje de usuario creado a partir del búfer de audio.

Event structure

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string El tipo de evento debe ser input_audio_buffer.speech_stopped.
audio_end_ms integer 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 string 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 velocidad que se muestran aquí reflejan esa reserva, que se ajusta en consecuencia una vez completada la respuesta.

Event structure

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Properties

Field Type Description
type string 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.

Event structure

{
  "type": "response.audio.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio.delta.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Índice de la parte de contenido de la matriz de contenido del elemento.
delta string 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 una respuesta se interrumpe, queda incompleta o se cancela.

Event structure

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio.done.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Í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.

Event structure

{
  "type": "response.audio_transcript.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio_transcript.delta.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Índice de la parte de contenido de la matriz de contenido del elemento.
delta string 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 ya ha terminado de transmitirse.

Este evento también se devuelve cuando una respuesta se interrumpe, queda incompleta o se cancela.

Event structure

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.audio_transcript.done.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Índice de la parte de contenido de la matriz de contenido del elemento.
transcript string 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.

Event structure

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.function_call_arguments.delta.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento de llamada de función.
output_index integer Índice del elemento de salida en la respuesta.
call_id string Identificador de la llamada de función.
delta string 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 la llamada de función generados por el modelo han terminado de transmitirse.

Este evento también se devuelve cuando una respuesta se interrumpe, queda incompleta o se cancela.

Event structure

{
  "type": "response.function_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "arguments": "<arguments>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.function_call_arguments.done.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento de llamada de función.
output_index integer Índice del elemento de salida en la respuesta.
call_id string Identificador de la llamada de función.
arguments string 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.

Event structure

{
  "type": "mcp_list_tools.in_progress",
  "item_id": "<mcp_list_tools_item_id>"
}

Properties

Field Type Description
type string El tipo de evento debe ser mcp_list_tools.in_progress.
item_id string 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.

Event structure

{
  "type": "mcp_list_tools.completed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string El tipo de evento debe ser mcp_list_tools.completed.
item_id string 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.

Event structure

{
  "type": "mcp_list_tools.failed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string El tipo de evento debe ser mcp_list_tools.failed.
item_id string 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.

Event structure

{
  "type": "response.mcp_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.mcp_call_arguments.delta.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento de llamada de la herramienta mcp.
output_index integer Índice del elemento de salida en la respuesta.
delta string 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.

Event structure

{
  "type": "response.mcp_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "arguments": "<arguments>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.mcp_call_arguments.done.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento de llamada de la herramienta mcp.
output_index integer Índice del elemento de salida en la respuesta.
arguments string 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.

Event structure

{
  "type": "response.mcp_call.in_progress",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.mcp_call.in_progress.
item_id string Identificador del elemento de llamada de la herramienta mcp.
output_index integer Í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.

Event structure

{
  "type": "response.mcp_call.completed",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.mcp_call.completed.
item_id string Identificador del elemento de llamada de la herramienta mcp.
output_index integer Í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.

Event structure

{
  "type": "response.mcp_call.failed",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.mcp_call.failed.
item_id string Identificador del elemento de llamada de la herramienta mcp.
output_index integer Í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 la respuesta.

Event structure

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.output_item.added.
response_id string Identificador de la respuesta a la que pertenece el elemento.
output_index integer Í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 un elemento ha terminado de transmitirse.

Este evento también se devuelve cuando una respuesta se interrumpe, queda incompleta o se cancela.

Event structure

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string El tipo de evento debe ser response.output_item.done.
response_id string Identificador de la respuesta a la que pertenece el elemento.
output_index integer Índice del elemento de salida en la respuesta.
item RealtimeConversationResponseItem Elemento que ha terminado de transmitirse.

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 parte de contenido text de un elemento de mensaje del asistente.

Event structure

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.text.delta.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Índice de la parte de contenido de la matriz de contenido del elemento.
delta string Delta de texto.

response.text.done

El evento de servidor response.text.done se devuelve cuando el texto generado por el modelo ha terminado de transmitirse. El texto corresponde a la parte de contenido text de un elemento de mensaje del asistente.

Este evento también se devuelve cuando una respuesta se interrumpe, queda incompleta o se cancela.

Event structure

{
  "type": "response.text.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "text": "<text>"
}

Properties

Field Type Description
type string El tipo de evento debe ser response.text.done.
response_id string Identificador de la respuesta.
item_id string Identificador del elemento.
output_index integer Índice del elemento de salida en la respuesta.
content_index integer Índice de la parte de contenido de la matriz de contenido del elemento.
text string El contenido final del texto.

Components

Audio Formats

RealtimeAudioFormat

Formato de audio base usado para el audio de entrada.

Allowed Values:

  • 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.

Allowed Values:

  • 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.

Field Type Description
model string 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
language string 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).

Consulte Idiomas compatibles con la conversión de voz en texto de Azure para ver el uso recomendado de esta configuración.
custom_speech object 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.
prompt string 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:

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 .

Field Type Description
type string near_field o far_field

RealtimeAzureDeepNoiseSuppression

Configuración para la reducción del ruido de audio de entrada.

Field Type Description
type string Debe ser "azure_deep_noise_suppression"

RealtimeInputAudioEchoCancellationSettings

Configuración de cancelación de eco para el procesamiento de audio del lado servidor.

Field Type Description
type string Debe ser "server_echo_cancellation"

Voice Configuration

RealtimeVoice

Unión de todas las configuraciones de voz admitidas.

Esto puede ser:

RealtimeOpenAIVoice

Configuración de voz de OpenAI con campo de tipo explícito.

Field Type Description
type string Debe ser "openai"
name string 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.

Field Type Description
type string Debe ser "azure-standard"
name string Nombre de voz (no puede estar vacío)
temperature number Optional. Temperatura entre 0,0 y 1,0
custom_lexicon_url string Optional. Dirección URL al léxico personalizado
custom_text_normalization_url string Optional. Dirección URL a la normalización de texto personalizada
prefer_locales string[] Optional. Preferred locales
Las configuraciones regionales preferidos cambian los acentos de los idiomas. Si no se establece el valor, TTS usa el énfasis predeterminado de cada idioma. por ejemplo, cuando TTS habla inglés, usa el acento inglés americano. Y cuando habla español, usa el acento español mexicano.
Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés es inglés británico y el acento español es español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc.
locale string Optional. Locale specification
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, establezca la configuración regional en-USen , TTS siempre usará el 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 string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Ajuste de frecuencia de voz
volume string Optional. Volume adjustment
RealtimeAzureCustomVoice

Configuración de voz personalizada de Azure (preferida para voces personalizadas).

Field Type Description
type string Debe ser "azure-custom"
name string Nombre de voz (no puede estar vacío)
endpoint_id string Id. de punto de conexión (no puede estar vacío)
temperature number Optional. Temperatura entre 0,0 y 1,0
custom_lexicon_url string Optional. Dirección URL al léxico personalizado
custom_text_normalization_url string Optional. Dirección URL a la normalización de texto personalizada
prefer_locales string[] Optional. Preferred locales
Las configuraciones regionales preferidos cambian los acentos de los idiomas. Si no se establece el valor, TTS usa el énfasis predeterminado de cada idioma. Por ejemplo, cuando TTS habla inglés, usa el acento inglés americano. Y cuando habla español, usa el acento español mexicano.
Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés es inglés británico y el acento español es español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc.
locale string Optional. Locale specification
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, establezca la configuración regional en-USen , TTS siempre usará acento inglés americano para hablar el contenido del texto, incluso el contenido de texto está en otro idioma. Y TTS generará silencio si el contenido de texto está en chino.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Ajuste de frecuencia de voz
volume string Optional. Volume adjustment

Example:

{
  "type": "azure-custom",
  "name": "my-custom-voice",
  "endpoint_id": "12345678-1234-1234-1234-123456789012",
  "temperature": 0.7,
  "style": "cheerful",
  "locale": "en-US"
}
RealtimeAzurePersonalVoice

Configuración de voz personal de Azure.

Field Type Description
type string Debe ser "azure-personal"
name string Nombre de voz (no puede estar vacío)
temperature number Optional. Temperatura entre 0,0 y 1,0
model string Modelo base subyacente: DragonLatestNeural, DragonHDOmniLatestNeural, MAI-Voice-1
custom_lexicon_url string Optional. Dirección URL al léxico personalizado
custom_text_normalization_url string Optional. Dirección URL a la normalización de texto personalizada
prefer_locales string[] Optional. Preferred locales
Las configuraciones regionales prefieren cambiar los acentos de los idiomas. Si no se establece el valor, TTS usa el énfasis predeterminado de cada idioma. Por ejemplo, cuando TTS habla inglés, usa el acento inglés americano. Y cuando habla español, usa el acento español mexicano.
Si establece el prefer_locales en ["en-GB", "es-ES"], el acento inglés es inglés británico y el acento español es español europeo. Y TTS también pueden hablar otros idiomas como francés, chino, etc.
locale string Optional. Locale specification
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, establezca la configuración regional en-USen , TTS siempre usará acento inglés americano para hablar el contenido del texto, incluso el contenido de texto está en otro idioma. Y TTS generará silencio si el contenido de texto está en chino.
pitch string Optional. Pitch adjustment
rate string Optional. Ajuste de frecuencia de voz
volume string Optional. Volume adjustment

Turn Detection

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.

Field Type Description
type string Debe ser "server_vad"
threshold float Optional. Umbral de activación (0,0-1,0) (valor predeterminado: 0,5)
prefix_padding_ms integer Optional. Relleno de audio antes de que se inicie la voz (valor predeterminado: 300)
silence_duration_ms integer Optional. Duración del silencio para detectar el final de voz (valor predeterminado: 500)
speech_duration_ms integer Optional. Duración mínima de voz (valor predeterminado: 200)
end_of_utterance_detection RealtimeEOUDetection Optional. Configuración de detección de fin de expresión
create_response boolean Optional. Habilite o deshabilite si se genera una respuesta (valor predeterminado: true).
interrupt_response boolean Optional. Habilite o deshabilite la interrupción entre barras (valor predeterminado: true).
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 .

Field Type Description
type string Debe ser "semantic_vad"
eagerness string Optional. Esta es una manera de controlar cuán dispuesto está el modelo a interrumpir al usuario, ajustando el tiempo máximo de espera. 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 permite al usuario tomar su tiempo para 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.
create_response boolean Optional. Habilite o deshabilite si se genera una respuesta (valor predeterminado: true).
interrupt_response boolean Optional. Habilite o deshabilite la interrupción entre barras (valor predeterminado: true).
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.

Field Type Description
type string Debe ser "azure_semantic_vad"
threshold float Optional. Umbral de activación (valor predeterminado: 0,5)
prefix_padding_ms integer Optional. Relleno de audio antes de la voz (valor predeterminado: 300)
silence_duration_ms integer Optional. Duración del silencio para el final de voz (valor predeterminado: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. Configuración de detección de EOU
speech_duration_ms integer Optional. Duración mínima de voz (valor predeterminado: 80)
remove_filler_words boolean Optional. Quitar palabras del relleno (valor predeterminado: false)
languages string[] Optional. Supports English. Se omiten otros idiomas (valor predeterminado: ninguno).
create_response boolean Optional. Habilite o deshabilite si se genera una respuesta (valor predeterminado: true).
interrupt_response boolean Optional. Habilite o deshabilite la interrupción entre barras (valor predeterminado: true).
auto_truncate boolean Optional. Truncar automáticamente la interrupción (valor predeterminado: false)
RealtimeAzureSemanticVADMultilingual

VAD semántico de Azure (variante predeterminada).

Field Type Description
type string Debe ser "azure_semantic_vad_multilingual"
threshold float Optional. Umbral de activación (valor predeterminado: 0,5)
prefix_padding_ms integer Optional. Relleno de audio antes de la voz (valor predeterminado: 300)
silence_duration_ms integer Optional. Duración del silencio para el final de voz (valor predeterminado: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. Configuración de detección de EOU
speech_duration_ms integer Optional. Duración mínima de voz (valor predeterminado: 80)
remove_filler_words boolean Optional. Quitar palabras del relleno (valor predeterminado: false)
languages string[] Optional. Admite inglés, español, francés, italiano, alemán (DE), japonés, portugués, chino, coreano, hindi. Se omiten otros idiomas (valor predeterminado: ninguno).
create_response boolean Optional. Habilite o deshabilite si se genera una respuesta (valor predeterminado: true).
interrupt_response boolean Optional. Habilite o deshabilite la interrupción entre barras (valor predeterminado: true).
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.

Field Type Description
model string 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 string 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.
timeout_ms number Optional. Tiempo máximo en milisegundos para esperar más voz del usuario. Su valor predeterminado es 1 000 ms.

Avatar Configuration

RealtimeAvatarConfig

Configuración para el streaming y el comportamiento del avatar.

Field Type Description
ice_servers RealtimeIceServer[] Optional. Servidores ICE para WebRTC
character string Nombre o identificador de carácter para el avatar
style string Optional. Estilo de avatar (tono emocional, estilo de habla)
customized boolean Si el avatar está personalizado
video RealtimeVideoParams Optional. Video configuration
scene RealtimeAvatarScene Optional. Configuración del nivel de zoom, posición, rotación y amplitud de movimiento del avatar en el marco de vídeo
output_protocol string Optional. Protocolo de salida para streaming de avatares. El valor predeterminado es webrtc
output_audit_audio boolean Optional. Cuando se habilita, reenvía el audio de auditoría a través de WebSocket para fines de revisión y depuración, incluso cuando la salida del avatar se entrega a través de WebRTC. El valor predeterminado es false

RealtimeIceServer

Configuración del servidor ICE para la negociación de conexiones webRTC.

Field Type Description
urls string[] Direcciones URL del servidor ICE (puntos de conexión TURN o STUN)
username string Optional. Nombre de usuario para la autenticación
credential string Optional. Credencial para la autenticación

RealtimeVideoParams

Parámetros de streaming de vídeo para avatar.

Field Type Description
bitrate integer Optional. Velocidad de bits en bits por segundo (valor predeterminado: 2000000)
codec string Optional. Códec de vídeo, actualmente solo h264 (valor predeterminado: h264)
crop RealtimeVideoCrop Optional. Cropping settings
resolution RealtimeVideoResolution Optional. Resolution settings

RealtimeVideoCrop

Definición del rectángulo de recorte de vídeo.

Field Type 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.

Field Type Description
width integer Ancho en píxeles (debe ser > 0)
height integer Alto en píxeles (debe ser > 0)

RealtimeAvatarScene

Configuración del nivel de zoom, posición, rotación y amplitud de movimiento del avatar en el marco de vídeo.

Field Type Description
zoom number Optional. Nivel de zoom del avatar. El intervalo es (0, +∞). Los valores menores que 1 se acercan, los valores mayores que 1 se acercan. El valor predeterminado es 0
position_x number Optional. Posición horizontal del avatar. El intervalo es [-1, 1], como una proporción del ancho del marco. Los valores negativos se mueven a la izquierda, los valores positivos se mueven a la derecha. El valor predeterminado es 0
position_y number Optional. Posición vertical del avatar. El rango es [-1, 1], como una proporción de altura del marco. Los valores negativos se mueven hacia arriba y los valores positivos se mueven hacia abajo. El valor predeterminado es 0
rotation_x number Optional. Giro alrededor del eje X (tono). El intervalo es [-π, π] en radianes. Los valores negativos giran hacia arriba y los valores positivos giran hacia abajo. El valor predeterminado es 0
rotation_y number Optional. Giro alrededor del eje Y (aw). El intervalo es [-π, π] en radianes. Los valores negativos giran a la izquierda, los valores positivos giran a la derecha. El valor predeterminado es 0
rotation_z number Optional. Giro alrededor del eje Z (rollo). El intervalo es [-π, π] en radianes. Los valores negativos giran en sentido anticlock, los valores positivos giran en el sentido de las agujas del reloj. El valor predeterminado es 0
amplitude number Optional. Amplitud del movimiento del avatar. El intervalo es (0, 1]. Valores en (0, 1) amplitud reducida, 1 significa amplitud completa. El valor predeterminado es 0

Animation Configuration

RealtimeAnimation

Configuración para las salidas de animación, incluidas blendshapes y visemes.

Field Type Description
model_name string 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.

Allowed Values:

  • blendshapes - Datos de blendshapes faciales
  • viseme_id - Datos del identificador de Viseme

Session Configuration

RealtimeRequestSession

Objeto de configuración de sesión usado en session.update eventos.

Field Type Description
model string Optional. Nombre del modelo que se va a usar
modalities RealtimeModality[] Optional. Las modalidades de salida admitidas para la sesión.

Por ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de salida de texto y audio. Para habilitar solo la salida de texto, establezca "modalities": ["text"]. Para habilitar la salida del avatar, establezca "modalities": ["text", "audio", "avatar"]. No se puede habilitar solo el audio.
animation RealtimeAnimation Optional. Animation configuration
voice RealtimeVoice Optional. Voice configuration
instructions string 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 integer 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 endpoint y debe considerarse una guía del contenido del audio de entrada en lugar de exactamente lo que el modelo escuchó. 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 turno para la sesión. Esto se puede establecer en null para desactivar.
tools 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, none y required. De lo contrario, puede especificar el nombre de la función que se va a usar.
temperature 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".
reasoning_effort ReasoningEffort Optional. Restringe el esfuerzo en el razonamiento de los modelos de razonamiento. Consulte la documentación de Azure Foundry para más información. Reducir el esfuerzo de razonamiento puede dar lugar a respuestas más rápidas y menos tokens usados en el razonamiento en una respuesta.
avatar RealtimeAvatarConfig Optional. Avatar configuration
output_audio_timestamp_types RealtimeAudioTimestampType[] Optional. Tipos de marca de tiempo para el audio de salida

RealtimeModality

Modalidades de salida de sesión admitidas.

Allowed Values:

  • text - Salida de texto
  • audio - 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.

Allowed Values:

  • word - Marcas de tiempo por palabra en el audio de salida

ReasoningEffort

Restringe el esfuerzo en el razonamiento de los modelos de razonamiento. Consulte la documentación del modelo para ver los valores admitidos para cada modelo. Reducir el esfuerzo de razonamiento puede dar lugar a respuestas más rápidas y menos tokens usados en el razonamiento en una respuesta.

Allowed Values:

  • none - Sin esfuerzo de razonamiento
  • minimal - Esfuerzo mínimo de razonamiento
  • low - Bajo esfuerzo de razonamiento: respuestas más rápidas con menos razonamiento
  • medium - Esfuerzo de razonamiento medio - equilibrado entre velocidad y profundidad de razonamiento
  • high - Alto esfuerzo de razonamiento - razonamiento más exhaustivo, puede tardar más tiempo
  • xhigh - Esfuerzo de razonamiento extra alto- profundidad de razonamiento máxima

Tool Configuration

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.

Field Type Description
type string Debe ser "function"
name string Function name
description string Instrucciones de uso y descripción de funciones
parameters object 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.

Field Type Description
type string Debe ser "mcp"
server_label string Required. Etiqueta del servidor MCP.
server_url string Required. Dirección URL del servidor MCP.
allowed_tools string[] Optional. Lista de nombres de herramientas permitidos. Si no se especifica, se permiten todas las herramientas.
headers object Optional. Encabezados adicionales que se van a incluir en las solicitudes MCP.
authorization string Optional. Token de autorización para solicitudes MCP.
require_approval 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.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "message"
object string Debe ser "conversation.item"
role string Debe ser "user"
content RealtimeInputTextContentPart Contenido del mensaje.
status RealtimeItemStatus Estado del elemento.

RealtimeConversationAssistantMessageItem

Elemento de mensaje del asistente.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "message"
object string Debe ser "conversation.item"
role string Debe ser "assistant"
content RealtimeOutputTextContentPart[] o RealtimeOutputAudioContentPart[] Contenido del mensaje.
status RealtimeItemStatus Estado del elemento.

RealtimeConversationSystemMessageItem

Elemento de mensaje del sistema.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "message"
object string Debe ser "conversation.item"
role string Debe ser "system"
content RealtimeInputTextContentPart[] Contenido del mensaje.
status RealtimeItemStatus Estado del elemento.

RealtimeConversationFunctionCallItem

Elemento de solicitud de llamada de función.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "function_call"
object string Debe ser "conversation.item"
name string El nombre de la función que se va a llamar.
arguments string Argumentos de la llamada de función como una cadena JSON.
call_id string Identificador único de la llamada de función.
status RealtimeItemStatus Estado del elemento.

RealtimeConversationFunctionCallOutputItem

Elemento de respuesta de llamada de función.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "function_call_output"
object string Debe ser "conversation.item"
name string Nombre de la función a la que se llamó.
output string Salida de la llamada de función.
call_id string Identificador único de la llamada de función.
status RealtimeItemStatus Estado del elemento.

RealtimeConversationMCPListToolsItem

Elemento de respuesta de las herramientas de lista de MCP.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "mcp_list_tools"
server_label string Etiqueta del servidor MCP.

RealtimeConversationMCPCallItem

Elemento de respuesta de llamada de MCP.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "mcp_call"
server_label string Etiqueta del servidor MCP.
name string Nombre de la herramienta a la que se va a llamar.
approval_request_id string Identificador de solicitud de aprobación para la llamada MCP.
arguments string Argumentos de la llamada MCP.
output string Salida de la llamada MCP.
error object Los detalles del error si se produjo un error en la llamada de MCP.

RealtimeConversationMCPApprovalRequestItem

Elemento de solicitud de aprobación de MCP.

Field Type Description
id string Id. exclusivo del elemento.
type string Debe ser "mcp_approval_request"
server_label string Etiqueta del servidor MCP.
name string Nombre de la herramienta a la que se va a llamar.
arguments string Argumentos de la llamada MCP.

RealtimeItemStatus

Estado de los elementos de conversación.

Allowed Values:

  • 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.

Field Type Description
type string Debe ser "input_text"
text string El contenido del texto

RealtimeOutputTextContentPart

Elemento de contenido de texto.

Field Type Description
type string Debe ser "text"
text string El contenido del texto

RealtimeInputAudioContentPart

Elemento de contenido de audio.

Field Type Description
type string Debe ser "input_audio"
audio string Optional. Datos de audio codificados en Base64
transcript string Optional. Audio transcript

RealtimeOutputAudioContentPart

Elemento de contenido de audio.

Field Type Description
type string Debe ser "audio"
audio string Datos de audio codificados en Base64
transcript string Optional. Audio transcript

Response Objects

RealtimeResponse

Objeto de respuesta que representa una respuesta de inferencia de modelo.

Field Type Description
id string Optional. Response ID
object string Optional. Siempre "realtime.response"
status RealtimeResponseStatus Optional. Response status
status_details RealtimeResponseStatusDetails Optional. Status details
output RealtimeConversationResponseItem[] Optional. Output items
usage RealtimeUsage Optional. Estadísticas de uso de tokens
conversation_id string Optional. Identificador de conversación asociado
voice RealtimeVoice Optional. Voz usada para la respuesta
modalities string[] Optional. Modalidades de salida usadas
output_audio_format RealtimeOutputAudioFormat Optional. Formato de audio usado
temperature number Optional. Temperature used
max_response_output_tokens entero o "inf" Optional. Número máximo de tokens usados

RealtimeResponseStatus

Valores de estado de respuesta.

Allowed Values:

  • 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.

Field Type Description
total_tokens integer Total de tokens usados
input_tokens integer Tokens de entrada usados
output_tokens integer 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.

Field Type Description
cached_tokens integer Optional. Tokens almacenados en caché usados
text_tokens integer Optional. Tokens de texto usados
audio_tokens integer Optional. Tokens de audio usados

Error Handling

RealtimeErrorDetails

Objeto de información de error.

Field Type Description
type string Tipo de error (por ejemplo, "invalid_request_error", "server_error")
code string Optional. Código de error específico
message string Descripción del error legible para personas
param string Optional. Parámetro relacionado con el error
event_id string Optional. Identificador del evento de cliente que provocó el error

RealtimeConversationRequestItem

El objeto RealtimeConversationRequestItem se usa 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.

Field Type Description
type string Tipo del elemento.

Valores permitidos: message
role string Rol del mensaje.

Valores permitidos: system
content matriz de RealtimeInputTextContentPart Contenido del mensaje.
id string Id. exclusivo 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.

Field Type Description
type string Tipo del elemento.

Valores permitidos: message
role string Rol del mensaje.

Valores permitidos: user
content matriz de RealtimeInputTextContentPart o RealtimeInputAudioContentPart Contenido del mensaje.
id string Id. exclusivo 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.

Field Type Description
type string Tipo del elemento.

Valores permitidos: message
role string Rol del mensaje.

Valores permitidos: assistant
content matriz de RealtimeOutputTextContentPart Contenido del mensaje.

RealtimeFunctionCallItem

Un elemento de llamada de función.

Field Type Description
type string Tipo del elemento.

Valores permitidos: function_call
name string El nombre de la función que se va a llamar.
arguments string Argumentos de la llamada de función como una cadena JSON.
call_id string Identificador del elemento de llamada de función.
id string Id. exclusivo 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.

Field Type Description
type string Tipo del elemento.

Valores permitidos: function_call_output
call_id string Identificador del elemento de llamada de función.
output string 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 string Id. exclusivo del elemento. Si el cliente no proporciona un identificador, el servidor genera uno.

RealtimeMCPApprovalResponseItem

Un elemento de respuesta de aprobación de MCP.

Field Type Description
type string Tipo del elemento.

Valores permitidos: mcp_approval_response
approve boolean Si se aprueba la solicitud MCP.
approval_request_id string Identificador de la solicitud de aprobación de MCP.
id string Id. exclusivo 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.

RealtimeFunctionTool

Definición de una herramienta de función tal como la usa el punto de conexión en tiempo real.

Field Type Description
type string Tipo de la herramienta.

Valores permitidos: function
name string El nombre de la función.
description string Descripción de la función, incluidas las directrices de uso. Por ejemplo, "Use esta función para obtener la hora actual".
parameters object Parámetros de la función en forma de un objeto JSON.

RealtimeItemStatus

Allowed Values:

  • in_progress
  • completed
  • incomplete

RealtimeResponseAudioContentPart

Field Type Description
type string Tipo del elemento de contenido.

Valores permitidos: audio
transcript string Transcripción del audio.

Esta propiedad admite valores NULL.

RealtimeResponseFunctionCallItem

Field Type Description
type string Tipo del elemento.

Valores permitidos: function_call
name string Nombre del elemento de llamada de función.
call_id string Identificador del elemento de llamada de función.
arguments string Argumentos del elemento de llamada de función.
status RealtimeItemStatus Estado del elemento.

RealtimeResponseFunctionCallOutputItem

Field Type Description
type string Tipo del elemento.

Valores permitidos: function_call_output
call_id string Identificador del elemento de llamada de función.
output string Salida del elemento de llamada de función.

RealtimeResponseOptions

Field Type Description
modalities array Modalidades de salida para la respuesta.

Valores permitidos: text, audio

Por ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de salida de texto y audio. Para habilitar solo la salida de texto, establezca "modalities": ["text"]. No se puede habilitar solo el audio.
instructions string Las instrucciones (el mensaje del sistema) para guiar las respuestas del modelo.
voice 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.
tools 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.
temperature 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".
reasoning_effort ReasoningEffort Optional. Restringe el esfuerzo en el razonamiento de los modelos de razonamiento. Consulte la documentación del modelo para ver los valores admitidos para cada modelo. Reducir el esfuerzo de razonamiento puede dar lugar a respuestas más rápidas y menos tokens usados en el razonamiento en una respuesta.
conversation string Controla a qué conversación se agrega la respuesta. Los valores admitidos son auto y none.

El valor de auto (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 map 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 objeto RealtimeResponseSession representa una sesión en la API en tiempo real. Se usa en algunos de los eventos de servidor, como:

Field Type Description
object string El objeto de sesión.

Valores permitidos: realtime.session
id string Id. exclusivo de la sesión.
model string Modelo usado para la sesión.
modalities array Las modalidades de salida de la sesión.

Valores permitidos: text, audio

Por ejemplo, "modalities": ["text", "audio"] es la configuración predeterminada que habilita las modalidades de salida de texto y audio. Para habilitar solo la salida de texto, establezca "modalities": ["text"]. No se puede habilitar solo el audio.
instructions string 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 del 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.
voice 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 integer 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 turno para la sesión.

Esta propiedad admite valores NULL.
tools 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.
temperature 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

Field Type Description
type RealtimeResponseStatus Estado de la respuesta.

RealtimeRateLimitsItem

Field Type Description
name string El nombre de la propiedad de límite de velocidad sobre el que este elemento incluye información.
limit integer Límite máximo configurado para esta propiedad de límite de velocidad.
remaining integer 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.