Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A API de voz ao vivo fornece comunicação bidirecional em tempo real para aplicativos habilitados para voz usando conexões WebSocket. Esta API suporta recursos avançados, incluindo reconhecimento de fala, síntese de texto para fala, streaming de avatar, dados de animação e recursos abrangentes de processamento de áudio.
A API usa eventos formatados em JSON enviados por conexões WebSocket para gerenciar conversas, fluxos de áudio, interações de avatar e respostas em tempo real. Os eventos são categorizados em eventos de cliente (enviados de cliente para servidor) e eventos de servidor (enviados de servidor para cliente).
Principais características
- Processamento de áudio em tempo real: Suporte para vários formatos de áudio, incluindo PCM16 em várias taxas de amostragem e codecs G.711
- Opções avançadas de voz: vozes OpenAI, vozes personalizadas do Azure, vozes padrão do Azure e vozes pessoais do Azure
- Integração de avatar: streaming de avatar baseado em WebRTC com vídeo, animação e blendshapes
- Deteção inteligente de turnos: várias opções de VAD, incluindo VAD semântica do Azure e deteção do lado do servidor
- Aprimoramento de áudio: Built-in redução de ruído e cancelamento de eco
- Chamada de funções: integração de ferramentas para recursos de conversação aprimorados
- Gerenciamento flexível de sessões: modalidades, instruções e parâmetros de resposta configuráveis
Eventos do Cliente
A API de voz ao vivo suporta os seguintes eventos de cliente que podem ser enviados do cliente para o servidor:
| Event | Description |
|---|---|
| session.update | Atualize a configuração da sessão, incluindo voz, modalidades, deteção de turnos e outras configurações |
| sessão.avatar.connect | Estabeleça conexão de avatar fornecendo SDP do cliente para negociação WebRTC |
| input_audio_buffer.append | Acrescentar bytes de áudio ao buffer de áudio de entrada |
| input_audio_buffer.Commit | Confirme o buffer de áudio de entrada para processamento |
| input_audio_buffer.clear | Limpe o buffer de áudio de entrada |
| conversa.item.create | Adicionar um novo item ao contexto da conversação |
| conversa.item.retrieve | Recuperar um item específico da conversa |
| conversation.item.truncate | Truncar uma mensagem de áudio do assistente |
| conversa.item.delete | Remover um item da conversação |
| resposta.criar | Instruir o servidor a criar uma resposta por meio da inferência do modelo |
| resposta.cancelar | Cancelar uma resposta em andamento |
| mcp_approval_response | Envie aprovação ou rejeição para uma chamada de ferramenta MCP que exija aprovação |
session.update
Atualize a configuração da sessão. Esse evento pode ser enviado a qualquer momento para modificar configurações como voz, modalidades, deteção de turnos, ferramentas e outros parâmetros da sessão. Observe que, uma vez que uma sessão é inicializada com um modelo específico, ela não pode ser alterada para outro modelo.
Estrutura do Evento
{
"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"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "session.update" |
| sessão | RealtimeRequestSession | Objeto de configuração de sessão com campos a serem atualizados |
Exemplo com o Azure Custom Voice
{
"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
}
}
}
}
sessão.avatar.connect
Estabeleça uma conexão avatar fornecendo a oferta SDP (Session Description Protocol) do cliente para negociação de mídia WebRTC. Este evento é necessário ao usar recursos de avatar.
Estrutura do Evento
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "session.avatar.connect" |
| client_sdp | cadeia (de caracteres) | A oferta SDP do cliente para o estabelecimento de conexão WebRTC |
input_audio_buffer.append
Anexe bytes de áudio ao buffer de áudio de entrada.
Estrutura do Evento
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "input_audio_buffer.append" |
| audio | cadeia (de caracteres) | Dados de áudio codificados em Base64 |
input_audio_buffer.Commit
Confirme o buffer de áudio de entrada para processamento.
Estrutura do Evento
{
"type": "input_audio_buffer.commit"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "input_audio_buffer.commit" |
input_audio_buffer.clear
Limpe o buffer de áudio de entrada.
Estrutura do Evento
{
"type": "input_audio_buffer.clear"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "input_audio_buffer.clear" |
conversa.item.create
Adicione um novo item ao contexto da conversa. Isso pode incluir mensagens, chamadas de função e respostas de chamada de função. Os itens podem ser inseridos em posições específicas no histórico de conversas.
Estrutura do Evento
{
"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?"
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.create" |
| previous_item_id | cadeia (de caracteres) | Opcional. ID do item após o qual inserir este item. Se não for fornecido, anexa ao final |
| item | RealtimeConversationRequestItem | O item a ser adicionado à conversa |
Exemplo com conteúdo de áudio
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Exemplo com chamada de função
{
"type": "conversation.item.create",
"item": {
"type": "function_call",
"name": "get_weather",
"call_id": "call_123",
"arguments": "{\"location\": \"San Francisco\", \"unit\": \"celsius\"}"
}
}
Exemplo com chamada MCP
{
"type": "conversation.item.create",
"item": {
"type": "mcp_call",
"approval_request_id": null,
"arguments": "",
"server_label": "deepwiki",
"name": "ask_question",
"output": null,
"error": null
}
}
conversa.item.retrieve
Recupere um item específico do histórico de conversas. Isso é útil para inspecionar o áudio processado após o cancelamento de ruído e VAD.
Estrutura do Evento
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.retrieve" |
| item_id | cadeia (de caracteres) | A ID do item a ser recuperado |
conversation.item.truncate
Truncar o conteúdo de áudio de uma mensagem de assistente. Isso é útil para interromper a reprodução em um ponto específico e sincronizar o entendimento do servidor com o estado do cliente.
Estrutura do Evento
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.truncate" |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do assistente a ser truncado |
| content_index | número inteiro | O índice da parte de conteúdo a ser truncada |
| audio_end_ms | número inteiro | A duração até à qual truncar o áudio, em milissegundos |
conversa.item.delete
Remova um item do histórico de conversas.
Estrutura do Evento
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.delete" |
| item_id | cadeia (de caracteres) | A ID do item a ser excluído |
resposta.criar
Instrua o servidor a criar uma resposta por meio da inferência do modelo. Esse evento pode especificar a configuração específica da resposta que substitui os padrões de sessão.
Estrutura do Evento
{
"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
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.create" |
| response | RealtimeResponseOptions | Configuração de resposta opcional que substitui os padrões de sessão |
Exemplo com escolha de ferramenta
{
"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
}
}
Exemplo com animação
{
"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"
}
}
}
resposta.cancelar
Cancelar uma resposta em andamento. Isso interrompe imediatamente a geração de resposta e a saída de áudio relacionada.
Estrutura do Evento
{
"type": "response.cancel"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.cancel" |
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.retrieve. |
| item_id | cadeia (de caracteres) | A ID do item a ser recuperado. |
| event_id | cadeia (de caracteres) | A ID do evento. |
RealtimeClientEventConversationItemTruncate
O evento client conversation.item.truncate é usado para truncar o áudio de uma mensagem de assistente anterior. O servidor produz áudio mais rápido do que em tempo real, portanto, esse evento é útil quando o usuário interrompe para truncar o áudio que foi enviado para o cliente, mas ainda não foi reproduzido. A compreensão do servidor do áudio com a reprodução do cliente é sincronizada.
Truncar o áudio exclui a transcrição de texto do lado do servidor para garantir que não haja texto no contexto que o usuário não conheça.
Se o evento do cliente for bem-sucedido, o servidor responderá com um conversation.item.truncated evento.
Estrutura do evento
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.truncate. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do assistente a ser truncar. Apenas os itens de mensagem do assistente podem ser truncados. |
| content_index | número inteiro | O índice da parte de conteúdo a truncar. Defina esta propriedade como "0". |
| audio_end_ms | número inteiro | Duração inclusiva até à qual o áudio é truncado, em milissegundos. Se o audio_end_ms for maior do que a duração real do áudio, o servidor responderá com um erro. |
RealtimeClientEventInputAudioBufferAppend
O evento client input_audio_buffer.append é usado para acrescentar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário no qual você pode gravar e confirmar posteriormente.
No modo VAD (Deteção de Atividade de Voz) do servidor, o buffer de áudio é usado para detetar fala e o servidor decide quando confirmar. Quando o VAD do servidor está desativado, o cliente pode escolher a quantidade de áudio a colocar em cada evento até um máximo de 15 MiB. Por exemplo, o streaming de partes menores do cliente pode permitir que o VAD seja mais responsivo.
Ao contrário da maioria dos outros eventos de cliente, o servidor não envia uma resposta de confirmação para o evento do cliente input_audio_buffer.append .
Estrutura do evento
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.append. |
| audio | cadeia (de caracteres) | Bytes de áudio codificados em Base64. Esse valor deve estar no formato especificado pelo input_audio_format campo na configuração da sessão. |
RealtimeClientEventInputAudioBufferClear
O evento client input_audio_buffer.clear é usado para limpar os bytes de áudio no buffer.
O servidor responde com um input_audio_buffer.cleared evento.
Estrutura do evento
{
"type": "input_audio_buffer.clear"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.clear. |
RealtimeClientEventInputAudioBufferCommit
O evento client input_audio_buffer.commit é usado para confirmar o buffer de áudio de entrada do usuário, que cria um novo item de mensagem do usuário na conversa. O áudio é transcrito se input_audio_transcription estiver configurado para a sessão.
Quando no modo VAD do servidor, o cliente não precisa enviar esse evento, o servidor confirma o buffer de áudio automaticamente. Sem o VAD do servidor, o cliente deve confirmar o buffer de áudio para criar um item de mensagem do usuário. Esse evento de cliente produz um erro se o buffer de áudio de entrada estiver vazio.
Confirmar o buffer de áudio de entrada não cria uma resposta do modelo.
O servidor responde com um input_audio_buffer.committed evento.
Estrutura do evento
{
"type": "input_audio_buffer.commit"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.commit. |
RealtimeClientEventResponseCancel
O evento client response.cancel é usado para cancelar uma resposta em andamento.
O servidor responderá com um response.done evento com um status de response.status=cancelled.
Estrutura do evento
{
"type": "response.cancel"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.cancel. |
RealtimeClientEventResponseCriar
O evento client response.create é usado para instruir o servidor a criar uma resposta por meio da inferência do modelo. Quando a sessão é configurada no modo VAD do servidor, o servidor cria respostas automaticamente.
Uma resposta inclui pelo menos um item, e pode ter dois, caso em que o segundo é uma chamada de função. Esses itens são anexados ao histórico de conversas.
O servidor responde com um evento, um response.created ou mais eventos de item e conteúdo (como conversation.item.created e response.content_part.added) e, finalmente, um response.done evento para indicar que a resposta está completa.
Estrutura do evento
{
"type": "response.create"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.create. |
| response | RealtimeResponseOptions | As opções de resposta. |
RealtimeClientEventSessionUpdate
O evento client session.update é usado para atualizar a configuração padrão da sessão. O cliente pode enviar este evento a qualquer momento para atualizar a configuração da sessão, e qualquer campo pode ser atualizado a qualquer momento, exceto voz.
Apenas os campos presentes são atualizados. Para limpar um campo (como instructions), passe uma cadeia de caracteres vazia.
O servidor responde com um session.updated evento que contém a configuração efetiva completa.
Estrutura do evento
{
"type": "session.update"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser session.update. |
| sessão | RealtimeRequestSession | A configuração da sessão. |
Eventos do servidor
A API do Voice live envia os seguintes eventos de servidor para comunicar status, respostas e dados ao cliente:
| Event | Description |
|---|---|
| erro | Indica que ocorreu um erro durante o processamento |
| sessão.criado | Enviado quando uma nova sessão é estabelecida com êxito |
| session.updated | Enviado quando a configuração da sessão é atualizada |
| session.avatar.conectando | Indica que a conexão WebRTC avatar está sendo estabelecida |
| conversa.item.created | Enviado quando um novo item é adicionado à conversa |
| conversation.item.recuperado | Resposta à solicitação conversation.item.retrieve |
| conversation.item.truncado | Confirma o truncamento do item |
| conversa.item.deleted | Confirma a exclusão do item |
| conversation.item.input_audio_transcription.concluída | A transcrição de áudio de entrada está completa |
| conversation.item.input_audio_transcription.delta | Transcrição de áudio de entrada de streaming |
| conversation.item.input_audio_transcription.falhou | Falha na transcrição de áudio de entrada |
| input_audio_buffer.Comprometido | O buffer de áudio de entrada foi confirmado para processamento |
| input_audio_buffer.limpo | O buffer de áudio de entrada foi limpo |
| input_audio_buffer.speech_iniciado | Fala detetada no buffer de áudio de entrada (VAD) |
| input_audio_buffer.speech_parou | Fala terminada em buffer de áudio de entrada (VAD) |
| response.created | Começou uma nova geração de respostas |
| resposta.feito | A geração de respostas está completa |
| response.output_item.adicionado | Novo item de saída adicionado à resposta |
| response.output_item.feito | O item de saída está completo |
| response.content_part.adicionado | Nova parte de conteúdo adicionada ao item de saída |
| response.content_part.feito | A parte do conteúdo está completa |
| resposta.text.delta | Streaming de conteúdo de texto do modelo |
| response.text.done | O conteúdo do texto está completo |
| response.audio_transcript.delta | Streaming de transcrição de áudio |
| response.audio_transcript.feito | A transcrição do áudio está completa |
| resposta.audio.delta | Streaming de conteúdo de áudio do modelo |
| resposta.audio.done | O conteúdo de áudio está completo |
| response.animation_blendshapes.delta | Streaming de dados de misturas de animações |
| response.animation_blendshapes.feito | Os dados de misturas de animações estão completos |
| response.audio_timestamp.delta | Streaming de informações de carimbo de data/hora de áudio |
| response.audio_timestamp.feito | As informações de carimbo de data/hora de áudio estão completas |
| response.animation_viseme.delta | Streaming de dados viseme de animação |
| response.animation_viseme.feito | Os dados do viseme de animação estão completos |
| response.function_call_arguments.delta | Argumentos de chamada de função de streaming |
| response.function_call_arguments.feito | Os argumentos de chamada de função estão completos |
| mcp_list_tools.in_progress | A listagem de ferramentas MCP está em curso |
| mcp_list_tools.concluído | Lista das ferramentas MCP concluída |
| mcp_list_tools.falhou | A listagem de ferramentas MCP falhou |
| response.mcp_call_arguments.delta | Argumentos de chamada MCP em streaming |
| response.mcp_call_arguments feito | Os argumentos da chamada MCP estão completos |
| response.mcp_call.in_progress | A chamada MCP está em curso |
| response.mcp_call.concluído | A chamada MCP foi concluída |
| response.mcp_call.falhou | A chamada MCP falhou |
sessão.criado
Enviado quando uma nova sessão é estabelecida com êxito. Este é o primeiro evento recebido após a conexão com a API.
Estrutura do Evento
{
"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"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "session.created" |
| sessão | RealtimeResponseSession | O objeto de sessão criado |
session.updated
Enviado quando a configuração da sessão é atualizada com êxito em resposta a um session.update evento do cliente.
Estrutura do Evento
{
"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
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "session.updated" |
| sessão | RealtimeResponseSession | O objeto de sessão atualizado |
session.avatar.conectando
Indica que uma conexão WebRTC avatar está sendo estabelecida. Este evento é enviado em resposta a um session.avatar.connect evento de cliente.
Estrutura do Evento
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "session.avatar.connecting" |
conversa.item.created
Enviado quando um novo item é adicionado à conversa, seja por meio de um evento do cliente conversation.item.create ou automaticamente durante a geração de respostas.
Estrutura do Evento
{
"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?"
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.created" |
| previous_item_id | cadeia (de caracteres) | ID do item após o qual este item foi inserido |
| item | RealtimeConversationResponseItem | O item de conversa criado |
Exemplo com item de áudio
{
"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.recuperado
Enviado em resposta a um conversation.item.retrieve evento do cliente, fornecendo o item de conversa solicitado.
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.created" |
| item | RealtimeConversationResponseItem | O item de conversa criado |
conversation.item.truncado
O evento server conversation.item.truncated é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um conversation.item.truncate evento. Este evento é usado para sincronizar a compreensão do servidor do áudio com a reprodução do cliente.
Esse evento trunca o áudio e remove a transcrição de texto do lado do servidor para garantir que não haja texto no contexto que o usuário não conheça.
Estrutura do evento
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.truncated. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do assistente que foi truncado. |
| content_index | número inteiro | O índice da parte de conteúdo que foi truncada. |
| audio_end_ms | número inteiro | A duração até a qual o áudio foi truncado, em milissegundos. |
conversa.item.deleted
Enviado em resposta a um conversation.item.delete evento do cliente, confirmando que o item especificado foi removido da conversa.
Estrutura do Evento
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "conversation.item.deleted" |
| item_id | cadeia (de caracteres) | ID do item excluído |
response.created
Enviado quando uma nova geração de resposta começa. Este é o primeiro evento de uma sequência de resposta.
Estrutura do Evento
{
"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
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.created" |
| response | RealtimeResponse | O objeto de resposta que foi criado |
resposta.feito
Enviado quando a geração de resposta estiver concluída. Este evento contém a resposta final com todos os itens de saída e estatísticas de uso.
Estrutura do Evento
{
"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
}
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.done" |
| response | RealtimeResponse | O objeto de resposta concluído |
response.output_item.adicionado
Enviado quando um novo item de saída é adicionado à resposta durante a geração.
Estrutura do Evento
{
"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": []
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.output_item.added" |
| response_id | cadeia (de caracteres) | ID da resposta a que este item pertence |
| output_index | número inteiro | Índice do item na matriz de saída da resposta |
| item | RealtimeConversationResponseItem | O item de saída que foi adicionado |
response.output_item.feito
Enviado quando um item de saída é concluído.
Estrutura do Evento
{
"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."
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.output_item.done" |
| response_id | cadeia (de caracteres) | ID da resposta a que este item pertence |
| output_index | número inteiro | Índice do item na matriz de saída da resposta |
| item | RealtimeConversationResponseItem | O item de saída concluído |
response.content_part.adicionado
O evento server response.content_part.added é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem assistente durante a geração de resposta.
Estrutura do Evento
{
"type": "response.content_part.added",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": ""
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.content_part.added" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item ao qual esta parte de conteúdo pertence |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice desta parte do conteúdo no item |
| part | RealtimeContentPart | A parte de conteúdo que foi adicionada |
response.content_part.feito
O evento server response.content_part.done é retornado quando uma parte do conteúdo é feita streaming em um item de mensagem assistente.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do Evento
{
"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."
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.content_part.done" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item ao qual esta parte de conteúdo pertence |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice desta parte do conteúdo no item |
| part | RealtimeContentPart | A parte de conteúdo concluída |
resposta.text.delta
Streaming de conteúdo de texto do modelo. Enviado incrementalmente à medida que o modelo gera texto.
Estrutura do Evento
{
"type": "response.text.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.text.delta" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| delta | cadeia (de caracteres) | Conteúdo de texto incremental |
response.text.done
Enviado quando a geração de conteúdo de texto estiver concluída.
Estrutura do Evento
{
"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?"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.text.done" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| enviar SMS | cadeia (de caracteres) | O conteúdo completo do texto |
resposta.audio.delta
Streaming de conteúdo de áudio do modelo. O áudio é fornecido como dados codificados em base64.
Estrutura do Evento
{
"type": "response.audio.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.audio.delta" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| delta | cadeia (de caracteres) | Bloco de dados de áudio codificado em Base64 |
resposta.audio.done
Enviado quando a geração de conteúdo de áudio estiver concluída.
Estrutura do Evento
{
"type": "response.audio.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.audio.done" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
response.audio_transcript.delta
Transcrição de streaming do conteúdo de áudio gerado.
Estrutura do Evento
{
"type": "response.audio_transcript.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm doing"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.audio_transcript.delta" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| delta | cadeia (de caracteres) | Texto de transcrição incremental |
response.audio_transcript.feito
Enviado quando a geração da transcrição de áudio estiver concluída.
Estrutura do Evento
{
"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?"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "response.audio_transcript.done" |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| transcrição | cadeia (de caracteres) | O texto completo da transcrição |
conversation.item.input_audio_transcription.concluída
O evento do servidor conversation.item.input_audio_transcription.completed é o resultado da transcrição de áudio para fala gravada no buffer de áudio.
A transcrição começa quando o buffer de áudio de entrada é confirmado pelo cliente ou servidor (no server_vad modo). A transcrição é executada de forma assíncrona com a criação de resposta, para que esse evento possa vir antes ou depois dos eventos de resposta.
Os modelos de API em tempo real aceitam áudio nativamente e, portanto, a transcrição de entrada é um processo separado executado em um modelo de reconhecimento de fala separado, como whisper-1o . Assim, a transcrição pode divergir um pouco da interpretação do modelo, e deve ser tratada como um guia aproximado.
Estrutura do evento
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.input_audio_transcription.completed. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário que contém o áudio. |
| content_index | número inteiro | O índice da parte de conteúdo que contém o áudio. |
| transcrição | cadeia (de caracteres) | O texto transcrito. |
conversation.item.input_audio_transcription.delta
O evento server conversation.item.input_audio_transcription.delta é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário está em andamento. Este evento fornece resultados de transcrição parcial à medida que ficam disponíveis.
Estrutura do evento
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.input_audio_transcription.delta. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário. |
| content_index | número inteiro | O índice da parte de conteúdo que contém o áudio. |
| delta | cadeia (de caracteres) | O texto de transcrição incremental. |
conversation.item.input_audio_transcription.falhou
O evento do servidor conversation.item.input_audio_transcription.failed é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário falhou. Este evento é separado de outros error eventos para que o cliente possa identificar o item relacionado.
Estrutura do evento
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser conversation.item.input_audio_transcription.failed. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário. |
| content_index | número inteiro | O índice da parte de conteúdo que contém o áudio. |
| erro | objecto | Detalhes do erro de transcrição. Consulte as propriedades aninhadas na tabela seguinte. |
Propriedades do erro
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de erro. |
| código | cadeia (de caracteres) | Código de erro, se houver. |
| mensagem | cadeia (de caracteres) | Uma mensagem de erro legível por humanos. |
| param | cadeia (de caracteres) | Parâmetro relacionado ao erro, se houver. |
response.animation_blendshapes.delta
O evento server response.animation_blendshapes.delta é retornado quando o modelo gera dados de misturas de animação como parte de uma resposta. Esse evento fornece dados de formas de mistura incrementais à medida que ficam disponíveis.
Estrutura do evento
{
"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]
...
]
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.animation_blendshapes.delta. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| frame_index | número inteiro | Índice do primeiro quadro neste lote de quadros |
| molduras | matriz de matriz de float | Matriz de quadros blendshape, cada quadro é uma matriz de valores blendshape |
response.animation_blendshapes.feito
O evento server response.animation_blendshapes.done é retornado quando o modelo termina de gerar dados de misturas de animação como parte de uma resposta.
Estrutura do evento
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.animation_blendshapes.done. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
response.audio_timestamp.delta
O evento server response.audio_timestamp.delta é retornado quando o modelo gera dados de carimbo de data/hora de áudio como parte de uma resposta. Esse evento fornece dados incrementais de carimbo de data/hora para alinhamento de áudio e texto de saída à medida que fica disponível.
Estrutura do evento
{
"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"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio_timestamp.delta. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| audio_offset_ms | número inteiro | Deslocamento de áudio em milissegundos a partir do início do áudio |
| audio_duration_ms | número inteiro | Duração do segmento de áudio em milissegundos |
| enviar SMS | cadeia (de caracteres) | O segmento de texto correspondente a este carimbo de data/hora de áudio |
| timestamp_type | cadeia (de caracteres) | O tipo de carimbo de data/hora, atualmente apenas "palavra" é suportado |
response.audio_timestamp.feito
Enviado quando a geração de carimbo de data/hora de áudio estiver concluída.
Estrutura do Evento
{
"type": "response.audio_timestamp.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio_timestamp.done. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
response.animation_viseme.delta
O evento server response.animation_viseme.delta é retornado quando o modelo gera dados viseme de animação como parte de uma resposta. Este evento fornece dados viseme incrementais à medida que se tornam disponíveis.
Estrutura do Evento
{
"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
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.animation_viseme.delta. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
| audio_offset_ms | número inteiro | Deslocamento de áudio em milissegundos a partir do início do áudio |
| viseme_id | número inteiro | O ID viseme correspondente à forma da boca para animação |
response.animation_viseme.feito
O evento server response.animation_viseme.done é retornado quando o modelo termina de gerar dados de animação viseme como parte de uma resposta.
Estrutura do Evento
{
"type": "response.animation_viseme.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.animation_viseme.done. |
| response_id | cadeia (de caracteres) | ID da resposta |
| item_id | cadeia (de caracteres) | ID do item |
| output_index | número inteiro | Índice do item na resposta |
| content_index | número inteiro | Índice da parte do conteúdo |
O evento server response.animation_viseme.delta é retornado quando o modelo gera dados viseme de animação como parte de uma resposta. Este evento fornece dados viseme incrementais à medida que se tornam disponíveis.
erro
O evento do servidor error é retornado quando ocorre um erro, que pode ser um problema do cliente ou do servidor. A maioria dos erros é recuperável e a sessão permanece aberta.
Estrutura do evento
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser error. |
| erro | objecto | Detalhes do erro. Consulte as propriedades aninhadas na tabela seguinte. |
Propriedades do erro
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de erro. Por exemplo, "invalid_request_error" e "server_error" são tipos de erro. |
| código | cadeia (de caracteres) | Código de erro, se houver. |
| mensagem | cadeia (de caracteres) | Uma mensagem de erro legível por humanos. |
| param | cadeia (de caracteres) | Parâmetro relacionado ao erro, se houver. |
| event_id | cadeia (de caracteres) | A ID do evento do cliente que causou o erro, se aplicável. |
input_audio_buffer.limpo
O evento do servidor input_audio_buffer.cleared é retornado quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear evento.
Estrutura do evento
{
"type": "input_audio_buffer.cleared"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.cleared. |
input_audio_buffer.Comprometido
O evento do servidor input_audio_buffer.committed é retornado quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor. A item_id propriedade é a ID do item de mensagem do usuário criado. Assim, um conversation.item.created evento também é enviado para o cliente.
Estrutura do evento
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.committed. |
| previous_item_id | cadeia (de caracteres) | A ID do item anterior após o qual o novo item é inserido. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário criado. |
input_audio_buffer.speech_iniciado
O evento do servidor input_audio_buffer.speech_started é retornado no server_vad modo quando a fala é detetada no buffer de áudio. Esse evento pode acontecer sempre que o áudio for adicionado ao buffer (a menos que a fala já seja detetada).
Observação
O cliente pode querer usar esse evento para interromper a reprodução de áudio ou fornecer feedback visual ao usuário.
O cliente deve esperar receber um input_audio_buffer.speech_stopped evento quando a fala parar. A item_id propriedade é a ID do item de mensagem do usuário criado quando a fala é interrompida. O item_id também está incluído no evento, a input_audio_buffer.speech_stopped menos que o cliente confirme manualmente o buffer de áudio durante a ativação do VAD.
Estrutura do evento
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.speech_started. |
| audio_start_ms | número inteiro | Milissegundos desde o início de todo o áudio gravado no buffer durante a sessão quando a fala foi detetada pela primeira vez. Esta propriedade corresponde ao início do áudio enviado para o modelo e, portanto, inclui o prefix_padding_ms configurado na sessão. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário criado quando a fala é interrompida. |
input_audio_buffer.speech_parou
O evento do servidor input_audio_buffer.speech_stopped é retornado no server_vad modo quando o servidor deteta o fim da fala no buffer de áudio.
O servidor também envia um conversation.item.created evento com o item de mensagem do usuário criado a partir do buffer de áudio.
Estrutura do evento
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser input_audio_buffer.speech_stopped. |
| audio_end_ms | número inteiro | Milésimos de segundo desde o início da sessão quando a fala parou. Esta propriedade corresponde ao final do áudio enviado para o modelo e, portanto, inclui o min_silence_duration_ms configurado na sessão. |
| item_id | cadeia (de caracteres) | A ID do item de mensagem do usuário criado. |
rate_limits.atualizado
O evento server rate_limits.updated é emitido no início de uma resposta para indicar os limites de taxa atualizados.
Quando uma resposta é criada, alguns tokens são reservados para os tokens de saída. Os limites de tarifa mostrados aqui refletem essa reserva, que é ajustada em conformidade assim que a resposta for concluída.
Estrutura do evento
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser rate_limits.updated. |
| rate_limits | matriz de RealtimeRateLimitsItem | A lista de informações sobre limites de taxa. |
resposta.audio.delta
O evento server response.audio.delta é retornado quando o áudio gerado pelo modelo é atualizado.
Estrutura do evento
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio.delta. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia (de caracteres) | delta de dados de áudio codificados em Base64. |
resposta.audio.done
O evento server response.audio.done é retornado quando o áudio gerado pelo modelo é concluído.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio.done. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
response.audio_transcript.delta
O evento server response.audio_transcript.delta é retornado quando a transcrição gerada pelo modelo da saída de áudio é atualizada.
Estrutura do evento
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio_transcript.delta. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia (de caracteres) | O delta da transcrição. |
response.audio_transcript.feito
O evento server response.audio_transcript.done é retornado quando a transcrição gerada pelo modelo da saída de áudio é feita em streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.audio_transcript.done. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| transcrição | cadeia (de caracteres) | A transcrição final do áudio. |
response.function_call_arguments.delta
O evento server response.function_call_arguments.delta é retornado quando os argumentos de chamada de função gerados pelo modelo são atualizados.
Estrutura do evento
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.function_call_arguments.delta. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| call_id | cadeia (de caracteres) | O ID da chamada de função. |
| delta | cadeia (de caracteres) | Os argumentos delta como uma cadeia de caracteres JSON. |
response.function_call_arguments.feito
O evento server response.function_call_arguments.done é retornado quando os argumentos de chamada de função gerados pelo modelo são feitos de streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.function_call_arguments.done. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| call_id | cadeia (de caracteres) | O ID da chamada de função. |
| arguments | cadeia (de caracteres) | Os argumentos finais como uma cadeia de caracteres JSON. |
mcp_list_tools.in_progress
O evento do servidor mcp_list_tools.in_progress é devolvido quando o serviço começa a listar as ferramentas disponíveis de um servidor mcp.
Estrutura do evento
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser mcp_list_tools.in_progress. |
| item_id | cadeia (de caracteres) | O ID do item das ferramentas da lista MCP em processamento. |
mcp_list_tools.concluído
O evento do servidor mcp_list_tools.completed é devolvido quando o serviço completa de listar as ferramentas disponíveis de um servidor mcp.
Estrutura do evento
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser mcp_list_tools.completed. |
| item_id | cadeia (de caracteres) | O ID do item das ferramentas da lista MCP em processamento. |
mcp_list_tools.falhou
O evento do servidor mcp_list_tools.failed é devolvido quando o serviço não consegue listar as ferramentas disponíveis de um servidor mcp.
Estrutura do evento
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser mcp_list_tools.failed. |
| item_id | cadeia (de caracteres) | O ID do item das ferramentas da lista MCP em processamento. |
response.mcp_call_arguments.delta
O evento do servidor response.mcp_call_arguments.delta é devolvido quando os argumentos de chamada à ferramenta mcp gerados pelo modelo são atualizados.
Estrutura do evento
{
"type": "response.mcp_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.mcp_call_arguments.delta. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | O ID do item da chamada da ferramenta mcp. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| delta | cadeia (de caracteres) | Os argumentos delta como uma cadeia de caracteres JSON. |
response.mcp_call_arguments feito
O evento do servidor response.mcp_call_arguments.done é devolvido quando os argumentos da chamada à ferramenta mcp gerados pelo modelo terminam de ser transmitidos.
Estrutura do evento
{
"type": "response.mcp_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.mcp_call_arguments.done. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | O ID do item da chamada da ferramenta mcp. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| arguments | cadeia (de caracteres) | Os argumentos finais como uma cadeia de caracteres JSON. |
response.mcp_call.in_progress
O evento do servidor response.mcp_call.in_progress é devolvido quando uma chamada de ferramenta MCP começa a ser processada.
Estrutura do evento
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.mcp_call.in_progress. |
| item_id | cadeia (de caracteres) | O ID do item da chamada da ferramenta mcp. |
| output_index | número inteiro | O índice do item de saída na resposta. |
response.mcp_call.concluído
O evento do servidor response.mcp_call.completed é devolvido quando uma chamada de ferramenta MCP é concluída com sucesso.
Estrutura do evento
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.mcp_call.completed. |
| item_id | cadeia (de caracteres) | O ID do item da chamada da ferramenta mcp. |
| output_index | número inteiro | O índice do item de saída na resposta. |
response.mcp_call.falhou
O evento do servidor response.mcp_call.failed é devolvido quando uma chamada à ferramenta MCP falha.
Estrutura do evento
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.mcp_call.failed. |
| item_id | cadeia (de caracteres) | O ID do item da chamada da ferramenta mcp. |
| output_index | número inteiro | O índice do item de saída na resposta. |
response.output_item.adicionado
O evento server response.output_item.added é retornado quando um novo item é criado durante a geração de resposta.
Estrutura do evento
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.output_item.added. |
| response_id | cadeia (de caracteres) | A ID da resposta à qual o item pertence. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| item | RealtimeConversationResponseItem | O item que foi adicionado. |
response.output_item.feito
O evento server response.output_item.done é retornado quando um item é feito streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.output_item.done. |
| response_id | cadeia (de caracteres) | A ID da resposta à qual o item pertence. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| item | RealtimeConversationResponseItem | O item que é feito streaming. |
resposta.text.delta
O evento server response.text.delta é retornado quando o texto gerado pelo modelo é atualizado. O texto corresponde à text parte de conteúdo de um item de mensagem do assistente.
Estrutura do evento
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.text.delta. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia (de caracteres) | O texto delta. |
response.text.done
O evento server response.text.done é retornado quando o texto gerado pelo modelo é feito streaming. O texto corresponde à text parte de conteúdo de um item de mensagem do assistente.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de evento deve ser response.text.done. |
| response_id | cadeia (de caracteres) | O ID da resposta. |
| item_id | cadeia (de caracteres) | A ID do item. |
| output_index | número inteiro | O índice do item de saída na resposta. |
| content_index | número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| enviar SMS | cadeia (de caracteres) | O conteúdo do texto final. |
Components
Formatos de áudio
RealtimeAudioFormat
Formato de áudio base usado para entrada de áudio.
Valores permitidos:
-
pcm16- Formato de áudio PCM de 16 bits -
g711_ulaw- G.711 formato de áudio μ-law -
g711_alaw- G.711 A-law formato de áudio
RealtimeOutputAudioFormat
Formato de áudio usado para saída de áudio com taxas de amostragem específicas.
Valores permitidos:
-
pcm16- Formato de áudio PCM de 16 bits com taxa de amostragem padrão (24kHz) -
pcm16_8000hz- Formato de áudio PCM de 16 bits a uma taxa de amostragem de 8 kHz -
pcm16_16000hz- Formato de áudio PCM de 16 bits a uma taxa de amostragem de 16 kHz -
g711_ulaw- Formato de áudio G.711 μ-law (mu-law) a uma taxa de amostragem de 8kHz -
g711_alaw- Formato de áudio G.711 A-law a uma taxa de amostragem de 8kHz
RealtimeAudioInputTranscriptionSettings
Configuração para transcrição de áudio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia (de caracteres) | O modelo de transcrição. Suportado por gpt-realtime e gpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize.Suportado com todos os outros modelos e agentes: azure-speech |
| linguagem | cadeia (de caracteres) | Código de idioma opcional em BCP-47 (por exemplo, en-US), ou ISO-639-1 (por exemplo, en), ou vários idiomas com deteção automática (por exemplo, en,zh). |
| custom_speech | objecto | Configuração opcional para modelos de fala personalizados, válida apenas para azure-speech modelo. |
| phrase_list | string[] | Lista opcional de dicas de frase para reconhecimento de viés, válida apenas para azure-speech modelo. |
| avisar | cadeia (de caracteres) | Texto prompt opcional para orientar a transcrição, válido apenas para whisper-1, gpt-4o-transcribegpt-4o-mini-transcribe e gpt-4o-transcribe-diarize modelos. |
RealtimeInputAudioNoiseReductionSettings
Pode tratar-se de:
- Um objeto RealtimeOpenAINoiseReduction
- Um objeto RealtimeAzureDeepNoiseSuppression
RealtimeOpenAINoiseReduction
Configuração de redução de ruído OpenAI com campo de tipo explícito, disponível apenas para gpt-realtime e gpt-realtime-mini modelos.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) |
near_field ou far_field |
RealtimeAzureDeepNoiseSuppression
Configuração para redução de ruído de áudio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure_deep_noise_suppression" |
RealtimeInputAudioEchoCancellationSettings
Configuração de cancelamento de eco para processamento de áudio no servidor.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "server_echo_cancellation" |
Configuração de voz
RealtimeVoice
União de todas as configurações de voz suportadas.
Pode tratar-se de:
- Um objeto RealtimeOpenAIVoice
- Um objeto RealtimeAzureVoice
RealtimeOpenAIVoice
Configuração de voz OpenAI com campo de tipo explícito.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "openai" |
| nome | cadeia (de caracteres) | Nome de voz OpenAI: alloy, ash, ballad, coral, , echosage, shimmer, verse, marin, ,cedar |
RealtimeAzureVoice
Base para configurações de voz do Azure. Esta é uma união discriminada com diferentes tipos:
RealtimeAzureStandardVoice
Configuração de voz padrão do Azure.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure-standard" |
| nome | cadeia (de caracteres) | Nome da voz (não pode estar vazio) |
| temperatura | número | Opcional. Temperatura entre 0,0 e 1,0 |
| custom_lexicon_url | cadeia (de caracteres) | Opcional. URL para léxico personalizado |
| prefer_locales | string[] | Opcional. Localidades preferidas Locais preferentes alteram os sotaques das línguas. Se o valor não estiver definido, o TTS usará o sotaque padrão de cada língua. por exemplo, quando o TTS fala inglês, usa o sotaque inglês americano. E ao falar espanhol, usa o sotaque mexicano espanhol. Se definirem o prefer_locales para ["en-GB", "es-ES"], o sotaque inglês será o inglês britânico e o sotaque espanhol será o espanhol europeu. E o TTS também é capaz de falar outras línguas como francês, chinês, etc. |
| região | cadeia (de caracteres) | Opcional. Especificação da localidade Impor a localização para a saída TTS. Se não estiver definido, o TTS usará sempre a localização indicada para falar. por exemplo, definir o local para en-US, o TTS usará sempre o sotaque do inglês americano para falar o conteúdo do texto, mesmo que o conteúdo do texto esteja noutra língua. E o TTS gera silêncio se o conteúdo do texto estiver em chinês. |
| style | cadeia (de caracteres) | Opcional. Estilo de voz |
| Lote | cadeia (de caracteres) | Opcional. Ajuste de passo |
| taxa | cadeia (de caracteres) | Opcional. Ajuste da taxa de fala |
| volume | cadeia (de caracteres) | Opcional. Ajuste de volume |
RealtimeAzureCustomVoice
Configuração de voz personalizada do Azure (preferencial para vozes personalizadas).
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure-custom" |
| nome | cadeia (de caracteres) | Nome da voz (não pode estar vazio) |
| endpoint_id | cadeia (de caracteres) | ID do ponto final (não pode estar vazio) |
| temperatura | número | Opcional. Temperatura entre 0,0 e 1,0 |
| custom_lexicon_url | cadeia (de caracteres) | Opcional. URL para léxico personalizado |
| prefer_locales | string[] | Opcional. Localidades preferidas Locais preferentes alteram os sotaques das línguas. Se o valor não estiver definido, o TTS usará o sotaque padrão de cada língua. por exemplo, quando o TTS fala inglês, usa o sotaque inglês americano. E ao falar espanhol, usa o sotaque mexicano espanhol. Se definirem o prefer_locales para ["en-GB", "es-ES"], o sotaque inglês será o inglês britânico e o sotaque espanhol será o espanhol europeu. E o TTS também é capaz de falar outras línguas como francês, chinês, etc. |
| região | cadeia (de caracteres) | Opcional. Especificação da localidade Impor a localização para a saída TTS. Se não estiver definido, o TTS usará sempre a localização indicada para falar. por exemplo, definir o local para en-US, o TTS usará sempre o sotaque do inglês americano para falar o conteúdo do texto, mesmo que o conteúdo do texto esteja noutra língua. E o TTS gera silêncio se o conteúdo do texto estiver em chinês. |
| style | cadeia (de caracteres) | Opcional. Estilo de voz |
| Lote | cadeia (de caracteres) | Opcional. Ajuste de passo |
| taxa | cadeia (de caracteres) | Opcional. Ajuste da taxa de fala |
| volume | cadeia (de caracteres) | Opcional. Ajuste de volume |
Exemplo:
{
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful",
"locale": "en-US"
}
RealtimeAzurePersonalVoice
Configuração de voz pessoal do Azure.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure-personal" |
| nome | cadeia (de caracteres) | Nome da voz (não pode estar vazio) |
| temperatura | número | Opcional. Temperatura entre 0,0 e 1,0 |
| modelo | cadeia (de caracteres) | Modelo neural subjacente: DragonLatestNeural, PhoenixLatestNeural, PhoenixV2Neural |
| custom_lexicon_url | cadeia (de caracteres) | Opcional. URL para léxico personalizado |
| prefer_locales | string[] | Opcional. Localidades preferidas Locais preferentes alteram os sotaques das línguas. Se o valor não estiver definido, o TTS usará o sotaque padrão de cada língua. por exemplo, quando o TTS fala inglês, usa o sotaque inglês americano. E ao falar espanhol, usa o sotaque mexicano espanhol. Se definirem o prefer_locales para ["en-GB", "es-ES"], o sotaque inglês será o inglês britânico e o sotaque espanhol será o espanhol europeu. E o TTS também é capaz de falar outras línguas como francês, chinês, etc. |
| região | cadeia (de caracteres) | Opcional. Especificação da localidade Impor a localização para a saída TTS. Se não estiver definido, o TTS usará sempre a localização indicada para falar. por exemplo, definir o local para en-US, o TTS usará sempre o sotaque do inglês americano para falar o conteúdo do texto, mesmo que o conteúdo do texto esteja noutra língua. E o TTS gera silêncio se o conteúdo do texto estiver em chinês. |
| Lote | cadeia (de caracteres) | Opcional. Ajuste de passo |
| taxa | cadeia (de caracteres) | Opcional. Ajuste da taxa de fala |
| volume | cadeia (de caracteres) | Opcional. Ajuste de volume |
Deteção de turnos
RealtimeTurnDetection
Configuração para deteção de turnos. Esta é uma união discriminada que suporta vários tipos de DVA.
RealtimeServerVAD
Deteção de turnos baseada em VAD de base.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "server_vad" |
| limiar | número | Opcional. Limiar de ativação (0,0-1,0) |
| prefix_padding_ms | número inteiro | Opcional. Preenchimento de áudio antes do início da fala |
| silence_duration_ms | número inteiro | Opcional. Duração do silêncio para detetar o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Opcional. Configuração de deteção de fim de emissão |
| criar_resposta | Booleano | Opcional. Habilite ou desabilite se uma resposta é gerada. |
| resposta_de_interrupção | Booleano | Opcional. Ativar ou desativar a interrupção de barcaças (padrão: false) |
| auto_truncate | Booleano | Opcional. Truncar automaticamente em caso de interrupção (padrão: false) |
RealtimeOpenAISemanticVAD
Configuração VAD semântica OpenAI que usa um modelo para determinar quando o usuário terminou de falar. Disponível apenas para gpt-realtime e gpt-realtime-mini modelos.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "semantic_vad" |
| Entusiasmo | cadeia (de caracteres) | Opcional. Esta é uma maneira de controlar o quão ansioso o modelo está para interromper o usuário, ajustando o tempo limite máximo de espera. No modo de transcrição, mesmo que o modelo não responda, isso afeta a forma como o áudio é fragmentado. São permitidos os seguintes valores: - auto (padrão) é equivalente a medium,- low permitirá que o usuário dedique seu tempo para falar,- high irá fragmentar o áudio o mais rápido possível.Se quiser que o modelo responda com mais frequência no modo de conversação ou que retorne eventos de transcrição mais rapidamente no modo de transcrição, você pode definir a ânsia como high.Por outro lado, se você quiser deixar o usuário falar ininterruptamente no modo de conversa, ou se quiser blocos de transcrição maiores no modo de transcrição, você pode definir ansiosamente como low. |
| criar_resposta | Booleano | Opcional. Habilite ou desabilite se uma resposta é gerada. |
| resposta_de_interrupção | Booleano | Opcional. Ativar ou desativar a interrupção de barcaças (padrão: false) |
RealtimeAzureSemanticVAD
VAD semântico do Azure, que determina quando o usuário inicia e fala usando um modelo semântico de fala, fornecendo uma deteção mais robusta em ambientes barulhentos.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure_semantic_vad" |
| limiar | número | Opcional. Limiar de ativação |
| prefix_padding_ms | número inteiro | Opcional. Preenchimento de áudio antes da fala |
| silence_duration_ms | número inteiro | Opcional. Duração do silêncio para o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Opcional. Configuração de deteção EOU |
| speech_duration_ms | número inteiro | Opcional. Duração mínima da fala |
| remove_filler_words | Booleano | Opcional. Remover palavras de preenchimento (padrão: false) |
| Idiomas | string[] | Opcional. Suporta Inglês. Outras línguas serão ignoradas. |
| criar_resposta | Booleano | Opcional. Habilite ou desabilite se uma resposta é gerada. |
| resposta_de_interrupção | Booleano | Opcional. Ativar ou desativar a interrupção de barcaças (padrão: false) |
| auto_truncate | Booleano | Opcional. Truncar automaticamente em caso de interrupção (padrão: false) |
RealtimeAzureSemanticVADMultilingual
VAD semântico do Azure (variante padrão).
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "azure_semantic_vad_multilingual" |
| limiar | número | Opcional. Limiar de ativação |
| prefix_padding_ms | número inteiro | Opcional. Preenchimento de áudio antes da fala |
| silence_duration_ms | número inteiro | Opcional. Duração do silêncio para o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Opcional. Configuração de deteção EOU |
| speech_duration_ms | número inteiro | Opcional. Duração mínima da fala |
| remove_filler_words | Booleano | Opcional. Remova palavras de preenchimento (padrão: false). |
| Idiomas | string[] | Opcional. Suporta Inglês, Espanhol, Francês, Italiano, Alemão (DE), Japonês, Português, Chinês, Coreano, Hindi. Outras línguas serão ignoradas. |
| criar_resposta | Booleano | Opcional. Habilite ou desabilite se uma resposta é gerada. |
| resposta_de_interrupção | Booleano | Opcional. Ativar ou desativar a interrupção de barcaças (padrão: false) |
| auto_truncate | Booleano | Opcional. Truncar automaticamente em caso de interrupção (padrão: false) |
RealtimeEOUDetection
O Azure End-of-Utterance (EOU) pode indicar quando o usuário final parou de falar enquanto permite pausas naturais. A deteção de fim de emissão pode reduzir significativamente os sinais prematuros de fim de turno sem adicionar latência percetível pelo usuário.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia (de caracteres) | Pode ser semantic_detection_v1 compatível com inglês ou semantic_detection_v1_multilingual inglês, espanhol, francês, italiano, alemão (DE), japonês, português, chinês, coreano, hindi |
| threshold_level | cadeia (de caracteres) | Opcional. Nível de limite de deteção (low, mediumhigh , e default), o padrão é medium igual à configuração. Com uma configuração mais baixa, a probabilidade de a sentença estar completa será maior. |
| timeout_ms (tempo limite em milissegundos) | número | Opcional. Tempo máximo em milissegundos para esperar por mais fala do usuário. O padrão é 1000 ms. |
Configuração do avatar
RealtimeAvatarConfig
Configuração para streaming e comportamento de avatar.
| Campo | Tipo | Description |
|---|---|---|
| ice_servers | RealtimeIceServer[] | Opcional. Servidores ICE para WebRTC |
| carácter | cadeia (de caracteres) | Nome do personagem ou ID do avatar |
| style | cadeia (de caracteres) | Opcional. Estilo de avatar (tom emocional, estilo de fala) |
| personalizado | Booleano | Se o avatar é personalizado |
| vídeo | VideoParams em tempo real | Opcional. Configuração de vídeo |
RealtimeIceServer
Configuração do servidor ICE para negociação de conexão WebRTC.
| Campo | Tipo | Description |
|---|---|---|
| URLs | string[] | URLs do servidor ICE (pontos de extremidade TURN ou STUN) |
| nome de utilizador | cadeia (de caracteres) | Opcional. Nome de usuário para autenticação |
| credencial | cadeia (de caracteres) | Opcional. Credencial para autenticação |
VideoParams em tempo real
Parâmetros de streaming de vídeo para avatar.
| Campo | Tipo | Description |
|---|---|---|
| taxa de bits | número inteiro | Opcional. Bitrate em bits por segundo (padrão: 2000000) |
| codec | cadeia (de caracteres) | Opcional. Codec de vídeo, atualmente apenas h264 (padrão: h264) |
| Rec. | RealtimeVideoCrop | Opcional. Configurações de corte |
| resolução | RealtimeVideoResolution | Opcional. Configurações de resolução |
RealtimeVideoCrop
Definição de retângulo de corte de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| top_left | inteiro[] | Canto superior esquerdo [x, y], inteiros não negativos |
| bottom_right | inteiro[] | Canto inferior direito [x, y], inteiros não negativos |
RealtimeVideoResolution
Especificação de resolução de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| Largura | número inteiro | Largura em pixels (deve ser > 0) |
| altura | número inteiro | Altura em pixels (deve ser > 0) |
Configuração de animação
RealtimeAnimation
Configuração para saídas de animação, incluindo blendshapes e visemes.
| Campo | Tipo | Description |
|---|---|---|
| model_name | cadeia (de caracteres) | Opcional. Nome do modelo de animação (padrão: "default") |
| saídas | RealtimeAnimationOutputType[] | Opcional. Tipos de saída (padrão: ["blendshapes"]) |
RealtimeAnimationOutputType
Tipos de dados de animação a serem produzidos.
Valores permitidos:
-
blendshapes- Dados de misturas faciais -
viseme_id- Dados do identificador Viseme
Configuração da sessão
RealtimeRequestSession
Objeto de configuração de sessão usado em session.update eventos.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia (de caracteres) | Opcional. Nome do modelo a ser usado |
| modalities | RealtimeModality[] | Opcional. As modalidades suportadas para a sessão. Por exemplo, "modalidades": ["texto", "áudio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas texto, defina "modalidades": ["texto"]. Para ativar a saída do avatar, defina "modalidades": ["texto", "áudio", "avatar"]. Não é possível ativar apenas o áudio. |
| animação | RealtimeAnimation | Opcional. Configuração de animação |
| voice | RealtimeVoice | Opcional. Configuração de voz |
| instructions | cadeia (de caracteres) | Opcional. Instruções do sistema para o modelo. As instruções podem orientar o áudio de saída se as vozes OpenAI forem usadas, mas podem não se aplicar às vozes do Azure. |
| input_audio_sampling_rate | número inteiro | Opcional. Taxa de amostragem de áudio de entrada em Hz (padrão: 24000 para pcm16, 8000 para g711_ulaw e g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Opcional. Formato de áudio de entrada (padrão: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Opcional. Formato de saída de áudio (padrão: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Configuração para redução de ruído de áudio de entrada. Isso pode ser definido como null para desativar. A redução de ruído filtra o áudio adicionado ao buffer de áudio de entrada antes de ser enviado ao VAD e ao modelo. A filtragem do áudio pode melhorar a precisão da deteção de VAD e da deteção de mudança de estado (reduzindo falsos positivos) e o desempenho do modelo, ao aprimorar a perceção do áudio de entrada. Esta propriedade é anulável. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Configuração para cancelamento de eco de áudio de entrada. Isso pode ser definido como null para desativar. Este cancelamento de eco do lado do serviço pode ajudar a melhorar a qualidade do áudio de entrada, reduzindo o impacto do eco e da reverberação. Esta propriedade é anulável. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | A configuração para transcrição de áudio de entrada. A configuração é nula (desativada) por padrão. A transcrição de áudio de entrada não é nativa do modelo, uma vez que o modelo consome áudio diretamente. A transcrição é executada de forma assíncrona através do /audio/transcriptions ponto final e deve ser tratada como orientação do conteúdo de áudio de entrada, em vez de precisamente o que o modelo ouviu. Para obter orientação adicional para o serviço de transcrição, o cliente pode, opcionalmente, definir o idioma e solicitar a transcrição.Esta propriedade é anulável. |
| turn_detection | RealtimeTurnDetection | As configurações de deteção de turno para a sessão. Isso pode ser definido como null para desativar. |
| Ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. Valores permitidos: auto, none, e required. Caso contrário, você pode especificar o nome da função a ser usada. |
| temperatura | número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000. Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf".O padrão é "inf". |
| Avatar | RealtimeAvatarConfig | Opcional. Configuração do avatar |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Opcional. Tipos de carimbo de data/hora para saída de áudio |
Modalidade em tempo real
Modalidades de sessão suportadas.
Valores permitidos:
-
text- Entrada/saída de texto -
audio- Entrada/saída de áudio -
animation- Saída de animação -
avatar- Saída de vídeo avatar
RealtimeAudioTimestampType
Tipos de carimbo de data/hora de saída suportados no conteúdo de resposta de áudio.
Valores permitidos:
-
word- Carimbos de data/hora por palavra na saída de áudio
Configuração da ferramenta
Suportamos dois tipos de ferramentas: chamada de funções e ferramentas MCP, que permitem ligar a um servidor mcp.
RealtimeTool
Definição de ferramenta para chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "function" |
| nome | cadeia (de caracteres) | Nome da função |
| descrição | cadeia (de caracteres) | Descrição da função e diretrizes de uso |
| parameters | objecto | Parâmetros de função como objeto de esquema JSON |
RealtimeToolChoice
Estratégia de seleção de ferramentas.
Pode tratar-se de:
-
"auto"- Deixe o modelo escolher -
"none"- Não use ferramentas -
"required"- Deve usar uma ferramenta -
{ "type": "function", "name": "function_name" }- Use uma função específica
MCPTool
Configuração da ferramenta MCP.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "mcp" |
| rótulo de servidor | cadeia (de caracteres) | Required. O rótulo do servidor MCP. |
| URL do servidor | cadeia (de caracteres) | Required. A URL do servidor MCP. |
| ferramentas permitidas | string[] | Opcional. A lista de nomes de ferramentas permitidos. Se não for especificado, todas as ferramentas são permitidas. |
| headers | objecto | Opcional. Cabeçalhos adicionais para incluir nos pedidos MCP. |
| autorização | cadeia (de caracteres) | Opcional. Token de autorização para pedidos MCP. |
| requer_aprovação | String ou dicionário | Opcional. Se definido como uma cadeia, o valor deve ser never ou always. Se definido para um dicionário, deve estar no formato {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}. O valor predefinido é always. Quando definida para always, a execução da ferramenta requer aprovação, mcp_approval_request será enviada ao cliente quando o argumento mcp estiver concluído, e só será executada quando mcp_approval_response com approve=true for recebida. Quando definida para never, a ferramenta será executada automaticamente sem aprovação. |
RealtimeConversationResponseItem
Este é um tipo de união que pode ser um dos seguintes:
RealtimeConversationUserMessageItem
Item de mensagem do usuário.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "message" |
| objecto | cadeia (de caracteres) | Deve ser "conversation.item" |
| função | cadeia (de caracteres) | Deve ser "user" |
| conteúdo | RealtimeInputTextContentPart | O conteúdo da mensagem. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeConversationAssistantMessageItem
Item de mensagem do assistente.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "message" |
| objecto | cadeia (de caracteres) | Deve ser "conversation.item" |
| função | cadeia (de caracteres) | Deve ser "assistant" |
| conteúdo | RealtimeOutputTextContentPart[] ou RealtimeOutputAudioContentPart[] | O conteúdo da mensagem. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeConversationSystemMessageItem
Item de mensagem do sistema.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "message" |
| objecto | cadeia (de caracteres) | Deve ser "conversation.item" |
| função | cadeia (de caracteres) | Deve ser "system" |
| conteúdo | RealtimeInputTextContentPart[] | O conteúdo da mensagem. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeConversationFunctionCallItem
Item de solicitação de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "function_call" |
| objecto | cadeia (de caracteres) | Deve ser "conversation.item" |
| nome | cadeia (de caracteres) | O nome da função a ser chamada. |
| arguments | cadeia (de caracteres) | Os argumentos para a chamada de função como uma cadeia de caracteres JSON. |
| call_id | cadeia (de caracteres) | O ID exclusivo da chamada de função. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeConversationFunctionCallOutputItem
Item de resposta de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "function_call_output" |
| objecto | cadeia (de caracteres) | Deve ser "conversation.item" |
| nome | cadeia (de caracteres) | O nome da função que foi chamada. |
| output | cadeia (de caracteres) | A saída da chamada de função. |
| call_id | cadeia (de caracteres) | O ID exclusivo da chamada de função. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeConversationMCPListToolsItem
Lista de ferramentas MCP item de resposta.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "mcp_list_tools" |
| rótulo de servidor | cadeia (de caracteres) | O rótulo do servidor MCP. |
RealtimeConversationMCPCallItem
Item de resposta de chamada MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "mcp_call" |
| rótulo de servidor | cadeia (de caracteres) | O rótulo do servidor MCP. |
| nome | cadeia (de caracteres) | O nome da ferramenta a chamar. |
| approval_request_id | cadeia (de caracteres) | O ID do pedido de aprovação para a chamada MCP. |
| arguments | cadeia (de caracteres) | Os argumentos a favor da chamada MCP. |
| output | cadeia (de caracteres) | A saída da chamada MCP. |
| erro | objecto | O erro detalha se a chamada MCP falhou. |
RealtimeConversationMCPApprovalRequestItem
Item do pedido de aprovação do MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | A ID exclusiva do item. |
| tipo | cadeia (de caracteres) | Deve ser "mcp_approval_request" |
| rótulo de servidor | cadeia (de caracteres) | O rótulo do servidor MCP. |
| nome | cadeia (de caracteres) | O nome da ferramenta a chamar. |
| arguments | cadeia (de caracteres) | Os argumentos a favor da chamada MCP. |
RealtimeItemStatus
Status dos itens de conversa.
Valores permitidos:
-
in_progress- Atualmente em processamento -
completed- Concluído com sucesso -
incomplete- Incompleto (interrompido ou reprovado)
RealtimeContentPart
Parte de conteúdo dentro de uma mensagem.
RealtimeInputTextContentPart
Parte de conteúdo de texto.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "input_text" |
| enviar SMS | cadeia (de caracteres) | O conteúdo do texto |
RealtimeOutputTextContentPart
Parte de conteúdo de texto.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "text" |
| enviar SMS | cadeia (de caracteres) | O conteúdo do texto |
RealtimeInputAudioContentPart
Parte de conteúdo de áudio.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "input_audio" |
| audio | cadeia (de caracteres) | Opcional. Dados de áudio codificados em Base64 |
| transcrição | cadeia (de caracteres) | Opcional. Transcrição de áudio |
RealtimeOutputAudioContentPart
Parte de conteúdo de áudio.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Deve ser "audio" |
| audio | cadeia (de caracteres) | Dados de áudio codificados em Base64 |
| transcrição | cadeia (de caracteres) | Opcional. Transcrição de áudio |
Objetos de resposta
RealtimeResponse
Objeto de resposta que representa uma resposta de inferência de modelo.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia (de caracteres) | Opcional. ID da resposta |
| objecto | cadeia (de caracteres) | Opcional. Sempre "realtime.response" |
| estado | RealtimeResponseStatus | Opcional. Estado da resposta |
| detalhes_do_status | RealtimeResponseStatusDetails | Opcional. Detalhes do status |
| output | RealtimeConversationResponseItem[] | Opcional. Itens de saída |
| utilização | RealtimeUsage | Opcional. Estatísticas de uso de token |
| conversation_id | cadeia (de caracteres) | Opcional. ID de conversação associada |
| voice | RealtimeVoice | Opcional. Voz utilizada para resposta |
| modalities | string[] | Opcional. Modalidades utilizadas |
| output_audio_format | RealtimeOutputAudioFormat | Opcional. Formato de áudio usado |
| temperatura | número | Opcional. Temperatura utilizada |
| max_response_output_tokens | inteiro ou "inf" | Opcional. Max tokens usados |
RealtimeResponseStatus
Valores de status de resposta.
Valores permitidos:
-
in_progress- A resposta está a ser gerada -
completed- Resposta concluída com sucesso -
cancelled- Resposta cancelada -
incomplete- Resposta incompleta (interrompida) -
failed- Resposta falhou com erro
RealtimeUsage
Estatísticas de uso de tokens.
| Campo | Tipo | Description |
|---|---|---|
| total_tokens | número inteiro | Total de tokens usados |
| input_tokens | número inteiro | Tokens de entrada usados |
| output_tokens | número inteiro | Tokens de saída gerados |
| input_token_details | TokenDetails | Discriminação dos tokens de entrada |
| output_token_details | TokenDetails | Decomposição dos tokens de saída |
TokenDetails
Detalhamento detalhado do uso do token.
| Campo | Tipo | Description |
|---|---|---|
| cached_tokens | número inteiro | Opcional. Tokens armazenados em cache usados |
| text_tokens | número inteiro | Opcional. Tokens de texto usados |
| audio_tokens | número inteiro | Opcional. Tokens de áudio usados |
Tratamento de erros
RealtimeErrorDetails
Objeto de informações de erro.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | Tipo de erro (por exemplo, "invalid_request_error", "server_error") |
| código | cadeia (de caracteres) | Opcional. Código de erro específico |
| mensagem | cadeia (de caracteres) | Descrição do erro legível por humanos |
| param | cadeia (de caracteres) | Opcional. Parâmetro relacionado com o erro |
| event_id | cadeia (de caracteres) | Opcional. ID do evento do cliente que causou o erro |
RealtimeConversationRequestItem
Use o RealtimeConversationRequestItem objeto para criar um novo item na conversa por meio do evento conversation.item.create .
Este é um tipo de união que pode ser um dos seguintes:
RealtimeSystemMessageItem
Um item de mensagem do sistema.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: message |
| função | cadeia (de caracteres) | O papel da mensagem. Valores permitidos: system |
| conteúdo | matriz de RealtimeInputTextContentPart | O conteúdo da mensagem. |
| id | cadeia (de caracteres) | A ID exclusiva do item. O cliente pode especificar o ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gerará um. |
RealtimeUserMessageItem
Um item de mensagem do usuário.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: message |
| função | cadeia (de caracteres) | O papel da mensagem. Valores permitidos: user |
| conteúdo | matriz de RealtimeInputTextContentPart ou RealtimeInputAudioContentPart | O conteúdo da mensagem. |
| id | cadeia (de caracteres) | A ID exclusiva do item. O cliente pode especificar o ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gerará um. |
RealtimeAssistantMessageItem
Um item de mensagem do assistente.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: message |
| função | cadeia (de caracteres) | O papel da mensagem. Valores permitidos: assistant |
| conteúdo | matriz de RealtimeOutputTextContentPart | O conteúdo da mensagem. |
RealtimeFunctionCallItem
Um item de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: function_call |
| nome | cadeia (de caracteres) | O nome da função a ser chamada. |
| arguments | cadeia (de caracteres) | Os argumentos da função chamam como uma cadeia de caracteres JSON. |
| call_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| id | cadeia (de caracteres) | A ID exclusiva do item. O cliente pode especificar o ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gerará um. |
RealtimeFunctionCallOutputItem
Um item de saída de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: function_call_output |
| call_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| output | cadeia (de caracteres) | A saída da chamada de função, esta é uma cadeia de caracteres de forma livre com o resultado da função, também pode estar vazia. |
| id | cadeia (de caracteres) | A ID exclusiva do item. Se o cliente não fornecer um ID, o servidor gerará um. |
RealtimeMCPApprovalResponseItem
Um item de resposta de aprovação do MCP.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: mcp_approval_response |
| approve | Booleano | Se o pedido do MCP é aprovado. |
| approval_request_id | cadeia (de caracteres) | O ID do pedido de aprovação do MCP. |
RealtimeFunctionTool
A definição de uma ferramenta de função como usada pelo ponto de extremidade em tempo real.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo da ferramenta. Valores permitidos: function |
| nome | cadeia (de caracteres) | O nome da função. |
| descrição | cadeia (de caracteres) | A descrição da função, incluindo diretrizes de uso. Por exemplo, "Use esta função para obter a hora atual." |
| parameters | objecto | Os parâmetros da função na forma de um objeto JSON. |
RealtimeItemStatus
Valores permitidos:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo da parte de conteúdo. Valores permitidos: audio |
| transcrição | cadeia (de caracteres) | A transcrição do áudio. Esta propriedade é anulável. |
RealtimeResponseFunctionCallItem
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: function_call |
| nome | cadeia (de caracteres) | O nome do item de chamada de função. |
| call_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| arguments | cadeia (de caracteres) | Os argumentos do item de chamada de função. |
| estado | RealtimeItemStatus | O estado do item. |
RealtimeResponseFunctionCallOutputItem
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia (de caracteres) | O tipo do item. Valores permitidos: function_call_output |
| call_id | cadeia (de caracteres) | A ID do item de chamada de função. |
| output | cadeia (de caracteres) | A saída do item de chamada de função. |
RealtimeResponseOptions
| Campo | Tipo | Description |
|---|---|---|
| modalities | matriz | As modalidades que a sessão suporta. Valores permitidos: text, audioPor exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para ativar apenas texto, defina "modalities": ["text"]. Não é possível ativar apenas o áudio. |
| instructions | cadeia (de caracteres) | As instruções (a mensagem do sistema) para orientar as respostas do modelo. |
| voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Uma vez que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada. |
| Ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. |
| temperatura | número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000. Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf".O padrão é "inf". |
| conversa | cadeia (de caracteres) | Controla a qual conversa a resposta é adicionada. Os valores suportados são auto e none.O auto valor (ou não definir essa propriedade) garante que o conteúdo da resposta seja adicionado à conversa padrão da sessão.Defina essa propriedade como none para criar uma resposta fora de banda na qual os itens não serão adicionados à conversa padrão. O padrão é "auto" |
| metadados | mapa | Conjunto de até 16 pares chave-valor que podem ser anexados a um objeto. Isso pode ser útil para armazenar informações adicionais sobre o objeto em um formato estruturado. As teclas podem ter no máximo 64 caracteres e os valores podem ter, no máximo, 512 caracteres. Por exemplo: metadata: { topic: "classification" } |
RealtimeResponseSession
O RealtimeResponseSession objeto representa uma sessão na API em tempo real. Ele é usado em alguns dos eventos do servidor, como:
| Campo | Tipo | Description |
|---|---|---|
| objecto | cadeia (de caracteres) | O objeto session. Valores permitidos: realtime.session |
| id | cadeia (de caracteres) | O ID exclusivo da sessão. |
| modelo | cadeia (de caracteres) | O modelo usado para a sessão. |
| modalities | matriz | As modalidades que a sessão suporta. Valores permitidos: text, audioPor exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para ativar apenas texto, defina "modalities": ["text"]. Não é possível ativar apenas o áudio. |
| instructions | cadeia (de caracteres) | As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo. Aqui estão alguns exemplos de instruções para ajudar a orientar o conteúdo e o formato das respostas de texto e áudio: "instructions": "be succinct""instructions": "act friendly""instructions": "here are examples of good responses"Aqui estão alguns exemplos de instruções para ajudar a orientar o comportamento do áudio: "instructions": "talk quickly""instructions": "inject emotion into your voice""instructions": "laugh frequently"Embora o modelo nem sempre siga essas instruções, elas fornecem orientação sobre o comportamento desejado. |
| voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Uma vez que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada. |
| input_audio_sampling_rate | número inteiro | A taxa de amostragem para o áudio de entrada. |
| input_audio_format | RealtimeAudioFormat | O formato para o áudio de entrada. |
| output_audio_format | RealtimeAudioFormat | O formato para o áudio de saída. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | As configurações para transcrição de entrada de áudio. Esta propriedade é anulável. |
| turn_detection | RealtimeTurnDetection | As configurações de deteção de turno para a sessão. Esta propriedade é anulável. |
| Ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. |
| temperatura | número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000. Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf". |
RealtimeResponseStatusDetails
| Campo | Tipo | Description |
|---|---|---|
| tipo | RealtimeResponseStatus | O status da resposta. |
RealtimeRateLimitsItem
| Campo | Tipo | Description |
|---|---|---|
| nome | cadeia (de caracteres) | O nome da propriedade de limite de taxa sobre o qual este item inclui informações. |
| limit | número inteiro | O limite máximo configurado para essa propriedade de limite de taxa. |
| remaining | número inteiro | A cota restante disponível em relação ao limite configurado para essa propriedade de limite de taxa. |
| reset_seconds | número | O tempo restante, em segundos, até que essa propriedade de limite de taxa seja redefinida. |
Recursos relacionados
- Experimente o início rápido ao vivo do Voice
- Experimente o guia de início rápido para agentes de voz ao vivo
- Saiba mais sobre como usar a API ao vivo do Voice