Compartilhar via


Referência da API em tempo real (Versão prévia)

Observação

Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

A API em tempo real é uma API baseada em WebSocket que permite que você interaja com o serviço Azure OpenAI em tempo real.

A API em tempo real (via /realtime) é construída na API WebSockets para facilitar a comunicação de streaming totalmente assíncrona entre o usuário final e o modelo. Detalhes do dispositivo, como captura e renderização de dados de áudio, estão fora do escopo da API em tempo real. Ele deve ser usado no contexto de um serviço intermediário confiável que gerencia conexões com usuários finais e modela conexões de ponto de extremidade. Não o utilize diretamente em dispositivos de usuários finais não confiáveis.

Dica

Para começar a usar a API em tempo real, veja o início rápido e o guia prático.

Conexão

A API em tempo real requer um ponto de extremidade de recurso do Azure OpenAI existente em uma região com suporte. A API é acessada por meio de uma conexão WebSocket segura com o /realtime ponto de extremidade do seu recurso do Azure OpenAI.

Você pode construir um URI de solicitação completo concatenando:

  • O protocolo seguro WebSocket (wss://)
  • O nome do host do ponto de extremidade do recurso do Azure OpenAI, por exemplo, my-aoai-resource.openai.azure.com
  • O caminho da API openai/realtime
  • Um parâmetro de cadeia de caracteres de consulta api-version para uma versão de API suportada, como 2024-10-01-preview
  • Um parâmetro de cadeia de caracteres de consulta deployment com o nome da sua gpt-4o-realtime-preview implantação do modelo

O exemplo a seguir é um URI de solicitação /realtime bem construído:

wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview-1001

Autenticação

Para autenticar:

  • Microsoft Entra (recomendado): Use a autenticação baseada em token com a API /realtime para um recurso do Serviço OpenAI do Azure com identidade gerenciada habilitada. Aplique um token de autenticação recuperado usando um Bearertoken com o cabeçalho Authorization.
  • Chave de API: Um api-key pode ser fornecido de duas maneiras:
    • Usando um cabeçalho de conexão api-key na conexão pré-handshake. Essa opção não está disponível em um ambiente de navegador.
    • Usando um parâmetro de cadeia de caracteres de consulta api-key no URI da solicitação. Os parâmetros da cadeia de caracteres de consulta são criptografados ao usar https/wss.

Eventos do cliente

Há nove eventos de cliente que podem ser enviados do cliente para o servidor:

Evento Descrição
RealtimeClientEventConversationItemCreate Envie esse evento do cliente ao adicionar um item à conversa.
RealtimeClientEventConversationItemDelete Envie esse evento de cliente quando quiser remover qualquer item do histórico de conversas.
RealtimeClientEventConversationItemTruncate Envie esse evento do cliente quando quiser truncar o áudio de uma mensagem anterior do assistente.
RealtimeClientEventInputAudioBufferAppend Envie esse evento de cliente para anexar bytes de áudio ao buffer de áudio de entrada.
RealtimeClientEventInputAudioBufferClear Envie esse evento de cliente para limpar os bytes de áudio no buffer.
RealtimeClientEventInputAudioBufferCommit Envie esse evento de cliente para confirmar bytes de áudio em uma mensagem do usuário.
RealtimeClientEventResponseCancel Envie esse evento de cliente para cancelar uma resposta em andamento.
RealtimeClientEventResponseCreate Envie esse evento de cliente para acionar uma geração de resposta.
RealtimeClientEventSessionUpdate Envie esse evento de cliente para atualizar a configuração padrão da sessão.

RealtimeClientEventConversationItemCreate

O evento conversation.item.create do cliente é usado para adicionar um novo item ao contexto da conversa, incluindo mensagens, chamadas de função e respostas às chamadas de função. Esse evento pode ser usado para preencher um histórico da conversa e adicionar novos itens no meio do caminho. Atualmente, esse evento não pode preencher mensagens de áudio do assistente.

Se for bem-sucedido, o servidor responde com um evento conversation.item.created, caso contrário, um evento error é enviado.

Estrutura do evento

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.item.create.
previous_item_id string O ID do item anterior após o qual o novo item é inserido. Se não for definido, o novo item será anexado ao final da conversa. Se definido, permite que um item seja inserido no meio da conversa. Se o ID não puder ser encontrado, um erro será retornado e o item não será adicionado.
item RealtimeConversationRequestItem O item a ser adicionado à conversa.

RealtimeClientEventConversationItemDelete

O evento conversation.item.delete do cliente é usado para remover um item do histórico de conversas.

O servidor responde com um evento conversation.item.deleted, a menos que o item não exista no histórico de conversas, caso em que o servidor responde com um erro.

Estrutura do evento

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.item.delete.
item_id string O ID do item a ser excluído.

RealtimeClientEventConversationItemTruncate

O evento conversation.item.truncate do cliente é usado para truncar o áudio de uma mensagem anterior do assistente. O servidor produz áudio mais rápido do que em tempo real, então esse evento é útil quando o usuário interrompe para truncar o áudio que foi enviado ao cliente, mas ainda não foi reproduzido. A compreensão do áudio pelo servidor com a reprodução do cliente é sincronizada.

Truncar o áudio exclui a transcrição do 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 evento conversation.item.truncated.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.item.truncate.
item_id string O ID do item de mensagem do assistente a ser truncado. Somente itens de mensagens do assistente podem ser truncados.
content_index Número inteiro O índice da parte do conteúdo a ser truncada. Defina essa propriedade como "0".
audio_end_ms Número inteiro Duração inclusiva até a qual o áudio é truncado, em milissegundos. Se audio_end_ms for maior que a duração real do áudio, o servidor responderá com um erro.

RealtimeClientEventInputAudioBufferAppend

O evento input_audio_buffer.append do cliente é usado para anexar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário no qual você pode gravar e depois confirmar.

No modo VAD (Voice Activity Detection) do servidor, o buffer de áudio é usado para detectar a fala e o servidor decide quando confirmar. Quando o VAD do servidor é desabilitado, o cliente pode escolher quanto áudio colocar em cada evento até um máximo de 15 MiB. Por exemplo, transmitir partes menores do cliente pode permitir que o VAD seja mais responsivo.

Ao contrário de outros eventos de cliente, o servidor não envia uma resposta de confirmação ao evento input_audio_buffer.append do cliente.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser input_audio_buffer.append.
audio string Bytes de áudio codificados em Base64. Esse valor deve estar no formato especificado pelo campo input_audio_format na configuração da sessão.

RealtimeClientEventInputAudioBufferClear

O evento input_audio_buffer.clear do cliente é usado para limpar os bytes de áudio no buffer.

O servidor responde com um evento input_audio_buffer.cleared.

Estrutura do evento

{
  "type": "input_audio_buffer.clear"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

O evento input_audio_buffer.commit do cliente é usado para confirmar o buffer de áudio da entrada do usuário, o que cria um novo item de mensagem do usuário na conversa. O áudio será transcrito se input_audio_transcription estiver configurado para a sessão.

Quando estiver 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 do áudio para criar um item de mensagem do usuário. Esse evento de cliente produz um erro se o buffer do áudio de entrada estiver vazio.

A confirmação do buffer de áudio de entrada não cria uma resposta do modelo.

O servidor responde com um evento input_audio_buffer.committed.

Estrutura do evento

{
  "type": "input_audio_buffer.commit"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser input_audio_buffer.commit.

RealtimeClientEventResponseCancel

O evento response.cancel de cliente é usado para cancelar uma resposta em andamento.

O servidor responde com um evento response.cancelled ou um erro se não houver resposta para cancelar.

Estrutura do evento

{
  "type": "response.cancel"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.cancel.

RealtimeClientEventResponseCreate

O evento response.create do cliente é usado para instruir o servidor a criar uma resposta por meio de inferência de 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 response.created, um ou mais itens e eventos de conteúdo (como conversation.item.created e response.content_part.added), e, por fim, um evento response.done para indicar que a resposta foi concluída.

Observação

O evento response.create do cliente inclui configuração de inferência como instructions e temperature. Esses campos substituem a configuração da sessão somente para essa resposta.

Estrutura do evento

{
  "type": "response.create"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.create.
response RealtimeResponseOptions As opções de resposta.

RealtimeClientEventSessionUpdate

O evento session.update de cliente é usado para atualizar a configuração padrão da sessão. O cliente pode enviar esse evento a qualquer momento para atualizar a configuração da sessão, e qualquer campo pode ser atualizado a qualquer momento, exceto voz.

Somente os campos presentes são atualizados. Para limpar um campo (como instructions), passe uma cadeia de caracteres vazia.

O servidor responde com um evento session.updated que contem a configuração efetiva completa.

Estrutura do evento

{
  "type": "session.update"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser session.update.
seção RealtimeRequestSession A configuração da sessão.

Eventos do servidor

Há 28 eventos de servidor que podem ser recebidos do servidor:

Evento Descrição
RealtimeServerEventConversationCreated Evento do servidor quando uma conversa é criada. Emitido logo após a criação da sessão.
RealtimeServerEventConversationItemCreated Evento do servidor quando um item de conversa é criado.
RealtimeServerEventConversationItemDeleted Evento do servidor quando um item na conversa é excluído.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Evento do servidor quando a transcrição de áudio de entrada é habilitada e uma transcrição é bem-sucedida.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Evento do servidor quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem do usuário falhou.
RealtimeServerEventConversationItemTruncated Evento do servidor quando o cliente trunca um item de mensagem de áudio do assistente anterior.
RealtimeServerEventError Evento do servidor quando ocorre um erro.
RealtimeServerEventInputAudioBufferCleared Evento do servidor quando o cliente limpa o buffer de áudio de entrada.
RealtimeServerEventInputAudioBufferCommitted Evento do servidor quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor.
RealtimeServerEventInputAudioBufferSpeechStarted Evento do servidor no modo de detecção de ativação do servidor quando a fala é detectada.
RealtimeServerEventInputAudioBufferSpeechStopped Evento do servidor no modo de detecção de turno do servidor quando a fala é interrompida.
RealtimeServerEventRateLimitsUpdated Emitido após cada evento "response.done" para indicar os limites de taxa atualizados.
RealtimeServerEventResponseAudioDelta Evento do servidor quando o áudio gerado pelo modelo é atualizado.
RealtimeServerEventResponseAudioDone Evento do servidor quando o áudio gerado pelo modelo estiver concluído. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventResponseAudioTranscriptDelta Evento do servidor quando a transcrição gerada pelo modelo da saída de áudio é atualizada.
RealtimeServerEventResponseAudioTranscriptDone Evento do servidor quando a transcrição gerada pelo modelo da saída de áudio é concluída em streaming. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventResponseContentPartAdded Evento do servidor quando uma nova parte de conteúdo é adicionada a um item de mensagem do assistente durante a geração de resposta.
RealtimeServerEventResponseContentPartDone Evento do servidor quando uma parte do conteúdo é concluída em streaming em um item de mensagem do assistente. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventResponseCreated Evento do servidor quando uma nova resposta é criada. O primeiro evento de criação de resposta, onde a resposta está em um estado inicial de "in_progress".
RealtimeServerEventResponseDone Evento do servidor quando uma resposta é transmitida. Sempre emitido, não importa o estado final.
RealtimeServerEventResponseFunctionCallArgumentsDelta Evento do servidor quando os argumentos de chamada de função gerados pelo modelo são atualizados.
RealtimeServerEventResponseFunctionCallArgumentsDone Evento do servidor quando os argumentos de chamada de função gerados pelo modelo terminam de ser transmitidos. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventResponseOutputItemAdded Evento do servidor quando um novo item de saída é adicionado a uma resposta.
RealtimeServerEventResponseOutputItemDone Evento do servidor quando um item de saída é transmitido. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventResponseTextDelta Evento do servidor quando o texto gerado pelo modelo é atualizado.
RealtimeServerEventResponseTextDone Evento do servidor quando o texto gerado pelo modelo estiver concluído. Também emitido quando uma resposta é interrompida, incompleta ou cancelada.
RealtimeServerEventSessionCreated Evento do servidor quando uma sessão é criada.
RealtimeServerEventSessionUpdated Evento do servidor quando uma sessão é atualizada.

RealtimeServerEventConversationCreated

O evento conversation.created do servidor é retornado logo após a criação da sessão. Uma conversa é criada por sessão.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.created.
conversa objeto O recurso de conversação.

Propriedades de conversação

Campo Type Descrição
id string A ID exclusiva da conversa.
objeto string O tipo de objeto deve ser realtime.conversation.

RealtimeServerEventConversationItemCreated

O evento conversation.item.created do servidor é retornado quando um item de conversa é criado. Existem vários cenários que produzem esse evento:

  • O servidor está gerando uma resposta que, se bem-sucedida, produz um ou dois itens, que são do tipo message (função assistant) ou tipofunction_call.
  • O buffer de áudio de entrada é confirmado pelo cliente ou pelo servidor (no server_vad modo). O servidor pega o conteúdo do buffer de áudio de entrada e o adiciona a um novo item de mensagem do usuário.
  • O cliente enviou um evento conversation.item.create para adicionar um novo item à conversa.

Estrutura do evento

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.item.created.
previous_item_id string O ID do item anterior no contexto da conversa permite que o cliente entenda a ordem da conversa.
item RealtimeConversationResponseItem O item que foi criado.

RealtimeServerEventConversationItemDeleted

O evento conversation.item.deleted do servidor é retornado quando o cliente exclui um item na conversa com um evento conversation.item.delete. Esse evento é usado para sincronizar a compreensão do histórico de conversas pelo servidor com a visão do cliente.

Estrutura do evento

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser conversation.item.deleted.
item_id string O ID do item que foi excluído.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

O evento conversation.item.input_audio_transcription.completed do servidor é o resultado da transcrição de áudio da fala gravada no buffer de áudio.

A transcrição começa quando o buffer de áudio de entrada é confirmado pelo cliente ou servidor (no modo server_vad). A transcrição é executada de forma assíncrona com a criação da resposta, portanto, esse evento pode ocorrer 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, atualmente sempre o whisper-1. Portanto, 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 Type Descrição
type string O tipo de evento deve ser conversation.item.input_audio_transcription.completed.
item_id string O ID do item de mensagem do usuário que contém o áudio.
content_index Número inteiro O índice da parte do conteúdo que contém o áudio.
transcript string O texto transcrito.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

O evento conversation.item.input_audio_transcription.failed do servidor é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem do usuário falhou. Esses eventos são separados de outros eventos error 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 Type Descrição
type string O tipo de evento deve ser conversation.item.input_audio_transcription.failed.
item_id string O ID do item de mensagem do usuário.
content_index Número inteiro O índice da parte do conteúdo que contém o áudio.
error objeto Detalhes do erro de transcrição.

Consulte as propriedades aninhadas na próxima tabela.

Propriedades de erro

Campo Type Descrição
type string O tipo de erro.
código string Código de erro, se houver.
mensagem string Uma mensagem de erro legível por humanos.
param string Parâmetro relacionado ao erro, se houver.

RealtimeServerEventConversationItemTruncated

O evento conversation.item.truncated do servidor é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um evento conversation.item.truncate. Esse evento é usado para sincronizar a compreensão do áudio pelo servidor com a reprodução do cliente.

Essa evento trunca o áudio e remove a transcrição do 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 Type Descrição
type string O tipo de evento deve ser conversation.item.truncated.
item_id string O ID do item de mensagem do assistente que foi truncado.
content_index Número inteiro O índice da parte do conteúdo que foi truncada.
audio_end_ms Número inteiro A duração até a qual o áudio foi truncado, em milissegundos.

RealtimeServerEventError

O evento error do servidor é retornado quando ocorre um erro, que pode ser um problema do cliente ou do servidor. A maioria dos erros são recuperáveis ​​e a sessão permanece aberta.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser error.
error objeto Detalhes do erro.

Consulte as propriedades aninhadas na próxima tabela.

Propriedades de erro

Campo Type Descrição
type string O tipo de erro. Por exemplo, "invalid_request_error" e "server_error" são tipos de erro.
código string Código de erro, se houver.
mensagem string Uma mensagem de erro legível por humanos.
param string Parâmetro relacionado ao erro, se houver.
event_id string O ID do evento do cliente que causou o erro, se aplicável.

RealtimeServerEventInputAudioBufferCleared

O evento input_audio_buffer.cleared do servidor é retornado quando o cliente limpa o buffer de áudio de entrada com um evento input_audio_buffer.clear.

Estrutura do evento

{
  "type": "input_audio_buffer.cleared"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

O evento input_audio_buffer.committed do servidor é retornado quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor. A propriedade item_id é o ID do item de mensagem do usuário criado. Assim, um evento conversation.item.created também é enviado ao cliente.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser input_audio_buffer.committed.
previous_item_id string O ID do item anterior após o qual o novo item é inserido.
item_id string O ID do item de mensagem do usuário criado.

RealtimeServerEventInputAudioBufferSpeechStarted

O evento input_audio_buffer.speech_started do servidor é retornado no modo server_vad quando uma fala é detectada no buffer de áudio. Esse evento pode ocorrer sempre que áudio for adicionado ao buffer (a menos que a fala já tenha sido detectada).

Observação

O cliente pode usar esse evento para interromper a reprodução de áudio ou fornecer feedback visual ao usuário.

O cliente deve esperar receber um evento input_audio_buffer.speech_stopped quando a fala parar. A propriedade item_id é a ID do item de mensagem do usuário criado quando a fala é interrompida. O item_id também é incluído no evento input_audio_buffer.speech_stopped, a 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 Type Descrição
type string 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 detectada pela primeira vez. Essa propriedade corresponde ao início do áudio enviado ao modelo e, portanto, inclui o prefix_padding_ms configurado na sessão.
item_id string O ID do item de mensagem do usuário criado quando a fala é interrompida.

RealtimeServerEventInputAudioBufferSpeechStopped

O evento input_audio_buffer.speech_stopped do servidor é retornado no modo server_vad quando o servidor detecta o fim da fala no buffer de áudio.

O servidor também envia um evento conversation.item.created 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 Type Descrição
type string O tipo de evento deve ser input_audio_buffer.speech_stopped.
audio_end_ms Número inteiro Milissegundos desde o início da sessão quando a fala parou. Essa propriedade corresponde ao final do áudio enviado ao modelo e, portanto, inclui o min_silence_duration_ms configurado na sessão.
item_id string O ID do item de mensagem do usuário criado.

RealtimeServerEventRateLimitsUpdated

O evento rate_limits.updated do servidor é 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 taxa mostrados aqui refletem essa reserva, que é ajustada de acordo quando a resposta é concluída.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser rate_limits.updated.
rate_limits matriz deRealtimeServerEventRateLimitsUpdatedRateLimitsItem A lista de informações sobre limites de taxa.

RealtimeServerEventResponseAudioDelta

O evento response.audio.delta do servidor é 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 Type Descrição
type string O tipo de evento deve ser response.audio.delta.
response_id string O ID da resposta.
item_id string O 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 string Delta de dados de áudio Base64-encoded.

RealtimeServerEventResponseAudioDone

O evento response.audio.done do servidor é 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 Type Descrição
type string O tipo de evento deve ser response.audio.done.
response_id string O ID da resposta.
item_id string O 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.

RealtimeServerEventResponseAudioTranscriptDelta

O evento response.audio_transcript.delta do servidor é 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 Type Descrição
type string O tipo de evento deve ser response.audio_transcript.delta.
response_id string O ID da resposta.
item_id string O 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 string A transcrição delta.

RealtimeServerEventResponseAudioTranscriptDone

O evento response.audio_transcript.done do servidor é retornado quando o streaming da transcrição gerada pelo modelo da saída de áudio é concluído.

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 Type Descrição
type string O tipo de evento deve ser response.audio_transcript.done.
response_id string O ID da resposta.
item_id string O 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.
transcript string A transcrição final do áudio.

RealtimeServerEventResponseContentPartAdded

O evento response.content_part.added do servidor é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem do assistente durante a geração de resposta.

Estrutura do evento

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.content_part.added.
response_id string O ID da resposta.
item_id string O ID do item ao qual a parte do conteúdo foi adicionada.
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.
part RealtimeContentPart A parte de conteúdo que foi adicionada.

Propriedades de parte

Campo Type Descrição
tipo RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

O evento response.content_part.done do servidor é retornado quando uma parte do conteúdo conclui o streaming de um item de mensagem do assistente.

Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.

Estrutura do evento

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

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.content_part.done.
response_id string O ID da resposta.
item_id string O 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.
part RealtimeContentPart A parte do conteúdo que está pronta.

Propriedades de parte

Campo Type Descrição
tipo RealtimeContentPartType

RealtimeServerEventResponseCreated

O evento response.created do servidor é retornado quando uma nova resposta é criada. Esse é primeiro evento de criação de resposta, onde a resposta está em um estado inicial de in_progress.

Estrutura do evento

{
  "type": "response.created"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.created.
response RealtimeResponse O objeto de resposta.

RealtimeServerEventResponseDone

O evento response.done do servidor é retornado quando o streaming de uma resposta é concluído. Esse evento sempre é emitido, independentemente do estado final. O objeto de resposta incluído no evento response.done inclui todos os itens de saída na resposta, mas omite os dados de áudio brutos.

Estrutura do evento

{
  "type": "response.done"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser response.done.
response RealtimeResponse O objeto de resposta.

RealtimeServerEventResponseFunctionCallArgumentsDelta

O evento response.function_call_arguments.delta do servidor é 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 Type Descrição
type string O tipo de evento deve ser response.function_call_arguments.delta.
response_id string O ID da resposta.
item_id string O ID do item de chamada de função.
output_index Número inteiro O índice do item de saída na resposta.
call_id string O ID da chamada de função.
delta string Os argumentos delta como uma cadeia de caracteres JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

O evento response.function_call_arguments.done do servidor é retornado quando o streaming dos argumentos de chamada de função gerados pelo modelo é concluído.

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 Type Descrição
type string O tipo de evento deve ser response.function_call_arguments.done.
response_id string O ID da resposta.
item_id string O ID do item de chamada de função.
output_index Número inteiro O índice do item de saída na resposta.
call_id string O ID da chamada de função.
arguments string Os argumentos finais como uma cadeia de caracteres JSON.

RealtimeServerEventResponseOutputItemAdded

O evento response.output_item.added do servidor é 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 Type Descrição
type string O tipo de evento deve ser response.output_item.added.
response_id string O 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.

RealtimeServerEventResponseOutputItemDone

O evento response.output_item.done do servidor é retornado quando o streaming de um item é concluído.

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 Type Descrição
type string O tipo de evento deve ser response.output_item.done.
response_id string O 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 cujo streaming foi concluído.

RealtimeServerEventResponseTextDelta

O evento response.text.delta do servidor é retornado quando o texto gerado pelo modelo é atualizado. O texto corresponde à parte de conteúdo text 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 Type Descrição
type string O tipo de evento deve ser response.text.delta.
response_id string O ID da resposta.
item_id string O 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 string O texto delta.

RealtimeServerEventResponseTextDone

O evento response.text.done do servidor é retornado quando o streaming do texto gerado pelo modelo é concluído. O texto corresponde à parte de conteúdo text 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 Type Descrição
type string O tipo de evento deve ser response.text.done.
response_id string O ID da resposta.
item_id string O 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.
text string O conteúdo final do texto.

RealtimeServerEventSessionCreated

O evento session.created do servidor é o primeiro evento de servidor quando você estabelece uma nova conexão com a API em tempo real. Esse evento cria e retorna uma nova sessão com a configuração de sessão padrão.

Estrutura do evento

{
  "type": "session.created"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser session.created.
seção RealtimeResponseSession O objeto de sessão.

RealtimeServerEventSessionUpdated

O evento session.updated do servidor é retornado quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor enviará um evento error.

Estrutura do evento

{
  "type": "session.updated"
}

Propriedades

Campo Type Descrição
type string O tipo de evento deve ser session.updated.
seção RealtimeResponseSession O objeto de sessão.

Componentes

RealtimeAudioFormat

Valores Permitidos:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Valores Permitidos:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

Campo Type Descrição
modelo RealtimeAudioInputTranscriptionModel Atualmente, o modelo whisper-1 padrão é o único modelo com suporte para transcrição de entrada de áudio.

RealtimeClientEvent

Campo Type Descrição
tipo RealtimeClientEventType O tipo do evento do cliente.
event_id string A ID exclusiva do evento.

RealtimeClientEventType

Valores Permitidos:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

RealtimeContentPart

Campo Type Descrição
tipo RealtimeContentPartType O tipo da parte de conteúdo.

RealtimeContentPartType

Valores Permitidos:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

O item a ser adicionado à conversa.

RealtimeConversationRequestItem

Campo Type Descrição
tipo RealtimeItemType O tipo do item.
ID string A ID exclusiva do item.

RealtimeConversationResponseItem

Campo Type Descrição
objeto string O item de resposta da conversa.

Valores permitidos: realtime.item
tipo RealtimeItemType O tipo do item.
ID string A ID exclusiva do item.

Essa propriedade é anulável.

RealtimeFunctionTool

A definição de uma ferramenta de função conforme usada pelo ponto de extremidade em tempo real.

Campo Type Descrição
type string O tipo da ferramenta.

Valores permitidos: function
name string O nome da função.
descrição string A descrição da função.
parâmetros objeto Os parâmetros da função.

RealtimeItemStatus

Valores Permitidos:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Valores Permitidos:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Valores Permitidos:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Campo Type Descrição
função string A função da mensagem.

Valores permitidos: assistant
content matriz de RealtimeRequestTextContentPart O conteúdo da mensagem.

RealtimeRequestAudioContentPart

Campo Type Descrição
type string O tipo da parte de conteúdo.

Valores permitidos: input_audio
transcript string A transcrição do áudio.

RealtimeRequestFunctionCallItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: function_call
name string A ID do item de chamada de função.
call_id string O ID do item de chamada de função.
arguments string Os argumentos do item de chamada de função.
status RealtimeItemStatus O status do item.

RealtimeRequestFunctionCallOutputItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: function_call_output
call_id string O ID do item de chamada de função.
output string A saída do item de chamada de função.

RealtimeRequestMessageItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: message
função RealtimeMessageRole A função da mensagem.
status RealtimeItemStatus O status do item.

RealtimeRequestMessageReferenceItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: message
ID string A ID do item de mensagem.

RealtimeRequestSession

Campo Type Descrição
modalidades matriz As modalidades compatíveis com a sessão.

Valores permitidos: text e audio

Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"]. Você não pode habilitar apenas o áudio.
instruções string As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo.

Aqui estão algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado.
voice RealtimeVoice A voz usada para a resposta do modelo para a sessão.

Depois que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada.
input_audio_format RealtimeAudioFormat O formato do áudio de entrada.
output_audio_format RealtimeAudioFormat O formato do áudio de saída.
input_audio_transcription RealtimeAudioInputTranscriptionSettings As configurações de transcrição de entrada de áudio.

Essa propriedade é anulável.
turn_detection RealtimeTurnDetection As configurações de detecção de turno para a sessão.

Essa propriedade é anulável.
manuais matriz de RealtimeTool As ferramentas disponíveis para o modelo para a sessão.
tool_choice RealtimeToolChoice A opção de ferramenta para a sessão.
temperatura número A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8.
max_response_output_tokens inteiro ou "inf" O número máximo de tokens de saída para uma única 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".

Assume o padrão de "inf".

RealtimeRequestSystemMessageItem

Campo Type Descrição
função string A função da mensagem.

Valores permitidos: system
content matriz de RealtimeRequestTextContentPart O conteúdo da mensagem.

RealtimeRequestTextContentPart

Campo Type Descrição
type string O tipo da parte de conteúdo.

Valores permitidos: input_text
text string O conteúdo do texto.

RealtimeRequestUserMessageItem

Campo Type Descrição
função string A função da mensagem.

Valores permitidos: user
content matriz de RealtimeRequestTextContentPart ou RealtimeRequestAudioContentPart O conteúdo da mensagem.

RealtimeResponse

Campo Type Descrição
objeto string O objeto de resposta.

Valores permitidos: realtime.response
ID string A ID exclusiva da resposta.
status RealtimeResponseStatus O status da resposta.

O valor de status padrão é in_progress.
status_details RealtimeResponseStatusDetails Os detalhes do status da resposta.

Essa propriedade é anulável.
output matriz de RealtimeConversationResponseItem Os itens de saída da resposta.
uso objeto Estatísticas de uso da resposta. Cada sessão de API em tempo real mantém um contexto de conversa e acrescenta novos itens à conversa. A saída de turnos anteriores (tokens de texto e áudio) é a entrada para turnos posteriores.

Veja as propriedades aninhadas a seguir.
total_tokens Número inteiro O número total de tokens na resposta, incluindo tokens de texto e áudio de entrada e saída.

Uma propriedade do objeto usage.
+ input_tokens Número inteiro O número de tokens de entrada usados na resposta, incluindo tokens de texto e áudio.

Uma propriedade do objeto usage.
+ output_tokens Número inteiro O número de tokens de saída enviados na resposta, incluindo tokens de texto e áudio.

Uma propriedade do objeto usage.
+ input_token_details objeto Detalhes sobre os tokens de entrada usados na resposta.

Uma propriedade do objeto usage.
br>
Veja as propriedades aninhadas a seguir.
+ cached_tokens Número inteiro O número de tokens armazenados em cache usados na resposta.

Uma propriedade do objeto input_token_details.
+ text_tokens Número inteiro O número de tokens de texto usados na resposta.

Uma propriedade do objeto input_token_details.
+ audio_tokens Número inteiro O número de tokens de áudio usados na resposta.

Uma propriedade do objeto input_token_details.
+ output_token_details objeto Detalhes sobre os tokens de saída usados na resposta.

Uma propriedade do objeto usage.

Veja as propriedades aninhadas a seguir.
+ text_tokens Número inteiro O número de tokens de texto usados na resposta.

Uma propriedade do objeto output_token_details.
+ audio_tokens Número inteiro O número de tokens de áudio usados na resposta.

Uma propriedade do objeto output_token_details.

RealtimeResponseAudioContentPart

Campo Type Descrição
type string O tipo da parte de conteúdo.

Valores permitidos: audio
transcript string A transcrição do áudio.

Essa propriedade é anulável.

RealtimeResponseBase

O recurso de resposta.

RealtimeResponseFunctionCallItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: function_call
name string A ID do item de chamada de função.
call_id string O ID do item de chamada de função.
arguments string Os argumentos do item de chamada de função.
status RealtimeItemStatus O status do item.

RealtimeResponseFunctionCallOutputItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: function_call_output
call_id string O ID do item de chamada de função.
output string A saída do item de chamada de função.

RealtimeResponseMessageItem

Campo Type Descrição
type string O tipo do item.

Valores permitidos: message
função RealtimeMessageRole A função da mensagem.
content matriz O conteúdo da mensagem.

Itens de matriz: RealtimeResponseTextContentPart
status RealtimeItemStatus O status do item.

RealtimeResponseOptions

Campo Type Descrição
modalidades matriz As modalidades compatíveis com a sessão.

Valores permitidos: text e audio

Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"]. Você não pode habilitar apenas o áudio.
instruções string As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo.

Aqui estão algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado.
voice RealtimeVoice A voz usada para a resposta do modelo para a sessão.

Depois que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada.
output_audio_format RealtimeAudioFormat O formato do áudio de saída.
manuais matriz de RealtimeTool As ferramentas disponíveis para o modelo para a sessão.
tool_choice RealtimeToolChoice A opção de ferramenta para a sessão.
temperatura número A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8.
max__output_tokens inteiro ou "inf" O número máximo de tokens de saída para uma única 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".

Assume o padrão de "inf".

RealtimeResponseSession

Campo Type Descrição
objeto string O objeto de sessão.

Valores permitidos: realtime.session
ID string A ID exclusiva da sessão.
modelo string O modelo usado para a sessão.
modalidades matriz As modalidades compatíveis com a sessão.

Valores permitidos: text e audio

Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"]. Você não pode habilitar apenas o áudio.
instruções string As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo.

Aqui estão algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado.
voice RealtimeVoice A voz usada para a resposta do modelo para a sessão.

Depois que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada.
input_audio_format RealtimeAudioFormat O formato do áudio de entrada.
output_audio_format RealtimeAudioFormat O formato do áudio de saída.
input_audio_transcription RealtimeAudioInputTranscriptionSettings As configurações de transcrição de entrada de áudio.

Essa propriedade é anulável.
turn_detection RealtimeTurnDetection As configurações de detecção de turno para a sessão.

Essa propriedade é anulável.
manuais matriz de RealtimeTool As ferramentas disponíveis para o modelo para a sessão.
tool_choice RealtimeToolChoice A opção de ferramenta para a sessão.
temperatura número A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8.
max_response_output_tokens inteiro ou "inf" O número máximo de tokens de saída para uma única 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".

RealtimeResponseStatus

Valores Permitidos:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Campo Type Descrição
tipo RealtimeResponseStatus O status da resposta.

RealtimeResponseTextContentPart

Campo Type Descrição
type string O tipo da parte de conteúdo.

Valores permitidos: text
text string O conteúdo do texto.

RealtimeServerEvent

Campo Type Descrição
tipo RealtimeServerEventType O tipo do evento do servidor.
event_id string A ID exclusiva do evento.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Campo Type Descrição
name string O nome da propriedade de limite de taxa sobre a qual esse item inclui informações.
limite Número inteiro O limite máximo configurado para essa propriedade de limite de taxa.
restante 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.

RealtimeServerEventType

Valores Permitidos:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

RealtimeServerVadTurnDetection

Campo Type Descrição
type string O tipo de detecção de turno.

Valores permitidos: server_vad
threshold número O limite de ativação para a detecção de turno do VAD do servidor. Em ambientes barulhentos, talvez seja necessário aumentar o limite para evitar falsos positivos. Em ambientes silenciosos, talvez seja necessário diminuir o limite para evitar falsos negativos.

Assume o padrão de 0.5. Você pode definir o limite como um valor entre 0.0 e 1.0.
prefix_padding_ms string A duração do áudio de fala (em milissegundos) a ser incluída antes do início da fala detectada.

Assume o padrão de 300.
silence_duration_ms string A duração do silêncio (em milissegundos) para detectar o fim da fala. Você deseja detectar o fim da fala o mais rápido possível, mas não muito cedo para evitar cortar a última parte da fala.

O modelo responderá mais rapidamente se você definir esse valor como um número menor, mas isso poderá cortar a última parte da fala. Se você definir esse valor como um número mais alto, o modelo aguardará mais tempo para detectar o fim da fala, mas pode levar mais tempo para responder.

RealtimeSessionBase

Configuração de objeto de sessão em tempo real.

RealtimeTool

A representação base de uma definição de ferramenta em tempo real.

Campo Type Descrição
tipo RealtimeToolType O tipo da ferramenta.

RealtimeToolChoice

O conjunto combinado de representações disponíveis para um parâmetro tool_choice em tempo real, abrangendo opções de literais de cadeia de caracteres como 'auto' e referências estruturadas para ferramentas definidas.

RealtimeToolChoiceFunctionObject

A representação de uma escolha de ferramenta em tempo real selecionando uma ferramenta de função nomeada.

Campo Type Descrição
type string O tipo do tool_choice.

Valores permitidos: function
função objeto A ferramenta de função a ser selecionada.

Veja as propriedades aninhadas a seguir.
+ nome string O nome da ferramenta de função.

Uma propriedade do objeto function.

RealtimeToolChoiceLiteral

O conjunto disponível de opções de literal de cadeia de caracteres tool_choice em nível de modo para o ponto de extremidade em tempo real.

Valores Permitidos:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Uma representação base para uma escolha de ferramenta em tempo real selecionando uma ferramenta nomeada.

Campo Type Descrição
tipo RealtimeToolType O tipo do tool_choice.

RealtimeToolType

Os discriminadores de tipo de ferramenta suportados para ferramentas em tempo real. Atualmente, apenas ferramentas de “função” são suportadas.

Valores Permitidos:

  • function

RealtimeTurnDetection

Campo Type Descrição
tipo RealtimeTurnDetectionType O tipo de detecção de turno.

Valores permitidos: server_vad

RealtimeTurnDetectionType

Valores Permitidos:

  • server_vad

RealtimeVoice

Valores Permitidos:

  • alloy
  • shimmer
  • echo