Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Eventos em tempo real são usados para se comunicar entre o cliente e o servidor em aplicativos de áudio em tempo real. Os eventos são enviados como objetos JSON em vários pontos de extremidade, como WebSockets ou WebRTC. Os eventos são usados para gerenciar a conversa, os buffers de áudio e as respostas em tempo real.
Você pode usar eventos de servidor e cliente de áudio com estas APIs:
A menos que especificado de outra forma, os eventos descritos neste documento são aplicáveis a ambas as APIs.
Client events
Há nove eventos de cliente que podem ser enviados do cliente para o servidor:
| Event | Description |
|---|---|
| RealtimeClientEventConversationItemCreate | O evento cliente conversation.item.create é usado para adicionar um novo item ao contexto da conversa, incluindo mensagens, chamadas de função e respostas de chamada 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 acrescentar 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 usuário. |
| RealtimeClientEventOutputAudioBufferClear | O evento cliente output_audio_buffer.clear é usado para limpar os bytes de áudio no buffer de saída.Esse evento só é aplicável 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 por meio 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 item ao contexto da conversa, incluindo mensagens, chamadas de função e respostas de chamada de função. Esse evento pode ser usado para preencher um histórico da conversa e adicionar novos itens no meio do fluxo. Atualmente, esse evento não pode preencher mensagens de áudio do assistente.
Se tiver êxito, o servidor responderá com um conversation.item.created evento, caso contrário, um error evento será enviado.
Event structure
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.create. |
| previous_item_id | cadeia | A ID do item anterior após o qual o novo item é inserido. Se não estiver definido, o novo item será acrescentado ao final da conversa. Se definido, ele permite que um item seja inserido no meio da conversa. Se a ID não puder ser encontrada, um erro será retornado e o item não será adicionado. |
| item | RealtimeConversationRequestItem | O item a ser adicionado à 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 de conversas, nesse caso, o servidor responde com um erro.
Event structure
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.delete. |
| item_id | cadeia | A ID do item a ser excluído. |
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. Esse evento é útil, por exemplo, para inspecionar o áudio do usuário após o cancelamento de ruído e o VAD.
Se o evento do cliente for bem-sucedido, o servidor responderá com um conversation.item.retrieved evento. Se o item não existir 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 | O tipo de evento deve ser conversation.item.retrieve. |
| item_id | cadeia | A ID do item a ser recuperado. |
| event_id | cadeia | A ID 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, portanto, esse evento é útil quando o usuário interrompe para truncar o áudio que foi enviado ao cliente, mas ainda não reproduzido. A compreensão do servidor sobre o áudio com a reprodução do cliente é sincronizada.
O truncamento de áudio exclui a transcrição de texto do lado do servidor para garantir que não haja texto no contexto que o usuário não saiba.
Se o evento do cliente for bem-sucedido, o servidor responderá 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 | O tipo de evento deve ser conversation.item.truncate. |
| item_id | cadeia | A ID do item de mensagem do assistente a ser truncado. Somente itens de mensagem do assistente podem ser truncados. |
| content_index | inteiro | O índice da parte de conteúdo a ser truncada. Defina essa propriedade como "0". |
| audio_end_ms | inteiro | Duração inclusiva até a qual o áudio é truncado, em milissegundos. Se o audio_end_ms for maior que a duração real do áudio, o servidor responderá com um erro. |
RealtimeClientEventInputAudioBufferAppend
O evento cliente input_audio_buffer.append é usado para acrescentar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário para o qual você pode gravar e confirmar posteriormente.
No modo VAD do servidor (Detecção de Atividade de Voz), o buffer de áudio é usado para detectar fala e o servidor decide quando fazer commit. 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 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 | O tipo de evento deve ser input_audio_buffer.append. |
| audio | cadeia | Bytes de áudio codificados em Base64. Esse valor deve estar no formato especificado pelo input_audio_format campo na configuração da sessão. |
RealtimeClientEventInputAudioBufferClear
O evento 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 | O tipo de evento deve ser input_audio_buffer.clear. |
RealtimeClientEventInputAudioBufferCommit
O evento do cliente input_audio_buffer.commit é usado para confirmar o buffer de áudio de entrada do usuário, que cria um novo item de mensagem de usuário na conversa. O áudio será transcrito se input_audio_transcription estiver configurado para a sessão.
Quando no modo VAD do servidor, o cliente não precisa enviar esse evento, o servidor confirma o buffer de áudio automaticamente. Sem o VAD do servidor, o cliente deve confirmar o buffer de áudio para criar um item de mensagem do usuário. Esse evento cliente produzirá um erro se o buffer de á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 input_audio_buffer.committed evento.
Event structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | 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
Esse evento só é aplicável ao WebRTC.
Esse evento deve ser precedido por um response.cancel evento cliente para interromper a geração da resposta atual.
O servidor para 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 | A ID do evento que causou o erro. |
| tipo | cadeia | 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 responderá 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 | O tipo de evento deve ser response.cancel. |
RealtimeClientEventResponseCreate
O evento cliente response.create é 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 uma iteme pode ter duas, nesse caso, a segunda é uma chamada de função. Esses itens são acrescentados ao histórico de conversas.
O servidor responde com um evento, um response.created ou mais eventos de conteúdo e um item (como conversation.item.created e response.content_part.added), e, por fim, um response.done evento para indicar que a resposta está concluída.
Note
O evento do cliente response.create inclui configuração de inferência como instructions, e temperature. Esses campos podem substituir a configuração da sessão somente para essa resposta.
Event structure
{
"type": "response.create"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | 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 esse evento a qualquer momento para atualizar a configuração da sessão e qualquer campo pode ser atualizado a qualquer momento, exceto por 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 session.updated evento que contém a configuração efetiva completa.
Event structure
{
"type": "session.update"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser session.update. |
| sessão | RealtimeRequestSession | A configuração da sessão. |
Server events
Há 28 eventos de servidor que podem ser recebidos do servidor:
| Event | Description |
|---|---|
| RealtimeServerEventConversationCreated | O evento do servidor conversation.created é retornado logo após a criação da sessão. Uma conversa é criada por sessão. |
| RealtimeServerEventConversationItemCreated | O evento do servidor conversation.item.created é retornado quando um item de conversa é criado. |
| RealtimeServerEventConversationItemRetrieved | O evento do servidor conversation.item.retrieved é retornado quando um item de conversa é recuperado. |
| RealtimeServerEventConversationItemDeleted | O evento do servidor conversation.item.deleted é retornado quando o cliente exclui 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 da fala gravada no buffer de áudio. |
| RealtimeServerEventConversationItemInputAudioTranscriptionFailed | O evento do servidor conversation.item.input_audio_transcription.failed é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário falhou. |
| RealtimeServerEventConversationItemTruncated | O evento do servidor conversation.item.truncated é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um conversation.item.truncate evento. |
| RealtimeServerEventError | O evento do servidor error é retornado quando ocorre um erro, o que pode ser um problema de cliente ou de servidor. |
| RealtimeServerEventInputAudioBufferCleared | O evento do servidor input_audio_buffer.cleared é retornado quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear evento. |
| RealtimeServerEventInputAudioBufferCommitted | O evento do servidor input_audio_buffer.committed é retornado quando um buffer de áudio de entrada é confirmado pelo cliente ou automaticamente no modo VAD do servidor. |
| RealtimeServerEventInputAudioBufferSpeechStarted | O evento do servidor input_audio_buffer.speech_started é retornado no server_vad modo quando a fala é detectada no buffer de áudio. |
| RealtimeServerEventInputAudioBufferSpeechStopped | O evento do servidor input_audio_buffer.speech_stopped é retornado no server_vad modo quando o servidor detecta o fim da fala no buffer de áudio. |
| RealtimeServerEventOutputAudioBufferCleared | O evento do servidor output_audio_buffer.cleared é retornado quando o usuário é interrompido (input_audio_buffer.speech_started) ou quando o cliente emiti o output_audio_buffer.clear evento para cortar manualmente a resposta de áudio atual.Esse evento só é aplicável ao WebRTC. |
| RealtimeServerEventOutputAudioBufferStarted | O evento do servidor output_audio_buffer.started é retornado quando o servidor começa a transmitir áudio para o cliente. Esse evento é emitido depois que uma parte de conteúdo de áudio é adicionada (response.content_part.added) à resposta.Esse evento só é aplicável ao WebRTC. |
| RealtimeServerEventOutputAudioBufferStopped | O evento do servidor output_audio_buffer.stopped é retornado quando o buffer de áudio de saída é completamente drenado no servidor e não há mais áudio por vir.Esse evento só é aplicável 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 é retornado quando o áudio gerado pelo modelo é atualizado. |
| RealtimeServerEventResponseAudioDone | O evento do servidor response.audio.done é retornado quando o áudio gerado pelo modelo é feito. |
| RealtimeServerEventResponseAudioTranscriptDelta | O evento do servidor response.audio_transcript.delta é retornado quando a transcrição gerada pelo modelo da saída de áudio é atualizada. |
| RealtimeServerEventResponseAudioTranscriptDone | O evento do servidor response.audio_transcript.done é retornado quando a transcrição gerada pelo modelo da saída de áudio é feita em streaming. |
| RealtimeServerEventResponseContentPartAdded | O evento do servidor response.content_part.added é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem do assistente. |
| RealtimeServerEventResponseContentPartDone | O evento do servidor response.content_part.done é retornado quando uma parte do conteúdo é feita em streaming. |
| RealtimeServerEventResponseCreated | O evento do servidor response.created é retornado quando uma nova resposta é criada. Este é o primeiro evento de criação de resposta, em que a resposta está em um estado inicial de in_progress. |
| RealtimeServerEventResponseDone | O evento do servidor response.done é retornado quando uma resposta é feita em streaming. |
| RealtimeServerEventResponseFunctionCallArgumentsDelta | O evento do servidor response.function_call_arguments.delta é retornado quando os argumentos de chamada de função gerados pelo modelo são atualizados. |
| RealtimeServerEventResponseFunctionCallArgumentsDone | O evento do servidor response.function_call_arguments.done é retornado quando os argumentos de chamada de função gerados pelo modelo são feitos em streaming. |
| RealtimeServerEventResponseOutputItemAdded | O evento do servidor response.output_item.added é retornado quando um novo item é criado durante a geração de resposta. |
| RealtimeServerEventResponseOutputItemDone | O evento do servidor response.output_item.done é retornado quando um item é feito em streaming. |
| RealtimeServerEventResponseTextDelta | O evento do servidor response.text.delta é retornado quando o texto gerado pelo modelo é atualizado. |
| RealtimeServerEventResponseTextDone | O evento do servidor response.text.done é retornado quando o texto gerado pelo modelo é feito em streaming. |
| RealtimeServerEventSessionCreated | O evento do servidor session.created é o primeiro evento de servidor quando você estabelece uma nova conexão com a API realtime. Esse evento cria e retorna uma nova sessão com a configuração de sessão padrão. |
| RealtimeServerEventSessionUpdated | O evento do servidor session.updated é retornado quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor enviará um error evento. |
RealtimeServerEventConversationCreated
O evento do servidor conversation.created é retornado logo após a criação da sessão. Uma conversa é criada por sessão.
Event structure
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.created. |
| conversa | objeto | O recurso de conversa. |
Conversation properties
| Field | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva da conversa. |
| objeto | cadeia | O tipo de objeto deve ser realtime.conversation. |
RealtimeServerEventConversationItemCreated
O evento do servidor conversation.item.created é retornado quando um item de conversa é criado. Há vários cenários que produzem este evento:
- O servidor está gerando uma resposta, que se bem-sucedida produz um ou dois itens, que é do tipo
message(funçãoassistant) ou tipofunction_call. - O buffer de áudio de entrada é confirmado pelo cliente ou pelo servidor (no
server_vadmodo). O servidor usa 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
conversation.item.createevento para adicionar um novo item à conversa.
Event structure
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.created. |
| previous_item_id | cadeia | A ID do item anterior no contexto de conversa permite que o cliente entenda a ordem da conversa. |
| item | RealtimeConversationResponseItem | O item que foi criado. |
RealtimeServerEventConversationItemRetrieved
O evento do servidor conversation.item.retrieved é retornado quando um item de conversa é recuperado.
Event structure
{
"type": "conversation.item.retrieved",
"previous_item_id": "<previous_item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.retrieved. |
| event_id | cadeia | A ID do evento. |
| item | RealtimeConversationResponseItem | O item que foi recuperado. |
RealtimeServerEventConversationItemDeleted
O evento do servidor conversation.item.deleted é retornado quando o cliente exclui um item na conversa com um conversation.item.delete evento. Esse evento é usado para sincronizar a compreensão do servidor sobre o histórico de conversas com a exibição do cliente.
Event structure
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.deleted. |
| item_id | cadeia | A ID do item que foi excluído. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
O evento do servidor conversation.item.input_audio_transcription.completed é 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 server_vad modo). A transcrição é executada de forma assíncrona com a criação da resposta, portanto, esse evento pode vir antes ou depois dos eventos de resposta.
Os modelos de API em tempo real aceitam áudio nativamente e, portanto, a transcrição de entrada é um processo separado executado em um modelo de reconhecimento de fala separado, como whisper-1. Portanto, 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 | O tipo de evento deve ser conversation.item.input_audio_transcription.completed. |
| item_id | cadeia | A ID do item de mensagem do usuário que contém o áudio. |
| content_index | inteiro | O índice da parte de conteúdo que contém o áudio. |
| transcrição | cadeia | O texto transcrito. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
O evento do servidor conversation.item.input_audio_transcription.failed é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário falhou. Esse evento é separado de 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 | O tipo de evento deve ser conversation.item.input_audio_transcription.failed. |
| item_id | cadeia | A ID do item de mensagem do usuário. |
| content_index | inteiro | O índice da parte de conteúdo que contém o áudio. |
| erro | objeto | Detalhes do erro de transcrição. Consulte as propriedades aninhadas na próxima tabela. |
Error properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de erro. |
| codificar | cadeia | Código de erro, se houver. |
| mensagem | cadeia | Uma mensagem de erro legível por humanos. |
| param | cadeia | Parâmetro relacionado ao erro, se houver. |
RealtimeServerEventConversationItemTruncated
O evento do servidor conversation.item.truncated é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um conversation.item.truncate evento. Esse evento é usado para sincronizar a compreensão do servidor do áudio com a reprodução do cliente.
Esse evento trunca o áudio e remove a transcrição de texto do lado do servidor para garantir que não haja nenhum texto no contexto que o usuário não saiba.
Event structure
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.truncated. |
| item_id | cadeia | A ID do item de mensagem do assistente que foi truncado. |
| content_index | inteiro | O índice da parte de conteúdo truncada. |
| audio_end_ms | inteiro | A duração até a qual o áudio foi truncado, em milissegundos. |
RealtimeServerEventError
O evento do servidor error é retornado quando ocorre um erro, o que pode ser um problema de cliente ou de servidor. A maioria dos erros é recuperável e a sessão permanece aberta.
Event structure
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser error. |
| erro | objeto | Detalhes do erro. Consulte as propriedades aninhadas na próxima tabela. |
Error properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de erro. Por exemplo, "invalid_request_error" e "server_error" são tipos de erro. |
| codificar | cadeia | Código de erro, se houver. |
| mensagem | cadeia | Uma mensagem de erro legível por humanos. |
| param | cadeia | Parâmetro relacionado ao erro, se houver. |
| event_id | cadeia | A ID do evento cliente que causou o erro, se aplicável. |
RealtimeServerEventInputAudioBufferCleared
O evento do servidor input_audio_buffer.cleared é retornado quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear evento.
Event structure
{
"type": "input_audio_buffer.cleared"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser input_audio_buffer.cleared. |
RealtimeServerEventInputAudioBufferCommitted
O evento do servidor input_audio_buffer.committed é retornado quando um buffer de áudio de entrada é confirmado pelo cliente ou automaticamente no modo VAD do servidor. A item_id propriedade é a ID do item de mensagem do usuário criado. Portanto, 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 | O tipo de evento deve ser input_audio_buffer.committed. |
| previous_item_id | cadeia | A ID do item anterior após o qual o novo item é inserido. |
| item_id | cadeia | A ID do item de mensagem do usuário criado. |
RealtimeServerEventInputAudioBufferSpeechStarted
O evento do servidor input_audio_buffer.speech_started é retornado no server_vad modo quando a fala é detectada no buffer de áudio. Esse evento pode acontecer sempre que o áudio for adicionado ao buffer (a menos que a fala já seja detectada).
Note
Talvez o cliente queira usar esse evento para interromper a reprodução de áudio ou fornecer comentários visuais ao usuário.
O cliente deve esperar receber um input_audio_buffer.speech_stopped evento quando a fala for interrompida. A item_id propriedade é a ID do item de mensagem do usuário criado quando a fala é interrompida. O item_id também é incluído no evento, a input_audio_buffer.speech_stopped menos que o cliente confirme manualmente o buffer de áudio durante a ativação do VAD.
Event structure
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser input_audio_buffer.speech_started. |
| audio_start_ms | 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 | cadeia | A ID do item de mensagem do usuário criado quando a fala é interrompida. |
RealtimeServerEventInputAudioBufferSpeechStopped
O evento do servidor input_audio_buffer.speech_stopped é retornado no server_vad modo quando o servidor detecta o fim da fala no buffer de áudio.
O servidor também envia um conversation.item.created evento com o item de mensagem do usuário criado a partir do buffer de áudio.
Event structure
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser input_audio_buffer.speech_stopped. |
| audio_end_ms | inteiro | Milissegundos desde que a sessão começou 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 | cadeia | A ID do item de mensagem do usuário criado. |
RealtimeServerEventOutputAudioBufferCleared
O evento do servidor output_audio_buffer.cleared é retornado quando o buffer de áudio de saída é limpo.
Note
Esse evento só é aplicável ao WebRTC.
Isso acontece no modo VAD quando o usuário é interrompido (input_audio_buffer.speech_started) ou quando o cliente emiti o output_audio_buffer.clear evento para cortar manualmente a resposta de áudio atual.
Event structure
{
"type": "output_audio_buffer.cleared"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser output_audio_buffer.cleared. |
| event_id | cadeia | A ID do evento do servidor. |
| response_id | cadeia | A ID exclusiva da resposta que produziu o áudio. |
RealtimeServerEventOutputAudioBufferStarted
O evento do servidor output_audio_buffer.started é retornado quando o servidor começa a transmitir áudio para o cliente. Esse evento é emitido depois que uma parte de conteúdo de áudio é adicionada (response.content_part.added) à resposta.
Note
Esse evento só é aplicável ao WebRTC.
Event structure
{
"type": "output_audio_buffer.started",
"event_id": "<item_id>",
"response_id": "<response_id>"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser output_audio_buffer.started. |
| event_id | cadeia | A ID do evento do servidor. |
| response_id | cadeia | A ID exclusiva da resposta que produziu o áudio. |
RealtimeServerEventOutputAudioBufferStopped
O evento do servidor output_audio_buffer.stopped é retornado quando o buffer de áudio de saída é completamente drenado no servidor e não há mais áudio por vir.
Note
Esse evento só é aplicável ao WebRTC.
Esse evento é retornado depois que os dados de resposta completos são enviados ao cliente por meio 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 | O tipo de evento deve ser output_audio_buffer.stopped. |
| event_id | cadeia | A ID do evento do servidor. |
| response_id | cadeia | A ID exclusiva 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 mostrados aqui refletem essa reserva, que é ajustada de acordo quando 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 | O tipo de evento deve ser rate_limits.updated. |
| rate_limits | matriz de RealtimeServerEventRateLimitsUpdatedRateLimitsItem | A lista de informações de limite de taxa. |
RealtimeServerEventResponseAudioDelta
O evento do servidor response.audio.delta é retornado 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 | O tipo de evento deve ser response.audio.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia | Delta de dados de áudio codificado em Base64. |
RealtimeServerEventResponseAudioDone
O evento do servidor response.audio.done é retornado quando o áudio gerado pelo modelo é feito.
Esse evento também é retornado 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 | O tipo de evento deve ser response.audio.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
RealtimeServerEventResponseAudioTranscriptDelta
O evento do servidor response.audio_transcript.delta é retornado 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 | O tipo de evento deve ser response.audio_transcript.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia | O delta da transcrição. |
RealtimeServerEventResponseAudioTranscriptDone
O evento do servidor response.audio_transcript.done é retornado quando a transcrição gerada pelo modelo da saída de áudio é feita em streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
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 | O tipo de evento deve ser response.audio_transcript.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| transcrição | cadeia | A transcrição final do áudio. |
RealtimeServerEventResponseContentPartAdded
O evento do servidor response.content_part.added é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem do assistente durante a geração de 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 | O tipo de evento deve ser response.content_part.added. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item ao qual a parte de conteúdo foi adicionada. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | 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. |
Part properties
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
O evento do servidor response.content_part.done é retornado quando uma parte de conteúdo é feita em streaming em um item de mensagem do assistente.
Esse evento também é retornado 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 | O tipo de evento deve ser response.content_part.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| part | RealtimeContentPart | A parte de conteúdo que é feita. |
Part properties
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeContentPartType |
RealtimeServerEventResponseCreated
O evento do servidor response.created é retornado quando uma nova resposta é criada. Este é o primeiro evento de criação de resposta, em que a resposta está em um estado inicial de in_progress.
Event structure
{
"type": "response.created"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.created. |
| response | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseDone
O evento do servidor response.done é retornado quando uma resposta é feita em streaming. Esse evento sempre é emitido, independentemente do estado final. O objeto de resposta incluído no response.done evento inclui todos os itens de saída na resposta, mas omite os dados de áudio brutos.
Event structure
{
"type": "response.done"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.done. |
| response | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
O evento do servidor response.function_call_arguments.delta é retornado 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 | O tipo de evento deve ser response.function_call_arguments.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item de chamada de função. |
| output_index | inteiro | O índice do item de saída na resposta. |
| call_id | cadeia | A ID da chamada de função. |
| delta | cadeia | Os argumentos delta como uma cadeia de caracteres JSON. |
RealtimeServerEventResponseFunctionCallArgumentsDone
O evento do servidor response.function_call_arguments.done é retornado quando os argumentos de chamada de função gerados pelo modelo são feitos em streaming.
Esse evento também é retornado 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 | O tipo de evento deve ser response.function_call_arguments.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item de chamada de função. |
| output_index | inteiro | O índice do item de saída na resposta. |
| call_id | cadeia | A ID da chamada de função. |
| arguments | cadeia | Os argumentos finais como uma cadeia de caracteres JSON. |
RealtimeServerEventResponseOutputItemAdded
O evento do servidor response.output_item.added é retornado quando um novo item é criado durante a geração de resposta.
Event structure
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.output_item.added. |
| response_id | cadeia | A ID da resposta à qual o item pertence. |
| output_index | 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 é retornado quando um item é feito em streaming.
Esse evento também é retornado 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 | O tipo de evento deve ser response.output_item.done. |
| response_id | cadeia | A ID da resposta à qual o item pertence. |
| output_index | inteiro | O índice do item de saída na resposta. |
| item | RealtimeConversationResponseItem | O item que é feito streaming. |
RealtimeServerEventResponseTextDelta
O evento do servidor response.text.delta é retornado quando o texto gerado pelo modelo é atualizado. O texto corresponde à parte de text conteúdo de um item de mensagem do 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 | O tipo de evento deve ser response.text.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| delta | cadeia | O delta de texto. |
RealtimeServerEventResponseTextDone
O evento do servidor response.text.done é retornado quando o texto gerado pelo modelo é feito em streaming. O texto corresponde à parte de text conteúdo de um item de mensagem do assistente.
Esse evento também é retornado 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 | O tipo de evento deve ser response.text.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item. |
| output_index | inteiro | O índice do item de saída na resposta. |
| content_index | inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
| enviar SMS | cadeia | O conteúdo do texto final. |
RealtimeServerEventSessionCreated
O evento do servidor session.created é o primeiro evento de servidor quando você estabelece uma nova conexão com a API realtime. Esse evento cria e retorna uma nova sessão com a configuração de sessão padrão.
Event structure
{
"type": "session.created"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser session.created. |
| sessão | RealtimeResponseSession | O objeto de sessão. |
RealtimeServerEventSessionUpdated
O evento do servidor session.updated é retornado quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor enviará um error evento.
Event structure
{
"type": "session.updated"
}
Properties
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser session.updated. |
| sessão | RealtimeResponseSession | O objeto de sessão. |
Components
RealtimeAudioFormat
Allowed Values:
pcm16g711_ulawg711_alaw
RealtimeAudioInputTranscriptionModel
Allowed Values:
whisper-1gpt-4o-transcribegpt-4o-mini-transcribegpt-4o-transcribe-diarizegpt-4o-mini-transcribe-2025-12-15
RealtimeAudioInputTranscriptionSettings
| Field | Tipo | Description |
|---|---|---|
| linguagem | cadeia | O idioma do áudio de entrada. Fornecer o idioma de entrada no formato ISO-639-1 (como en) melhorará a precisão e a latência. |
| modelo | RealtimeAudioInputTranscriptionModel | O modelo de transcrição de entrada de áudio. Por exemplo, whisper-1. |
| solicitação | cadeia | O prompt para a transcrição de entrada de áudio. Texto opcional para orientar 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 e gpt-4o-transcribe modelos gpt-4o-transcribe-diarizeda série, o prompt é uma cadeia de texto gratuita, como "esperar palavras relacionadas à tecnologia". |
RealtimeAudioInputAudioNoiseReductionSettings
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | Tipo de redução de ruído. Especifique near_field para microfones de fala próxima, como fones de ouvido ou far_field para microfones de campo distante, como laptop ou microfones de sala de conferência. |
RealtimeClientEvent
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeClientEventType | O tipo do evento cliente. |
| event_id | cadeia | A ID exclusiva do evento. O cliente pode especificar a ID para ajudar a identificar o evento. |
RealtimeClientEventType
Allowed Values:
session.updateinput_audio_buffer.appendinput_audio_buffer.commitinput_audio_buffer.clearconversation.item.createconversation.item.deleteconversation.item.truncateresponse.createresponse.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 | O conteúdo do texto. Essa propriedade é aplicável para os tipos de conteúdo e input_text para os text tipos de conteúdo. |
| id | cadeia | ID de um item de conversa anterior a ser referenciado em itens criados pelo cliente e pelo servidor. Essa propriedade é aplicável ao item_reference tipo de conteúdo em response.create eventos. |
| audio | cadeia | Os bytes de áudio codificados em base64. Essa propriedade é aplicável ao input_audio tipo de conteúdo. |
| transcrição | cadeia | A transcrição do áudio. Essa propriedade é aplicável ao input_audio tipo de conteúdo. |
RealtimeContentPartType
Allowed Values:
input_textinput_audiotextaudio
RealtimeConversationItemBase
O item a ser adicionado à conversa.
Esta tabela descreve todas as RealtimeConversationItem propriedades. As propriedades aplicáveis por evento dependem do RealtimeItemType.
| Field | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. O cliente pode especificar a ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer uma ID, o servidor gerará uma. |
| tipo | RealtimeItemType | O tipo do item. Valores permitidos: message, , function_callfunction_call_output |
| objeto | cadeia | O identificador do objeto de API que está sendo retornado. O valor sempre será realtime.item. |
| status | RealtimeItemStatus | O status do item. Esse campo não afeta a conversa, mas é aceito para consistência com o conversation.item.created evento.Valores permitidos: completed, incomplete |
| função | RealtimeMessageRole | A função do remetente da mensagem. Essa propriedade só é aplicável para message itens. Valores permitidos: system, , userassistant |
| conteúdo | matriz de RealtimeContentPart | O conteúdo da mensagem. Essa propriedade só é aplicável para message itens.- Os itens de mensagem da função system dão suporte apenas input_text ao conteúdo.- Itens de mensagem de suporte user e input_text conteúdo de funçãoinput_audio.- Itens de mensagem de conteúdo de suporte assistant de funçãotext. |
| call_id | cadeia | A ID da chamada de função (para function_call e function_call_output itens). Se passado em um function_call_output item, o servidor verificará se existe um function_call item com a mesma ID no histórico da conversa. |
| name | cadeia | O nome da função que está sendo chamada (para function_call itens). |
| arguments | cadeia | Os argumentos da chamada de função (para function_call itens). |
| saída | cadeia | A saída da chamada de função (para function_call_output itens). |
RealtimeConversationRequestItem
Use o RealtimeConversationRequestItem objeto para criar um novo item na conversa por meio do evento conversation.item.create .
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeItemType | O tipo do item. |
| id | cadeia | A ID exclusiva do item. O cliente pode especificar a ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer uma ID, o servidor gerará uma. |
RealtimeConversationResponseItem
O RealtimeConversationResponseItem objeto representa um item na conversa. Ele é usado em alguns dos eventos do servidor, como:
- conversation.item.created
- response.output_item.added
- response.output_item.done
-
response.created(por meio doresponsetipoRealtimeResponsede propriedade) -
response.done(por meio doresponsetipoRealtimeResponsede propriedade)
| Field | Tipo | Description |
|---|---|---|
| objeto | cadeia | O identificador do objeto de API retornado. Valores permitidos: realtime.item |
| tipo | RealtimeItemType | O tipo do item. Valores permitidos: message, , function_callfunction_call_output |
| id | cadeia | A ID exclusiva do item. O cliente pode especificar a ID para ajudar a gerenciar o contexto do lado do servidor. Se o cliente não fornecer uma ID, o servidor gerará uma. Essa propriedade é anulável. |
RealtimeFunctionTool
A definição de uma ferramenta de função, conforme usado pelo ponto de extremidade em tempo real.
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da ferramenta. Valores permitidos: function |
| name | cadeia | O nome da função. |
| description | cadeia | A descrição da função, incluindo diretrizes de uso. Por exemplo, "Use essa função para obter a hora atual". |
| parameters | objeto | Os parâmetros da função na forma de um objeto JSON. |
RealtimeItemStatus
Allowed Values:
in_progresscompletedincomplete
RealtimeItemType
Allowed Values:
messagefunction_callfunction_call_output
RealtimeMessageRole
Allowed Values:
systemuserassistant
RealtimeRequestAssistantMessageItem
| Field | Tipo | Description |
|---|---|---|
| função | cadeia | A função da mensagem. Valores permitidos: assistant |
| conteúdo | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestAudioContentPart
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da parte de conteúdo. Valores permitidos: input_audio |
| transcrição | cadeia | A transcrição do áudio. |
RealtimeRequestFunctionCallItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call |
| name | cadeia | O nome do item de chamada de função. |
| call_id | cadeia | A ID do item de chamada de função. |
| arguments | cadeia | Os argumentos do item de chamada de função. |
| status | RealtimeItemStatus | O status do item. |
RealtimeRequestFunctionCallOutputItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call_output |
| call_id | cadeia | A ID do item de chamada de função. |
| saída | cadeia | A saída do item de chamada de função. |
RealtimeRequestMessageItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| função | RealtimeMessageRole | A função da mensagem. |
| status | RealtimeItemStatus | O status do item. |
RealtimeRequestMessageReferenceItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| id | cadeia | A ID do item de mensagem. |
RealtimeRequestSession
Use o RealtimeRequestSession objeto quando quiser atualizar a configuração da sessão por meio do evento session.update .
| Field | Tipo | Description |
|---|---|---|
| modalities | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text, audioPor 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. |
| instructions | cadeia | 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_noise_reduction | RealtimeAudioInputAudioNoiseReductionSettings | Configuração para redução de ruído de áudio de entrada. Isso pode ser definido como nulo para desativar. A redução de ruído filtra o áudio adicionado ao buffer de áudio de entrada antes de ser enviado ao VAD e ao modelo. Filtrar o áudio pode melhorar o VAD e transformar a precisão da detecção (reduzindo falsos positivos) e o desempenho do modelo, melhorando a percepção do áudio de entrada. Essa propriedade é anulável. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | A configuração da transcrição de áudio de entrada. A configuração é nula (desativada) por padrão. A transcrição de áudio de entrada não é nativa do modelo, pois o modelo consome áudio diretamente. A transcrição é executada de forma assíncrona por meio do /audio/transcriptions ponto de extremidade e deve ser tratada como orientação do conteúdo de áudio de entrada, em vez de precisamente o que o modelo ouviu. Para obter diretrizes adicionais para o serviço de transcrição, o cliente pode opcionalmente definir o idioma e solicitar a transcrição.Essa propriedade é anulável. |
| turn_detection | RealtimeTurnDetection | As configurações de detecção de turno para a sessão. Essa propriedade é anulável. |
| tools | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A opção da ferramenta para a sessão. Valores permitidos: auto, e nonerequired. Caso contrário, você poderá especificar o nome da função a ser usada. |
| temperature | number | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a 0.6 .1.2 O padrão é 0.8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, inclusive de chamadas de ferramenta. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000. Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf".O padrão é "inf". |
RealtimeRequestSystemMessageItem
| Field | Tipo | Description |
|---|---|---|
| função | cadeia | A função da mensagem. Valores permitidos: system |
| conteúdo | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestTextContentPart
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da parte de conteúdo. Valores permitidos: input_text |
| enviar SMS | cadeia | O conteúdo do texto. |
RealtimeRequestUserMessageItem
| Field | Tipo | Description |
|---|---|---|
| função | cadeia | A função da mensagem. Valores permitidos: user |
| conteúdo | matriz de RealtimeRequestTextContentPart ou RealtimeRequestAudioContentPart | O conteúdo da mensagem. |
RealtimeResponse
| Field | Tipo | Description |
|---|---|---|
| objeto | cadeia | O objeto de resposta. Valores permitidos: realtime.response |
| id | cadeia | 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. |
| saída | 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 em seguida. |
| + total_tokens | inteiro | O número total de tokens na Resposta, incluindo tokens de texto e áudio de entrada e saída. Uma propriedade do usage objeto. |
| + input_tokens | inteiro | O número de tokens de entrada usados na resposta, incluindo tokens de texto e áudio. Uma propriedade do usage objeto. |
| + output_tokens | 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 | objeto | Detalhes sobre os tokens de entrada usados na resposta. Uma propriedade do usage objeto.Veja as propriedades aninhadas em seguida. |
| + cached_tokens | inteiro | O número de tokens armazenados em cache usados na resposta. Uma propriedade do input_token_details objeto. |
| + text_tokens | inteiro | O número de tokens de texto usados na resposta. Uma propriedade do input_token_details objeto. |
| + audio_tokens | inteiro | O número de tokens de áudio usados na resposta. Uma propriedade do input_token_details objeto. |
| + output_token_details | objeto | Detalhes sobre os tokens de saída usados na resposta. Uma propriedade do usage objeto.Veja as propriedades aninhadas em seguida. |
| + text_tokens | inteiro | O número de tokens de texto usados na resposta. Uma propriedade do output_token_details objeto. |
| + audio_tokens | inteiro | O número de tokens de áudio usados na resposta. Uma propriedade do output_token_details objeto. |
RealtimeResponseAudioContentPart
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da parte de conteúdo. Valores permitidos: audio |
| transcrição | cadeia | A transcrição do áudio. Essa propriedade é anulável. |
RealtimeResponseBase
O recurso de resposta.
RealtimeResponseFunctionCallItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call |
| name | cadeia | O nome do item de chamada de função. |
| call_id | cadeia | A ID do item de chamada de função. |
| arguments | cadeia | Os argumentos do item de chamada de função. |
| status | RealtimeItemStatus | O status do item. |
RealtimeResponseFunctionCallOutputItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call_output |
| call_id | cadeia | A ID do item de chamada de função. |
| saída | cadeia | A saída do item de chamada de função. |
RealtimeResponseMessageItem
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| função | RealtimeMessageRole | A função da mensagem. |
| conteúdo | matriz | O conteúdo da mensagem. Itens de matriz: RealtimeResponseTextContentPart |
| status | RealtimeItemStatus | O status do item. |
RealtimeResponseOptions
| Field | Tipo | Description |
|---|---|---|
| modalities | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text, audioPor 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. |
| instructions | cadeia | 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. |
| tools | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A opção da ferramenta para a sessão. |
| temperature | number | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a 0.6 .1.2 O padrão é 0.8. |
| max__output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, inclusive de chamadas de ferramenta. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000. Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf".O padrão é "inf". |
| conversa | cadeia | Controla a qual conversa a resposta é adicionada. Os valores com suporte são auto e none.O auto valor (ou não definir essa propriedade) garante que o conteúdo da resposta seja adicionado à conversa padrão da sessão.Defina essa propriedade para none criar uma resposta fora de banda em que os itens não serão adicionados à conversa padrão. Para obter mais informações, consulte o guia de instruções.Padrões para "auto" |
| metadados | mapa | Configure até 16 pares chave-valor que podem ser anexados a um objeto. Isso pode ser útil para armazenar informações adicionais sobre o objeto em um formato estruturado. As chaves podem ter no máximo 64 caracteres e os valores podem ter no máximo 512 caracteres. Por exemplo: metadata: { topic: "classification" } |
| entrada | matriz | Itens de entrada a serem incluídos no prompt do modelo. Cria um novo contexto para essa resposta, sem incluir a conversa padrão. Pode incluir referências a itens da conversa padrão. Itens de matriz: RealtimeConversationItemBase |
RealtimeResponseSession
O RealtimeResponseSession objeto representa uma sessão na API realtime. Ele é usado em alguns dos eventos do servidor, como:
| Field | Tipo | Description |
|---|---|---|
| objeto | cadeia | O objeto de sessão. Valores permitidos: realtime.session |
| id | cadeia | A ID exclusiva da sessão. |
| modelo | cadeia | O modelo usado para a sessão. |
| modalities | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text, audioPor 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. |
| instructions | cadeia | 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. |
| tools | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
| tool_choice | RealtimeToolChoice | A opção da ferramenta para a sessão. |
| temperature | number | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a 0.6 .1.2 O padrão é 0.8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, inclusive de chamadas de ferramenta. 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
Allowed Values:
in_progresscompletedcancelledincompletefailed
RealtimeResponseStatusDetails
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeResponseStatus | O status da resposta. |
RealtimeResponseTextContentPart
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da parte de conteúdo. Valores permitidos: text |
| enviar SMS | cadeia | O conteúdo do texto. |
RealtimeServerEvent
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeServerEventType | O tipo do evento do servidor. |
| event_id | cadeia | A ID exclusiva do evento do servidor. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
| Field | Tipo | Description |
|---|---|---|
| name | cadeia | O nome da propriedade de limite de taxa sobre o qual este item inclui informações. |
| limit | inteiro | O limite máximo configurado para essa propriedade de limite de taxa. |
| remaining | inteiro | A cota restante disponível em relação ao limite configurado para essa propriedade de limite de taxa. |
| reset_seconds | number | O tempo restante, em segundos, até que essa propriedade de limite de taxa seja redefinida. |
RealtimeServerEventType
Allowed Values:
session.createdsession.updatedconversation.createdconversation.item.createdconversation.item.deletedconversation.item.truncatedresponse.createdresponse.donerate_limits.updatedresponse.output_item.addedresponse.output_item.doneresponse.content_part.addedresponse.content_part.doneresponse.audio.deltaresponse.audio.doneresponse.audio_transcript.deltaresponse.audio_transcript.doneresponse.text.deltaresponse.text.doneresponse.function_call_arguments.deltaresponse.function_call_arguments.doneinput_audio_buffer.speech_startedinput_audio_buffer.speech_stoppedconversation.item.input_audio_transcription.completedconversation.item.input_audio_transcription.failedinput_audio_buffer.committedinput_audio_buffer.clearederror
RealtimeServerVadTurnDetection
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de detecção de turno. Valores permitidos: server_vad |
| limite | number | 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. O padrão é 0.5. Você pode definir o limite como um valor entre 0.0 e 1.0. |
| prefix_padding_ms | cadeia | A duração do áudio de fala (em milissegundos) a ser incluída antes do início da fala detectada. O padrão é 300. |
| silence_duration_ms | cadeia | 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 do discurso. O modelo responderá mais rapidamente se você definir esse valor como um número menor, mas 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 do objeto 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, abrangendo as duas opções literais de cadeia de caracteres, como 'auto' e referências estruturadas a ferramentas definidas.
RealtimeToolChoiceFunctionObject
A representação de um tempo real tool_choice selecionando uma ferramenta de função nomeada.
| Field | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do tool_choice.Valores permitidos: function |
| função | objeto | A ferramenta de função a ser selecionada. Veja as propriedades aninhadas em seguida. |
| + name | cadeia | O nome da ferramenta de função. Uma propriedade do function objeto. |
RealtimeToolChoiceLiteral
O conjunto disponível de opções literais tool_choice de cadeia de caracteres no nível do modo para o ponto de extremidade em tempo real.
Allowed Values:
autononerequired
RealtimeToolChoiceObject
Uma representação base para um tempo tool_choice real selecionando uma ferramenta nomeada.
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeToolType | O tipo do tool_choice. |
RealtimeToolType
Os discriminadores de tipo de ferramenta com suporte para ferramentas em tempo real. Atualmente, há suporte apenas para ferramentas de "função".
Allowed Values:
function
RealtimeTurnDetection
| Field | Tipo | Description |
|---|---|---|
| tipo | RealtimeTurnDetectionType | O tipo de detecção de turno. Valores permitidos: semantic_vad ou server_vad |
| limite | number | O limite de ativação para a detecção de turno de VAD (server_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.O padrão é 0.5. Você pode definir o limite como um valor entre 0.0 e 1.0.Essa propriedade só é aplicável para detecção de server_vad turnos. |
| prefix_padding_ms | cadeia | A duração do áudio de fala (em milissegundos) a ser incluída antes do início da fala detectada. O padrão é 300 milissegundos.Essa propriedade só é aplicável para detecção de server_vad turnos. |
| silence_duration_ms | cadeia | 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 do discurso. O modelo responderá mais rapidamente se você definir esse valor como um número menor, mas 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. O padrão é 200 milissegundos.Essa propriedade só é aplicável para detecção de server_vad turnos. |
| create_response | boolean | Indica se o servidor criará automaticamente uma resposta quando o VAD estiver habilitado e a fala for interrompida. O padrão é true. |
| interrupt_response | boolean | Indica se o servidor interromperá automaticamente qualquer resposta contínua com saída para a conversa padrão (auto) quando ocorrer um evento de início do VAD.O padrão é true. |
| eagerness | cadeia | A ânsia do modelo de responder e interromper o usuário. Especifique low esperar mais tempo para que o usuário continue falando. Especifique high para dividir o áudio o mais rápido possível para respostas mais rápidas. O valor padrão é auto equivalente a médio.Essa propriedade só é aplicável para detecção de semantic_vad turnos. |
RealtimeTurnDetectionType
Allowed Values:
-
semantic_vad- O VAD semântico detecta quando o usuário termina de falar com base nas palavras que ele pronunciou. O áudio de entrada é pontuado com base na probabilidade de o usuário terminar de falar. Quando a probabilidade for baixa, o modelo aguardará um tempo limite. Quando a probabilidade é alta, não há necessidade de esperar. -
server_vad– O servidor avalia o áudio do usuário do cliente. O servidor usa automaticamente esse áudio para iniciar a geração de resposta em conversas aplicáveis quando um fim de fala é detectado.
RealtimeVoice
Allowed Values:
alloyashballadcoralechosageshimmerverse
Related content
- Introdução ao início rápido da API em tempo real.
- Saiba mais sobre como usar a API do Realtime.