Referência de eventos áudio

Eventos em tempo real são usados para comunicar entre o cliente e o servidor em aplicações de áudio em tempo real. Os eventos são enviados como objetos JSON através de vários endpoints, como WebSockets ou WebRTC. Os eventos são usados para gerir a conversa, os buffers de áudio e as respostas em tempo real.

Pode usar eventos de áudio cliente e servidor com estas APIs:

Salvo indicação em contrário, os eventos descritos neste documento são aplicáveis a ambas as APIs.

Client events

Existem nove eventos do cliente que podem ser enviados do cliente para o servidor:

Event Description
RealtimeClientEventConversationItemCreate O evento cliente conversation.item.create é usado para adicionar um novo elemento ao contexto da conversa, incluindo mensagens, chamadas de função e respostas de chamadas de função.
RealtimeClientEventConversationItemDelete O evento cliente conversation.item.delete é usado para remover um item do histórico de conversas.
RealtimeClientEventConversationItemRetrieve O evento cliente conversation.item.retrieve é usado para recuperar um item do histórico de conversas.
RealtimeClientEventConversationItemTruncate O evento cliente conversation.item.truncate é usado para truncar o áudio de uma mensagem de assistente anterior.
RealtimeClientEventInputAudioBufferAppend O evento cliente input_audio_buffer.append é usado para adicionar bytes de áudio ao buffer de áudio de entrada.
RealtimeClientEventInputAudioBufferClear O evento cliente input_audio_buffer.clear é usado para limpar os bytes de áudio no buffer.
RealtimeClientEventInputAudioBufferCommit O evento cliente input_audio_buffer.commit é usado para confirmar o buffer de áudio de entrada do utilizador.
RealtimeClientEventOutputAudioBufferClear O evento cliente output_audio_buffer.clear é usado para limpar os bytes de áudio no buffer de saída.

Este evento é aplicável apenas ao WebRTC.
RealtimeClientEventResponseCancel O evento cliente response.cancel é usado para cancelar uma resposta em andamento.
RealtimeClientEventResponseCreate O evento cliente response.create é usado para instruir o servidor a criar uma resposta através de inferência de modelo.
RealtimeClientEventSessionUpdate O evento cliente session.update é usado para atualizar a configuração padrão da sessão.

RealtimeClientEventConversationItemCreate

O evento cliente conversation.item.create é usado para adicionar um novo elemento ao contexto da conversa, incluindo mensagens, chamadas de função e respostas de chamadas de função. Este evento pode ser usado para preencher o histórico da conversa e para adicionar novos itens a meio do processo. Neste momento, este evento não consegue preencher mensagens áudio dos assistentes.

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

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.create.
previous_item_id cadeia (de caracteres) O ID do item anterior, após o qual o novo item é inserido. Se não estiver definido, o novo item é acrescentado ao final da conversa. Se definido, permite inserir um item a meio da conversa. Se o ID não for encontrado, então é devolvido um erro e o item não é adicionado.
item RealtimeConversationRequestItem O item a acrescentar à conversa.

RealtimeClientEventConversationItemDelete

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

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

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.delete.
item_id cadeia (de caracteres) O ID do item a apagar.

RealtimeClientEventConversationItemRetrieve

O evento cliente conversation.item.retrieve é usado para recuperar a representação do servidor de um item específico no histórico da conversa. Este evento é útil, por exemplo, para inspecionar o áudio do utilizador após cancelamento de ruído e VAD.

Se o evento do cliente for bem-sucedido, o servidor responde com um conversation.item.retrieved evento. Se o item não aparecer no histórico de conversas, o servidor responderá com um erro.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.retrieve.
item_id cadeia (de caracteres) O ID do item a recuperar.
event_id cadeia (de caracteres) A identificação do evento.

RealtimeClientEventConversationItemTruncate

O evento cliente 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, por isso este evento é útil quando o utilizador interrompe para truncar áudio que foi enviado ao cliente mas ainda não foi reproduzido. A compreensão do áudio do servidor com a reprodução do cliente é sincronizada.

Truncar áudio elimina a transcrição do texto do lado do servidor para garantir que não há texto no contexto que o utilizador desconheça.

Se o evento do cliente for bem-sucedido, o servidor responde com um conversation.item.truncated evento.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.truncate.
item_id cadeia (de caracteres) O ID do item de mensagem do assistente a truncar. Apenas os itens de mensagens do assistente podem ser truncados.
content_index número inteiro O índice da parte do 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 superior à duração real do áudio, o servidor responde com um erro.

RealtimeClientEventInputAudioBufferAppend

O evento cliente input_audio_buffer.append é usado para adicionar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário onde podes escrever e depois fazer commit.

No modo Server VAD (Deteção de Atividade de Voz), o buffer de áudio é usado para detetar a fala e o servidor decide quando comprometer. Quando o VAD do servidor está desativado, o cliente pode escolher quanto áudio colocar em cada evento até um máximo de 15 MiB. Por exemplo, transmitir pequenos blocos do cliente pode permitir que o VAD seja mais responsivo.

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

Event structure

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

Properties

Field 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. Este valor deve estar no formato especificado pelo input_audio_format campo na configuração da sessão.

RealtimeClientEventInputAudioBufferClear

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

O servidor responde com um input_audio_buffer.cleared evento.

Event structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

O evento cliente input_audio_buffer.commit é usado para comprometer o buffer de áudio de entrada do utilizador, que cria um novo elemento de mensagem de utilizador na conversa. O áudio é transcrito se input_audio_transcription estiver configurado para a sessão.

Quando está em modo VAD de servidor, o cliente não precisa de enviar este evento, o servidor faz commit automático do buffer de áudio. Sem o VAD do servidor, o cliente tem de comprometer o buffer de áudio para criar um item de mensagem do utilizador. Este evento 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.

Event structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser input_audio_buffer.commit.

RealtimeClientEventOutputAudioBufferClear

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

Note

Este evento é aplicável apenas ao WebRTC.

Este evento deve ser precedido por um response.cancel evento cliente para interromper a geração da resposta atual.

O servidor deixa de gerar áudio e responde com um output_audio_buffer.cleared evento.

Event structure

{
  "type": "output_audio_buffer.clear"
}

Properties

Field Tipo Description
event_id cadeia (de caracteres) O ID do evento que causou o erro.
tipo cadeia (de caracteres) O tipo de evento deve ser output_audio_buffer.clear.

RealtimeClientEventResponseCancel

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

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

Event structure

{
  "type": "response.cancel"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.cancel.

RealtimeClientEventResponseCreate

O evento cliente response.create é usado para instruir o servidor a criar uma resposta através de inferência de modelo. Quando a sessão está configurada em 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. Estes itens são acrescentados ao histórico da conversa.

O servidor responde com um response.created evento, um 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.

Note

O evento cliente response.create inclui a configuração de inferência como instructions, e temperature. Estes campos podem sobrepor a configuração da sessão apenas para esta resposta.

Event structure

{
  "type": "response.create"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.create.
response RealtimeResponseOptions As opções de resposta.

RealtimeClientEventSessionUpdate

O evento cliente 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 o de voz.

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

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

Event structure

{
  "type": "session.update"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser session.update.
session RealtimeRequestSession A configuração da sessão.

Server events

Existem 28 eventos de servidor que podem ser recebidos do servidor:

Event Description
RealtimeServerEventConversationCreated O evento do servidor conversation.created é devolvido logo após a criação da sessão. Cria-se uma conversa por sessão.
RealtimeServerEventConversationItemCreated O evento do servidor conversation.item.created é devolvido quando um item de conversa é criado.
RealtimeServerEventConversationItemRetrieved O evento do servidor conversation.item.retrieved é devolvido quando um item de conversa é recuperado.
RealtimeServerEventConversationItemDeleted O evento do servidor conversation.item.deleted é devolvido quando o cliente elimina um item na conversa com um conversation.item.delete evento.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted O evento do servidor conversation.item.input_audio_transcription.completed é o resultado da transcrição de áudio para a fala escrita no buffer de áudio.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed O evento do servidor conversation.item.input_audio_transcription.failed é devolvido quando a transcrição áudio de entrada é configurada e um pedido de transcrição para uma mensagem de utilizador falhou.
RealtimeServerEventConversationItemTruncated O evento servidor conversation.item.truncated é devolvido quando o cliente trunca um item de mensagem áudio assistente anterior com um conversation.item.truncate evento.
RealtimeServerEventError O evento do servidor error é devolvido quando ocorre um erro, que pode ser um problema do cliente ou do servidor.
RealtimeServerEventInputAudioBufferCleared O evento do servidor input_audio_buffer.cleared é devolvido quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear evento.
RealtimeServerEventInputAudioBufferCommitted O evento do servidor input_audio_buffer.committed é devolvido quando um buffer de áudio de entrada é confirmado, seja pelo cliente ou automaticamente em modo VAD do servidor.
RealtimeServerEventInputAudioBufferSpeechStarted O evento do servidor input_audio_buffer.speech_started é devolvido em server_vad modo quando a fala é detetada no buffer de áudio.
RealtimeServerEventInputAudioBufferSpeechStopped O evento do servidor input_audio_buffer.speech_stopped é devolvido em server_vad modo quando o servidor deteta o fim da fala no buffer de áudio.
RealtimeServerEventOutputAudioBufferCleared O evento do servidor output_audio_buffer.cleared é devolvido quando o utilizador interrompe (input_audio_buffer.speech_started), ou quando o cliente emite o output_audio_buffer.clear evento para cortar manualmente a resposta áudio atual.

Este evento é aplicável apenas ao WebRTC.
RealtimeServerEventOutputAudioBufferStarted O evento do servidor output_audio_buffer.started é devolvido quando o servidor começa a transmitir áudio para o cliente. Este evento é emitido depois de uma parte de conteúdo áudio ter sido adicionada (response.content_part.added) à resposta.

Este evento é aplicável apenas ao WebRTC.
RealtimeServerEventOutputAudioBufferStopped O evento do servidor output_audio_buffer.stopped é devolvido quando o buffer de áudio de saída está completamente esvaziado no servidor, e não há mais áudio.

Este evento é aplicável apenas ao WebRTC.
RealtimeServerEventRateLimitsUpdated O evento do servidor rate_limits.updated é emitido no início de uma resposta para indicar os limites de taxa atualizados.
RealtimeServerEventResponseAudioDelta O evento do servidor response.audio.delta é devolvido quando o áudio gerado pelo modelo é atualizado.
RealtimeServerEventResponseAudioDone O evento do servidor response.audio.done é devolvido quando o áudio gerado pelo modelo termina.
RealtimeServerEventResponseAudioTranscriptDelta O evento do servidor response.audio_transcript.delta é devolvido quando a transcrição gerada pelo modelo da saída de áudio é atualizada.
RealtimeServerEventResponseAudioTranscriptDone O evento do servidor response.audio_transcript.done é devolvido quando a transcrição gerada pelo modelo da saída de áudio termina o streaming.
RealtimeServerEventResponseContentPartAdded O evento do servidor response.content_part.added é devolvido quando uma nova parte de conteúdo é adicionada a um item de mensagem assistente.
RealtimeServerEventResponseContentPartDone O evento do servidor response.content_part.done é devolvido quando uma parte do conteúdo termina de ser transmitida.
RealtimeServerEventResponseCreated O evento do servidor response.created é devolvido quando uma nova resposta é criada. Este é o primeiro evento de criação de resposta, onde a resposta está num estado inicial de in_progress.
RealtimeServerEventResponseDone O evento do servidor response.done é devolvido quando uma resposta termina de ser transmitida.
RealtimeServerEventResponseFunctionCallArgumentsDelta O evento servidor response.function_call_arguments.delta é devolvido quando os argumentos de chamada de função gerados pelo modelo são atualizados.
RealtimeServerEventResponseFunctionCallArgumentsDone O evento do servidor response.function_call_arguments.done é devolvido quando os argumentos das chamadas de função gerados pelo modelo terminam de ser transmitidos.
RealtimeServerEventResponseOutputItemAdded O evento do servidor response.output_item.added é devolvido quando um novo item é criado durante a geração da resposta.
RealtimeServerEventResponseOutputItemDone O evento do servidor response.output_item.done é devolvido quando um item termina de ser transmitido.
RealtimeServerEventResponseTextDelta O evento do servidor response.text.delta é devolvido quando o texto gerado pelo modelo é atualizado.
RealtimeServerEventResponseTextDone O evento do servidor response.text.done é devolvido quando o texto gerado pelo modelo termina de ser transmitido.
RealtimeServerEventSessionCreated O evento do servidor session.created é o primeiro evento do servidor quando estabeleces uma nova ligação à API de Tempo Real. Este evento cria e devolve uma nova sessão com a configuração padrão da sessão.
RealtimeServerEventSessionUpdated O evento do servidor session.updated é devolvido quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor envia um error evento em vez disso.

RealtimeServerEventConversationCreated

O evento do servidor conversation.created é devolvido logo após a criação da sessão. Cria-se uma conversa por sessão.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.created.
conversa objecto O recurso de conversa.

Conversation properties

Field Tipo Description
id cadeia (de caracteres) A identidade única da conversa.
objecto cadeia (de caracteres) O tipo de objeto deve ser realtime.conversation.

RealtimeServerEventConversationItemCreated

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

  • O servidor está a gerar uma resposta que, se bem-sucedida, produz um ou dois itens, que são do tipo message (papel assistant) ou do tipo function_call.
  • O buffer de áudio de entrada é comprometido, seja pelo cliente ou pelo servidor (em server_vad modo). O servidor pega no conteúdo do buffer de áudio de entrada e adiciona-o a um novo item de mensagem do utilizador.
  • O cliente enviou um conversation.item.create evento para adicionar um novo item à conversa.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.created.
previous_item_id cadeia (de caracteres) O ID do item anterior no contexto da conversa permite ao cliente compreender a ordem da conversa.
item RealtimeConversationResponseItem O item que foi criado.

RealtimeServerEventConversationItemRetrieved

O evento do servidor conversation.item.retrieved é devolvido quando um item de conversa é recuperado.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.retrieved.
event_id cadeia (de caracteres) A identificação do evento.
item RealtimeConversationResponseItem O item que foi recuperado.

RealtimeServerEventConversationItemDeleted

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

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.deleted.
item_id cadeia (de caracteres) O ID do item que foi apagado.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

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

A transcrição começa quando o buffer de áudio de entrada é comprometido pelo cliente ou servidor (em server_vad modo). A transcrição corre de forma assíncrona com a criação de respostas, pelo que este evento pode ocorrer antes ou depois dos eventos de resposta.

Os modelos de API em tempo real aceitam áudio nativamente, e assim a transcrição de entrada é um processo separado executado num modelo de reconhecimento de voz distinto, como whisper-1. Assim, a transcrição pode divergir um pouco da interpretação do modelo e deve ser tratada como um guia aproximado.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.input_audio_transcription.completed.
item_id cadeia (de caracteres) O ID do item da mensagem do utilizador 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.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

O evento do servidor conversation.item.input_audio_transcription.failed é devolvido quando a transcrição áudio de entrada é configurada e um pedido de transcrição para uma mensagem de utilizador falhou. Este evento é separado dos outros error eventos para que o cliente possa identificar o item relacionado.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.input_audio_transcription.failed.
item_id cadeia (de caracteres) O ID do item da mensagem do utilizador.
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.

Veja as propriedades aninhadas na tabela seguinte.

Error properties

Field 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 com o erro, se houver.

RealtimeServerEventConversationItemTruncated

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

Este evento trunca o áudio e remove a transcrição do texto do lado do servidor para garantir que não há texto no contexto que o utilizador desconheça.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser conversation.item.truncated.
item_id cadeia (de caracteres) O ID do item da mensagem do assistente que foi truncado.
content_index número inteiro O índice da parte de conteúdo que foi truncado.
audio_end_ms número inteiro A duração até à qual o áudio foi truncado, em milissegundos.

RealtimeServerEventError

O evento do servidor error é devolvido quando ocorre um erro, que pode ser um problema do cliente ou do servidor. A maioria dos erros é recuperável e a sessão mantém-se aberta.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser error.
erro objecto Detalhes do erro.

Veja as propriedades aninhadas na tabela seguinte.

Error properties

Field 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 com o erro, se houver.
event_id cadeia (de caracteres) O ID do evento cliente que causou o erro, se aplicável.

RealtimeServerEventInputAudioBufferCleared

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

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

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

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser input_audio_buffer.committed.
previous_item_id cadeia (de caracteres) O ID do item anterior, após o qual o novo item é inserido.
item_id cadeia (de caracteres) O ID do item de mensagem do utilizador criado.

RealtimeServerEventInputAudioBufferSpeechStarted

O evento do servidor input_audio_buffer.speech_started é devolvido em server_vad modo quando a fala é detetada no buffer de áudio. Este evento pode acontecer sempre que áudio é adicionado ao buffer (a menos que a fala já seja detetada).

Note

O cliente pode querer usar este evento para interromper a reprodução de áudio ou fornecer feedback visual ao utilizador.

O cliente deve esperar receber um input_audio_buffer.speech_stopped evento quando a fala cessar. A item_id propriedade é o ID do item de mensagem do utilizador criado quando a fala para. Também item_id é incluído no input_audio_buffer.speech_stopped evento, a menos que o cliente comprometa manualmente o buffer de áudio durante a ativação do VAD.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser input_audio_buffer.speech_started.
audio_start_ms número inteiro Milissegundos a partir do 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 assim inclui a prefix_padding_ms configuração na sessão.
item_id cadeia (de caracteres) O ID do item de mensagem do utilizador criado quando a fala para.

RealtimeServerEventInputAudioBufferSpeechStopped

O evento do servidor input_audio_buffer.speech_stopped é devolvido em 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 utilizador criado a partir do buffer de áudio.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) 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. Esta propriedade corresponde ao fim do áudio enviado para o modelo, e assim inclui o min_silence_duration_ms configurado na sessão.
item_id cadeia (de caracteres) O ID do item de mensagem do utilizador criado.

RealtimeServerEventOutputAudioBufferCleared

O evento do servidor output_audio_buffer.cleared é devolvido quando o buffer de áudio de saída é apagado.

Note

Este evento é aplicável apenas ao WebRTC.

Isto acontece em modo VAD quando o utilizador interrompeu (input_audio_buffer.speech_started), ou quando o cliente emitiu o output_audio_buffer.clear evento para cortar manualmente a resposta áudio atual.

Event structure

{
  "type": "output_audio_buffer.cleared"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser output_audio_buffer.cleared.
event_id cadeia (de caracteres) O ID do evento do servidor.
response_id cadeia (de caracteres) O ID único da resposta que produziu o áudio.

RealtimeServerEventOutputAudioBufferStarted

O evento do servidor output_audio_buffer.started é devolvido quando o servidor começa a transmitir áudio para o cliente. Este evento é emitido depois de uma parte de conteúdo áudio ter sido adicionada (response.content_part.added) à resposta.

Note

Este evento é aplicável apenas ao WebRTC.

Event structure

{
  "type": "output_audio_buffer.started",
  "event_id": "<item_id>",
  "response_id": "<response_id>"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser output_audio_buffer.started.
event_id cadeia (de caracteres) O ID do evento do servidor.
response_id cadeia (de caracteres) O ID único da resposta que produziu o áudio.

RealtimeServerEventOutputAudioBufferStopped

O evento do servidor output_audio_buffer.stopped é devolvido quando o buffer de áudio de saída está completamente esvaziado no servidor, e não há mais áudio.

Note

Este evento é aplicável apenas ao WebRTC.

Este evento é devolvido depois de os dados completos de resposta terem sido enviados ao cliente através do response.done evento.

Event structure

{
  "type": "output_audio_buffer.stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser output_audio_buffer.stopped.
event_id cadeia (de caracteres) O ID do evento do servidor.
response_id cadeia (de caracteres) O ID único da resposta que produziu o áudio.

RealtimeServerEventRateLimitsUpdated

O evento do servidor 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 taxa aqui apresentados refletem essa reserva, que é então ajustada em conformidade assim que a resposta é concluída.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser rate_limits.updated.
rate_limits array de RealtimeServerEventRateLimitsUpdatedRateLimitsItem A lista de informações sobre limites de taxas.

RealtimeServerEventResponseAudioDelta

O evento do servidor response.audio.delta é devolvido quando o áudio gerado pelo modelo é atualizado.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.audio.delta.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
delta cadeia (de caracteres) Delta de dados de áudio codificados em base64.

RealtimeServerEventResponseAudioDone

O evento do servidor response.audio.done é devolvido quando o áudio gerado pelo modelo termina.

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.audio.done.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.

RealtimeServerEventResponseAudioTranscriptDelta

O evento do servidor response.audio_transcript.delta é devolvido quando a transcrição gerada pelo modelo da saída de áudio é atualizada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.audio_transcript.delta.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
delta cadeia (de caracteres) A transcrição delta.

RealtimeServerEventResponseAudioTranscriptDone

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

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.audio_transcript.done.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
transcrição cadeia (de caracteres) A transcrição final do áudio.

RealtimeServerEventResponseContentPartAdded

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

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.content_part.added.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) O ID do item ao qual a parte de 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 no array de conteúdo do item.
part RealtimeContentPart A parte do conteúdo que foi adicionada.

Part properties

Field Tipo Description
tipo RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

O evento do servidor response.content_part.done é devolvido quando uma parte do conteúdo termina de ser transmitida num item de mensagem de assistente.

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.content_part.done.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
part RealtimeContentPart A parte do conteúdo que está feita.

Part properties

Field Tipo Description
tipo RealtimeContentPartType

RealtimeServerEventResponseCreated

O evento do servidor response.created é devolvido quando uma nova resposta é criada. Este é o primeiro evento de criação de resposta, onde a resposta está num estado inicial de in_progress.

Event structure

{
  "type": "response.created"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.created.
response RealtimeResponse O objeto de resposta.

RealtimeServerEventResponseDone

O evento do servidor response.done é devolvido quando uma resposta termina de ser transmitida. Este evento é sempre emitido, independentemente do estado final. O objeto de resposta incluído no response.done evento inclui todos os itens de saída da resposta, mas omite os dados de áudio brutos.

Event structure

{
  "type": "response.done"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.done.
response RealtimeResponse O objeto de resposta.

RealtimeServerEventResponseFunctionCallArgumentsDelta

O evento servidor response.function_call_arguments.delta é devolvido quando os argumentos de chamada de função gerados pelo modelo são atualizados.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.function_call_arguments.delta.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) O ID do item da 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 são uma sequência JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

O evento do servidor response.function_call_arguments.done é devolvido quando os argumentos das chamadas de função gerados pelo modelo terminam de ser transmitidos.

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.function_call_arguments.done.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) O ID do item da 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 sequência JSON.

RealtimeServerEventResponseOutputItemAdded

O evento do servidor response.output_item.added é devolvido quando um novo item é criado durante a geração da resposta.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.output_item.added.
response_id cadeia (de caracteres) O ID da resposta a que 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 do servidor response.output_item.done é devolvido quando um item termina de ser transmitido.

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.output_item.done.
response_id cadeia (de caracteres) O ID da resposta a que o item pertence.
output_index número inteiro O índice do item de saída na resposta.
item RealtimeConversationResponseItem O item que já está feito em streaming.

RealtimeServerEventResponseTextDelta

O evento do servidor response.text.delta é devolvido quando o texto gerado pelo modelo é atualizado. O texto corresponde à text parte de conteúdo de um item de mensagem assistente.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.text.delta.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
delta cadeia (de caracteres) O texto é um delta.

RealtimeServerEventResponseTextDone

O evento do servidor response.text.done é devolvido quando o texto gerado pelo modelo termina de ser transmitido. O texto corresponde à text parte de conteúdo de um item de mensagem assistente.

Este evento também é devolvido quando uma resposta é interrompida, incompleta ou cancelada.

Event structure

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

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser response.text.done.
response_id cadeia (de caracteres) A identificação da resposta.
item_id cadeia (de caracteres) A identificação 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 no array de conteúdo do item.
enviar SMS cadeia (de caracteres) O conteúdo final do texto.

RealtimeServerEventSessionCreated

O evento do servidor session.created é o primeiro evento do servidor quando estabeleces uma nova ligação à API de Tempo Real. Este evento cria e devolve uma nova sessão com a configuração padrão da sessão.

Event structure

{
  "type": "session.created"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser session.created.
session RealtimeResponseSession O objeto da sessão.

RealtimeServerEventSessionUpdated

O evento do servidor session.updated é devolvido quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor envia um error evento em vez disso.

Event structure

{
  "type": "session.updated"
}

Properties

Field Tipo Description
tipo cadeia (de caracteres) O tipo de evento deve ser session.updated.
session RealtimeResponseSession O objeto da sessão.

Components

RealtimeAudioFormat

Allowed Values:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Allowed Values:

  • whisper-1
  • gpt-4o-transcribe
  • gpt-4o-mini-transcribe
  • gpt-4o-transcribe-diarize
  • gpt-4o-mini-transcribe-2025-12-15

RealtimeAudioInputTranscriptionSettings

Field Tipo Description
linguagem cadeia (de caracteres) A linguagem do áudio de entrada. Fornecer a linguagem de entrada no formato ISO-639-1 (como en) melhorará a precisão e a latência.
modelo RealtimeAudioInputTranscriptionModel O modelo para transcrição de entrada áudio. Por exemplo, whisper-1.
avisar cadeia (de caracteres) O prompt para a transcrição de áudio. Texto opcional para guiar o estilo do modelo ou continuar um segmento de áudio anterior. Para o whisper-1 modelo, o prompt é uma lista de palavras-chave. Para os modelos gpt-4o-transcribe e modelos gpt-4o-transcribe-diarizeda série -, o prompt é uma cadeia de texto livre como "expect words related to technology."

RealtimeAudioInputAudioNoiseReductionSettings

Field Tipo Description
tipo cadeia (de caracteres) Tipo de redução de ruído. Especifique near_field microfones de conversa próxima, como auscultadores, ou far_field microfones de campo distante, como microfones de portáteis ou salas de conferência.

RealtimeClientEvent

Field Tipo Description
tipo RealtimeClientEventType O tipo de evento com o cliente.
event_id cadeia (de caracteres) A identificação única do evento. O cliente pode especificar o ID para ajudar a identificar o evento.

RealtimeClientEventType

Allowed Values:

  • 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

Field Tipo Description
tipo RealtimeContentPartType O tipo de conteúdo.

Uma propriedade do function objeto.

Valores permitidos: input_text, input_audio, item_reference, text.
enviar SMS cadeia (de caracteres) O conteúdo do texto. Esta propriedade aplica-se aos input_text tipos de conteúdo e text .
id cadeia (de caracteres) ID de um item de conversa anterior para referência tanto em itens criados pelo cliente como pelo servidor. Esta propriedade é aplicável ao tipo de item_reference conteúdo nos response.create eventos.
audio cadeia (de caracteres) Os bytes de áudio codificados em base64. Esta propriedade é aplicável ao tipo de input_audio conteúdo.
transcrição cadeia (de caracteres) A transcrição do áudio. Esta propriedade é aplicável ao tipo de input_audio conteúdo.

RealtimeContentPartType

Allowed Values:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

O item a acrescentar à conversa.

Esta tabela descreve todas as RealtimeConversationItem propriedades. As propriedades aplicáveis a cada evento dependem do RealtimeItemType.

Field Tipo Description
id cadeia (de caracteres) O ID único do item. O cliente pode especificar o ID para ajudar a gerir o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gera um.
tipo RealtimeItemType O tipo do artigo.

Valores permitidos: message, function_call, function_call_output
objecto cadeia (de caracteres) O identificador do objeto API que está a ser devolvido. O valor será sempre realtime.item.
estado RealtimeItemStatus O estado do item. Este campo não afeta a conversa, mas é aceite pela consistência com o conversation.item.created evento.

Valores permitidos: completed, incomplete
função RealtimeMessageRole O papel do remetente da mensagem. Esta propriedade é aplicável apenas a message artigos.

Valores permitidos: system, user, assistant
conteúdo array do RealtimeContentPart O conteúdo da mensagem. Esta propriedade é aplicável apenas a message artigos.

- Itens de mensagem apenas system de conteúdo de suporte a papéisinput_text.
- Mensagens de apoio user e input_text conteúdo de funçõesinput_audio.
- Itens de mensagem do conteúdo de apoio assistant a papéistext.
call_id cadeia (de caracteres) O ID da chamada de função (para function_call e function_call_output itens). Se for transmitido um function_call_output item, o empregado verifica se existe um function_call item com o mesmo ID no histórico da conversa.
name cadeia (de caracteres) O nome da função que está a ser chamada (para function_call os itens).
arguments cadeia (de caracteres) Os argumentos da função chamam (para function_call itens).
output cadeia (de caracteres) A saída da função chama (para function_call_output os itens).

RealtimeConversationRequestItem

Usas o RealtimeConversationRequestItem objeto para criar um novo item na conversa através do evento conversation.item.create .

Field Tipo Description
tipo RealtimeItemType O tipo do artigo.
id cadeia (de caracteres) O ID único do item. O cliente pode especificar o ID para ajudar a gerir o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gera um.

RealtimeConversationResponseItem

O RealtimeConversationResponseItem objeto representa um item na conversa. É usado em alguns dos eventos do servidor, tais como:

Field Tipo Description
objecto cadeia (de caracteres) O identificador para o objeto API devolvido.

Valores permitidos: realtime.item
tipo RealtimeItemType O tipo do artigo.

Valores permitidos: message, function_call, function_call_output
id cadeia (de caracteres) O ID único do item. O cliente pode especificar o ID para ajudar a gerir o contexto do lado do servidor. Se o cliente não fornecer um ID, o servidor gera um.

Esta propriedade é anulável.

RealtimeFunctionTool

A definição de uma ferramenta de função utilizada pelo endpoint em tempo real.

Field Tipo Description
tipo cadeia (de caracteres) O tipo da ferramenta.

Valores permitidos: function
name cadeia (de caracteres) O nome da função.
description cadeia (de caracteres) A descrição da função, incluindo as diretrizes de uso. Por exemplo, "Use esta função para obter o tempo atual."
parameters objecto Os parâmetros da função na forma de um objeto JSON.

RealtimeItemStatus

Allowed Values:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Allowed Values:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Allowed Values:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Field Tipo Description
função cadeia (de caracteres) O papel da mensagem.

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

RealtimeRequestAudioContentPart

Field Tipo Description
tipo cadeia (de caracteres) A parte do tipo de conteúdo.

Valores permitidos: input_audio
transcrição cadeia (de caracteres) A transcrição do áudio.

RealtimeRequestFunctionCallItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

Valores permitidos: function_call
name cadeia (de caracteres) O nome da função chamada item.
call_id cadeia (de caracteres) O ID do item da chamada de função.
arguments cadeia (de caracteres) Os argumentos da função chamam item.
estado RealtimeItemStatus O estado do item.

RealtimeRequestFunctionCallOutputItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

Valores permitidos: function_call_output
call_id cadeia (de caracteres) O ID do item da chamada de função.
output cadeia (de caracteres) A saída da função chama item.

RealtimeRequestMessageItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

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

RealtimeRequestMessageReferenceItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

Valores permitidos: message
id cadeia (de caracteres) O ID do item da mensagem.

RealtimeRequestSession

Usas o RealtimeRequestSession objeto quando quiseres atualizar a configuração da sessão através do evento session.update .

Field Tipo Description
modalities matriz As modalidades que a sessão apoia.

Valores permitidos: text, audio

Por exemplo, "modalities": ["text", "audio"] é a definição padrão que permite tanto as modalidades de texto como de áudio. Para ativar apenas texto, defina "modalities": ["text"]. Não podes 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 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 do áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

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

Uma vez que a voz é usada na sessão para a resposta áudio do modelo, 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_noise_reduction RealtimeAudioInputAudioNoiseReductionSettings Configuração para redução de ruído de áudio de entrada. Isto pode ser definido como nulo para desligar. A redução de ruído filtra o áudio adicionado ao buffer de áudio de entrada antes de ser enviado para o VAD e para o modelo. Filtrar o áudio pode melhorar a precisão do VAD e da deteção de curvas (reduzindo falsos positivos) e o desempenho do modelo ao melhorar a perceção do áudio de entrada.

Esta propriedade é anulável.
input_audio_transcription RealtimeAudioInputTranscriptionSettings A configuração para transcrição áudio de entrada. A configuração é nula (desligada) por defeito. A transcrição de áudio de entrada não é nativa do modelo, pois o modelo consome áudio diretamente. A transcrição corre assíncrona pelo /audio/transcriptions endpoint e deve ser tratada como orientação do conteúdo áudio de entrada, em vez do que exatamente o modelo ouviu. Para orientação adicional ao serviço de transcrição, o cliente pode opcionalmente definir a língua e o prompt para transcrição.

Esta propriedade é anulável.
turn_detection RealtimeTurnDetection As definições de deteção de turno para a sessão.

Esta propriedade é anulável.
tools array do 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, pode especificar o nome da função a usar.
temperature number A temperatura de amostragem para o modelo. Os valores de temperatura permitidos limitam-se a 0.6 através 1.2de . Por defeito, é 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 ferramenta.

Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor para "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".

Por defeito, é "inf".

RealtimeRequestSystemMessageItem

Field Tipo Description
função cadeia (de caracteres) O papel da mensagem.

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

RealtimeRequestTextContentPart

Field Tipo Description
tipo cadeia (de caracteres) A parte do tipo de conteúdo.

Valores permitidos: input_text
enviar SMS cadeia (de caracteres) O conteúdo do texto.

RealtimeRequestUserMessageItem

Field Tipo Description
função cadeia (de caracteres) O papel da mensagem.

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

RealtimeResponse

Field Tipo Description
objecto cadeia (de caracteres) O objeto de resposta.

Valores permitidos: realtime.response
id cadeia (de caracteres) O ID único da resposta.
estado RealtimeResponseStatus O estado da resposta.

O valor de estado predefinido é in_progress.
status_details RealtimeResponseStatusDetails Os detalhes do estado da resposta.

Esta propriedade é anulável.
output array de ItemRespostaConversaRealTimeResposta Os itens de saída da resposta.
utilização objecto Estatísticas de utilização para a resposta. Cada sessão da API em tempo real mantém um contexto de conversa e acrescenta novos itens à conversa. A saída dos turnos anteriores (tokens de texto e áudio) é introduzida para os turnos seguintes.

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

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

Uma propriedade do usage objeto.
+ 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 usage objeto.
+ input_token_details objecto Detalhes sobre os tokens de entrada usados na resposta.

Uma propriedade do usage objeto.

Veja as propriedades aninhadas a seguir.
+ cached_tokens número inteiro O número de tokens em cache usados na resposta.

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

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

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

Uma propriedade do usage objeto.

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

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

Uma propriedade do output_token_details objeto.

RealtimeResponseAudioContentPart

Field Tipo Description
tipo cadeia (de caracteres) A parte do tipo de conteúdo.

Valores permitidos: audio
transcrição cadeia (de caracteres) A transcrição do áudio.

Esta propriedade é anulável.

RealtimeResponseBase

O recurso de resposta.

RealtimeResponseFunctionCallItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

Valores permitidos: function_call
name cadeia (de caracteres) O nome da função chamada item.
call_id cadeia (de caracteres) O ID do item da chamada de função.
arguments cadeia (de caracteres) Os argumentos da função chamam item.
estado RealtimeItemStatus O estado do item.

RealtimeResponseFunctionCallOutputItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

Valores permitidos: function_call_output
call_id cadeia (de caracteres) O ID do item da chamada de função.
output cadeia (de caracteres) A saída da função chama item.

RealtimeResponseMessageItem

Field Tipo Description
tipo cadeia (de caracteres) O tipo do artigo.

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

Itens do array: RealtimeResponseTextContentPart
estado RealtimeItemStatus O estado do item.

RealtimeResponseOptions

Field Tipo Description
modalities matriz As modalidades que a sessão apoia.

Valores permitidos: text, audio

Por exemplo, "modalities": ["text", "audio"] é a definição padrão que permite tanto as modalidades de texto como de áudio. Para ativar apenas texto, defina "modalities": ["text"]. Não podes 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 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 do áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

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

Uma vez que a voz é usada na sessão para a resposta áudio do modelo, não pode ser alterada.
output_audio_format RealtimeAudioFormat O formato do áudio de saída.
tools array do RealtimeTool As ferramentas disponíveis para o modelo para a sessão.
tool_choice RealtimeToolChoice A escolha da ferramenta para a sessão.
temperature number A temperatura de amostragem para o modelo. Os valores de temperatura permitidos limitam-se a 0.6 através 1.2de . Por defeito, é 0.8.
max__output_tokens inteiro ou "inf" O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramenta.

Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor para "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".

Por defeito, é "inf".
conversa cadeia (de caracteres) Controla a que conversa a resposta é adicionada. Os valores suportados são auto e none.

O auto valor (ou não definir esta propriedade) garante que o conteúdo da resposta é adicionado à conversa padrão da sessão.

Defina esta propriedade para none criar uma resposta fora de banda onde os itens não serão adicionados à conversa padrão. Para mais informações, consulte o guia prático.

Valores padrão para "auto"
metadados mapa Conjunto de até 16 pares-chave-valor que podem ser anexados a um objeto. Isto pode ser útil para armazenar informação adicional sobre o objeto num formato estruturado. As chaves podem ter um máximo de 64 caracteres e os valores podem ter no máximo 512 caracteres.

Por exemplo: metadata: { topic: "classification" }
dados introduzidos matriz Itens de entrada a incluir no prompt para o modelo. Cria um novo contexto para esta resposta, sem incluir a conversa padrão. Pode incluir referências a itens da conversa padrão.

Itens do array: RealtimeConversationItemBase

RealtimeResponseSession

O RealtimeResponseSession objeto representa uma sessão na API de Tempo Real. É usado em alguns dos eventos do servidor, tais como:

Field Tipo Description
objecto cadeia (de caracteres) O objeto da sessão.

Valores permitidos: realtime.session
id cadeia (de caracteres) O ID único da sessão.
modelo cadeia (de caracteres) O modelo usado para a sessão.
modalities matriz As modalidades que a sessão apoia.

Valores permitidos: text, audio

Por exemplo, "modalities": ["text", "audio"] é a definição padrão que permite tanto as modalidades de texto como de áudio. Para ativar apenas texto, defina "modalities": ["text"]. Não podes 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 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 do áudio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

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

Uma vez que a voz é usada na sessão para a resposta áudio do modelo, 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 definições para transcrição de entrada de áudio.

Esta propriedade é anulável.
turn_detection RealtimeTurnDetection As definições de deteção de turno para a sessão.

Esta propriedade é anulável.
tools array do RealtimeTool As ferramentas disponíveis para o modelo para a sessão.
tool_choice RealtimeToolChoice A escolha da ferramenta para a sessão.
temperature number A temperatura de amostragem para o modelo. Os valores de temperatura permitidos limitam-se a 0.6 através 1.2de . Por defeito, é 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 ferramenta.

Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor para "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

Allowed Values:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Field Tipo Description
tipo RealtimeResponseStatus O estado da resposta.

RealtimeResponseTextContentPart

Field Tipo Description
tipo cadeia (de caracteres) A parte do tipo de conteúdo.

Valores permitidos: text
enviar SMS cadeia (de caracteres) O conteúdo do texto.

RealtimeServerEvent

Field Tipo Description
tipo RealtimeServerEventType O tipo de evento do servidor.
event_id cadeia (de caracteres) O ID único do evento do servidor.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Field Tipo Description
name cadeia (de caracteres) O nome da propriedade com limite de taxa sobre o qual este item inclui informação.
limit número inteiro O limite máximo configurado para esta propriedade de limite de taxa.
remaining número inteiro A quota restante disponível contra o limite configurado para esta propriedade de limite de taxa.
reset_seconds number O tempo restante, em segundos, até que esta propriedade de limite de taxa seja reiniciada.

RealtimeServerEventType

Allowed Values:

  • 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

Field Tipo Description
tipo cadeia (de caracteres) O tipo de deteção de viragem.

Valores permitidos: server_vad
limiar number O limiar de ativação para a deteção de turno VAD do servidor. Em ambientes ruidosos, pode ser necessário aumentar o limiar para evitar falsos positivos. Em ambientes calmos, pode ser necessário baixar o limiar para evitar falsos negativos.

Por defeito, é 0.5. Pode definir o limiar para um valor entre 0.0 e 1.0.
prefix_padding_ms cadeia (de caracteres) A duração do áudio da fala (em milissegundos) inclui antes do início da fala detetada.

Por defeito, é 300.
silence_duration_ms cadeia (de caracteres) A duração do silêncio (em milissegundos) para detetar o fim da fala. Queres detetar o fim da fala o mais cedo possível, mas não demasiado cedo para evitar cortar a última parte do discurso.

O modelo responderá mais rapidamente se definir este valor para um número mais baixo, mas pode cortar a última parte do discurso. Se definir este valor para um número superior, o modelo vai esperar mais tempo para detetar o fim da fala, mas pode demorar mais a responder.

RealtimeSessionBase

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

RealtimeTool

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

Field Tipo Description
tipo RealtimeToolType O tipo da ferramenta.

RealtimeToolChoice

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

RealtimeToolChoiceFunctionObject

A representação de uma ferramenta em tempo tool_choice real que seleciona uma função nomeada.

Field Tipo Description
tipo cadeia (de caracteres) O tipo do tool_choice.

Valores permitidos: function
função objecto A ferramenta de função a selecionar.

Veja as propriedades aninhadas a seguir.
+ name cadeia (de caracteres) O nome da ferramenta funcional.

Uma propriedade do function objeto.

RealtimeToolChoiceLiteral

O conjunto disponível de opções literais tool_choice ao nível do modo, string para o endpoint em tempo real.

Allowed Values:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Uma representação base para uma seleção em tempo tool_choice real de uma ferramenta nomeada.

Field Tipo Description
tipo RealtimeToolType O tipo do tool_choice.

RealtimeToolType

Os discriminadores de tipo de ferramenta suportados para ferramentas em tempo real. Atualmente, apenas ferramentas de 'funcional' são suportadas.

Allowed Values:

  • function

RealtimeTurnDetection

Field Tipo Description
tipo RealtimeTurnDetectionType O tipo de deteção de viragem.

Valores permitidos: semantic_vad ou server_vad
limiar number O limiar de ativação para a deteção de turno VAD do servidor (server_vad). Em ambientes ruidosos, pode ser necessário aumentar o limiar para evitar falsos positivos. Em ambientes calmos, pode ser necessário baixar o limiar para evitar falsos negativos.

Por defeito, é 0.5. Pode definir o limiar para um valor entre 0.0 e 1.0.

Esta propriedade é aplicável apenas à server_vad deteção de curvas.
prefix_padding_ms cadeia (de caracteres) A duração do áudio da fala (em milissegundos) inclui antes do início da fala detetada.

Por defeito é 300 milissegundos.

Esta propriedade é aplicável apenas à server_vad deteção de curvas.
silence_duration_ms cadeia (de caracteres) A duração do silêncio (em milissegundos) para detetar o fim da fala. Queres detetar o fim da fala o mais cedo possível, mas não demasiado cedo para evitar cortar a última parte do discurso.

O modelo responderá mais rapidamente se definir este valor para um número mais baixo, mas pode cortar a última parte do discurso. Se definir este valor para um número superior, o modelo vai esperar mais tempo para detetar o fim da fala, mas pode demorar mais a responder.

Por defeito é 200 milissegundos.

Esta propriedade é aplicável apenas à server_vad deteção de curvas.
create_response boolean Indica se o servidor irá criar automaticamente uma resposta quando o VAD estiver ativado e a fala parar.

Por defeito, é true.
interrupt_response boolean Indica se o servidor irá interromper automaticamente qualquer resposta em curso com saída para a conversa por defeito (auto) quando ocorre um evento de início do VAD.

Por defeito, é true.
eagerness cadeia (de caracteres) A vontade do modelo de responder e interromper o utilizador. Especifique low esperar mais tempo para que o utilizador continue a falar. Especifique high que o áudio seja dividido o mais rapidamente possível para respostas mais rápidas. O valor padrão é auto equivalente a médio.

Esta propriedade é aplicável apenas à semantic_vad deteção de curvas.

RealtimeTurnDetectionType

Allowed Values:

  • semantic_vad - O VAD semântico deteta quando o utilizador terminou de falar com base nas palavras que pronunciou. O áudio de entrada é pontuado com base na probabilidade de o utilizador ter terminado de falar. Quando a probabilidade é baixa, o modelo espera por um timeout. Quando a probabilidade é alta, não há necessidade de esperar.
  • server_vad - O servidor avalia o áudio do utilizador proveniente do cliente. O servidor usa automaticamente esse áudio para iniciar a geração de respostas em conversas aplicáveis quando é detetado o fim da fala.

RealtimeVoice

Allowed Values:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse