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.
A API dinâmica do Voice fornece comunicação bidirecional em tempo real para aplicativos habilitados para voz usando conexões WebSocket. Essa API dá suporte a recursos avançados, incluindo reconhecimento de fala, síntese de texto em fala, streaming de avatar, dados de animação e recursos abrangentes de processamento de áudio.
A API usa eventos formatados em JSON enviados por conexões WebSocket para gerenciar conversas, fluxos de áudio, interações de avatar e respostas em tempo real. Os eventos são categorizados em eventos de cliente (enviados de cliente para servidor) e eventos de servidor (enviados de servidor para cliente).
Principais características
- Processamento de áudio em tempo real: suporte para vários formatos de áudio, incluindo PCM16 a várias taxas de exemplo e codecs G.711
- Opções avançadas de voz: vozes OpenAI, vozes personalizadas do Azure, vozes padrão do Azure e vozes pessoais do Azure
- Integração de Avatar: streaming de avatar baseado em WebRTC com vídeo, animação e blendshapes
- Detecção de Turno Inteligente: Várias opções de VAD, incluindo VAD semântico do Azure e detecção do lado do servidor
- Aprimoramento de áudio: redução de ruído interna e cancelamento de eco
- Chamada de função: integração de ferramentas para recursos de conversação aprimorados
- Gerenciamento de Sessão Flexível: modalidades configuráveis, instruções e parâmetros de resposta
Eventos do cliente
A API ao vivo do Voice dá suporte aos seguintes eventos de cliente que podem ser enviados do cliente para o servidor:
| Event | Description |
|---|---|
| session.update | Atualizar a configuração da sessão, incluindo voz, modalidades, detecção de turnos e outras configurações |
| session.avatar.connect | Estabelecer conexão de avatar fornecendo o SDP do cliente para negociação do WebRTC |
| input_audio_buffer.append | Acrescentar bytes de áudio ao buffer de áudio de entrada |
| input_audio_buffer.commit | Confirmar o buffer de áudio de entrada para processamento |
| input_audio_buffer.clear | Limpar o buffer de áudio de entrada |
| conversation.item.create | Adicionar um novo item ao contexto da conversa |
| conversation.item.retrieve | Recuperar um item específico da conversa |
| conversation.item.truncate | Truncar uma mensagem de áudio do assistente |
| conversation.item.delete | Remover um item da conversa |
| response.create | Instruir o servidor a criar uma resposta por meio de inferência de modelo |
| response.cancel | Cancelar uma resposta em andamento |
| mcp_approval_response | Enviar aprovação ou rejeição para uma chamada de ferramenta MCP que requer aprovação |
session.update
Atualize a configuração da sessão. Esse evento pode ser enviado a qualquer momento para modificar configurações como voz, modalidades, detecção de turnos, ferramentas e outros parâmetros de sessão. Observe que uma vez que uma sessão é inicializada com um modelo específico, ela não pode ser alterada para outro modelo.
Estrutura de eventos
{
"type": "session.update",
"session": {
"modalities": ["text", "audio"],
"voice": {
"type": "openai",
"name": "alloy"
},
"instructions": "You are a helpful assistant. Be concise and friendly.",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "session.update" |
| sessão | RealtimeRequestSession | Objeto de configuração de sessão com campos a serem atualizados |
Exemplo com a Voz Personalizada do Azure
{
"type": "session.update",
"session": {
"voice": {
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful"
},
"input_audio_noise_reduction": {
"type": "azure_deep_noise_suppression"
},
"avatar": {
"character": "lisa",
"customized": false,
"video": {
"resolution": {
"width": 1920,
"height": 1080
},
"bitrate": 2000000
}
}
}
}
session.avatar.connect
Estabeleça uma conexão de avatar fornecendo a oferta SDP (Protocolo de Descrição da Sessão) do cliente para negociação de mídia webRTC. Esse evento é necessário ao usar recursos de avatar.
Estrutura de eventos
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "session.avatar.connect" |
| client_sdp | cadeia | A oferta SDP do cliente para o estabelecimento de conexão WebRTC |
input_audio_buffer.append
Acrescente bytes de áudio ao buffer de áudio de entrada.
Estrutura de eventos
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "input_audio_buffer.append" |
| audio | cadeia | Dados de áudio codificados em Base64 |
input_audio_buffer.commit
Confirme o buffer de áudio de entrada para processamento.
Estrutura de eventos
{
"type": "input_audio_buffer.commit"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "input_audio_buffer.commit" |
input_audio_buffer.clear
Desmarque o buffer de áudio de entrada.
Estrutura de eventos
{
"type": "input_audio_buffer.clear"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "input_audio_buffer.clear" |
conversation.item.create
Adicione um novo item ao contexto da conversa. Isso pode incluir mensagens, chamadas de função e respostas de chamada de função. Os itens podem ser inseridos em posições específicas no histórico de conversas.
Estrutura de eventos
{
"type": "conversation.item.create",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.create" |
| previous_item_id | cadeia | Optional. ID do item após o qual inserir este item. Se não for fornecido, acrescentará ao fim |
| item | RealtimeConversationRequestItem | O item a ser adicionado à conversa |
Exemplo com conteúdo de áudio
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Exemplo com chamada de função
{
"type": "conversation.item.create",
"item": {
"type": "function_call",
"name": "get_weather",
"call_id": "call_123",
"arguments": "{\"location\": \"San Francisco\", \"unit\": \"celsius\"}"
}
}
Exemplo com chamada MCP
{
"type": "conversation.item.create",
"item": {
"type": "mcp_call",
"approval_request_id": null,
"arguments": "",
"server_label": "deepwiki",
"name": "ask_question",
"output": null,
"error": null
}
}
conversation.item.retrieve
Recupere um item específico do histórico de conversas. Isso é útil para inspecionar o áudio processado após o cancelamento de ruído e o VAD.
Estrutura de eventos
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.retrieve" |
| item_id | cadeia | A ID do item a ser recuperado |
conversation.item.truncate
Truncar o conteúdo de áudio de uma mensagem de assistente. Isso é útil para interromper a reprodução em um ponto específico e sincronizar o entendimento do servidor com o estado do cliente.
Estrutura de eventos
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.truncate" |
| item_id | cadeia | A ID do item de mensagem do assistente para truncar |
| content_index | inteiro | O índice da parte de conteúdo a ser truncada |
| audio_end_ms | inteiro | A duração até a qual truncar o áudio, em milissegundos |
conversation.item.delete
Remova um item do histórico de conversas.
Estrutura de eventos
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.delete" |
| item_id | cadeia | A ID do item a ser excluído |
response.create
Instrua o servidor a criar uma resposta por meio de inferência de modelo. Esse evento pode especificar a configuração específica da resposta que substitui os padrões de sessão.
Estrutura de eventos
{
"type": "response.create",
"response": {
"modalities": ["text", "audio"],
"instructions": "Be extra helpful and detailed.",
"voice": {
"type": "openai",
"name": "alloy"
},
"output_audio_format": "pcm16",
"temperature": 0.7,
"max_response_output_tokens": 1000
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.create" |
| response | RealtimeResponseOptions | Configuração de resposta opcional que substitui os padrões de sessão |
Exemplo com a opção de ferramenta
{
"type": "response.create",
"response": {
"modalities": ["text"],
"tools": [
{
"type": "function",
"name": "get_current_time",
"description": "Get the current time",
"parameters": {
"type": "object",
"properties": {}
}
}
],
"tool_choice": "get_current_time",
"temperature": 0.3
}
}
Exemplo com animação
{
"type": "response.create",
"response": {
"modalities": ["audio", "animation"],
"animation": {
"model_name": "default",
"outputs": ["blendshapes", "viseme_id"]
},
"voice": {
"type": "azure-custom",
"name": "my-expressive-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"style": "excited"
}
}
}
response.cancel
Cancele uma resposta em andamento. Isso interrompe imediatamente a geração de resposta e a saída de áudio relacionada.
Estrutura de eventos
{
"type": "response.cancel"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.cancel" |
Propriedades
| Campo | 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 áudio pelo servidor com a reprodução do cliente é sincronizada.
Truncar o áudio exclui a transcrição do texto do lado do servidor para garantir que não haja texto no contexto que o usuário não conheça.
Se o evento do cliente for bem-sucedido, o servidor responderá com um conversation.item.truncated evento.
Estrutura de eventos
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
| Campo | 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 .
Estrutura de eventos
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Propriedades
| Campo | 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.
Estrutura de eventos
{
"type": "input_audio_buffer.clear"
}
Propriedades
| Campo | 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.
Estrutura de eventos
{
"type": "input_audio_buffer.commit"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser input_audio_buffer.commit. |
RealtimeClientEventResponseCancel
O evento response.cancel de cliente é usado para cancelar uma resposta em andamento.
O servidor responderá com um response.done evento com um status de response.status=cancelled.
Estrutura de eventos
{
"type": "response.cancel"
}
Propriedades
| Campo | 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.
Estrutura de eventos
{
"type": "response.create"
}
Propriedades
| Campo | 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.
Estrutura de eventos
{
"type": "session.update"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser session.update. |
| sessão | RealtimeRequestSession | A configuração da sessão. |
Eventos do servidor
A API ao vivo do Voice envia os seguintes eventos de servidor para comunicar status, respostas e dados ao cliente:
| Event | Description |
|---|---|
| erro | Indica que ocorreu um erro durante o processamento |
| session.created | Enviado quando uma nova sessão é estabelecida com êxito |
| session.updated | Enviado quando a configuração da sessão é atualizada |
| session.avatar.connecting | Indica que a conexão WebRTC do avatar está sendo estabelecida |
| conversation.item.created | Enviado quando um novo item é adicionado à conversa |
| conversation.item.retrieved | Resposta à solicitação conversation.item.retrieve |
| conversation.item.truncated | Confirma truncamento de itens |
| conversation.item.deleted | Confirma a exclusão de itens |
| conversation.item.input_audio_transcription.completed | A transcrição de áudio de entrada está concluída |
| conversation.item.input_audio_transcription.delta | Transcrição de áudio de entrada de streaming |
| conversation.item.input_audio_transcription.failed | Falha na transcrição de áudio de entrada |
| input_audio_buffer.committed | O buffer de áudio de entrada foi confirmado para processamento |
| input_audio_buffer.cleared | O buffer de áudio de entrada foi limpo |
| input_audio_buffer.speech_started | Fala detectada no VAD (buffer de áudio de entrada) |
| input_audio_buffer.speech_stopped | Fala encerrada no VAD (buffer de áudio de entrada) |
| response.created | A nova geração de resposta foi iniciada |
| response.done | A geração de resposta está concluída |
| response.output_item.adicionado | Novo item de saída adicionado à resposta |
| response.output_item.done | O item de saída está concluído |
| response.content_part.adicionado | Nova parte de conteúdo adicionada ao item de saída |
| response.content_part.done | A parte de conteúdo está concluída |
| response.text.delta | Streaming de conteúdo de texto do modelo |
| response.text.done | O conteúdo do texto está concluído |
| response.audio_transcript.delta | Transcrição de áudio de streaming |
| response.audio_transcript.done | A transcrição de áudio foi concluída |
| response.audio.delta | Streaming de conteúdo de áudio do modelo |
| response.audio.done | O conteúdo de áudio está concluído |
| response.animation_blendshapes.delta | Dados de blendshapes de animação de streaming |
| response.animation_blendshapes.done | Os dados de blendshapes de animação estão concluídos |
| response.audio_timestamp.delta | Informações de carimbo de data/hora de streaming de áudio |
| response.audio_timestamp.done | As informações do carimbo de data/hora de áudio estão concluídas |
| response.animation_viseme.delta | Dados de viseme de animação de streaming |
| response.animation_viseme.done | Os dados do viseme de animação estão concluídos |
| response.function_call_arguments.delta | Argumentos de chamada de função de streaming |
| response.function_call_arguments.done | Os argumentos de chamada de função estão concluídos |
| mcp_list_tools.in_progress | A listagem de ferramentas do MCP está em andamento |
| mcp_list_tools.completed | A listagem de ferramentas do MCP foi concluída |
| mcp_list_tools.falhou | Falha na listagem de ferramentas do MCP |
| response.mcp_call_arguments.delta | Argumentos de chamada mcp de streaming |
| response.mcp_call_arguments.done | Os argumentos de chamada MCP estão concluídos |
| response.mcp_call.in_progress | A chamada mcp está em andamento |
| response.mcp_call.completed | A chamada mcp foi concluída |
| response.mcp_call.falhou | Falha na chamada do MCP |
session.created
Enviado quando uma nova sessão é estabelecida com êxito. Esse é o primeiro evento recebido depois de se conectar à API.
Estrutura de eventos
{
"type": "session.created",
"session": {
"id": "sess_ABC123DEF456",
"object": "realtime.session",
"model": "gpt-realtime",
"modalities": ["text", "audio"],
"instructions": "You are a helpful assistant.",
"voice": {
"type": "openai",
"name": "alloy"
},
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "session.created" |
| sessão | RealtimeResponseSession | O objeto de sessão criado |
session.updated
Enviado quando a configuração da sessão é atualizada com êxito em resposta a um session.update evento cliente.
Estrutura de eventos
{
"type": "session.updated",
"session": {
"id": "sess_ABC123DEF456",
"voice": {
"type": "azure-custom",
"name": "my-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012"
},
"temperature": 0.7,
"avatar": {
"character": "lisa",
"customized": false
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "session.updated" |
| sessão | RealtimeResponseSession | O objeto de sessão atualizado |
session.avatar.connecting
Indica que uma conexão WebRTC de avatar está sendo estabelecida. Esse evento é enviado em resposta a um session.avatar.connect evento cliente.
Estrutura de eventos
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "session.avatar.connecting" |
conversation.item.created
Enviado quando um novo item é adicionado à conversa, por meio de um evento cliente conversation.item.create ou automaticamente durante a geração de resposta.
Estrutura de eventos
{
"type": "conversation.item.created",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.created" |
| previous_item_id | cadeia | ID do item após o qual este item foi inserido |
| item | RealtimeConversationResponseItem | O item de conversa criado |
Exemplo com Item de Áudio
{
"type": "conversation.item.created",
"item": {
"id": "item_GHI789",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": null,
"transcript": "What's the weather like today?"
}
]
}
}
conversation.item.retrieved
Enviado em resposta a um conversation.item.retrieve evento de cliente, fornecendo o item de conversa solicitado.
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.created" |
| item | RealtimeConversationResponseItem | O item de conversa criado |
conversation.item.truncated
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.
Estrutura de eventos
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
| Campo | 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. |
conversation.item.deleted
Enviado em resposta a um conversation.item.delete evento de cliente, confirmando que o item especificado foi removido da conversa.
Estrutura de eventos
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "conversation.item.deleted" |
| item_id | cadeia | ID do item excluído |
response.created
Enviado quando uma nova geração de resposta começa. Este é o primeiro evento em uma sequência de resposta.
Estrutura de eventos
{
"type": "response.created",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "in_progress",
"status_details": null,
"output": [],
"usage": {
"total_tokens": 0,
"input_tokens": 0,
"output_tokens": 0
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.created" |
| response | RealtimeResponse | O objeto de resposta que foi criado |
response.done
Enviado quando a geração de resposta é concluída. Esse evento contém a resposta final com todos os itens de saída e estatísticas de uso.
Estrutura de eventos
{
"type": "response.done",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "completed",
"status_details": null,
"output": [
{
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
]
}
],
"usage": {
"total_tokens": 87,
"input_tokens": 52,
"output_tokens": 35,
"input_token_details": {
"cached_tokens": 0,
"text_tokens": 45,
"audio_tokens": 7
},
"output_token_details": {
"text_tokens": 15,
"audio_tokens": 20
}
}
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.done" |
| response | RealtimeResponse | O objeto de resposta concluído |
response.output_item.adicionado
Enviado quando um novo item de saída é adicionado à resposta durante a geração.
Estrutura de eventos
{
"type": "response.output_item.added",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "in_progress",
"role": "assistant",
"content": []
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.output_item.added" |
| response_id | cadeia | ID da resposta à qual este item pertence |
| output_index | inteiro | Índice do item na matriz de saída da resposta |
| item | RealtimeConversationResponseItem | O item de saída que foi adicionado |
response.output_item.done
Enviado quando um item de saída é concluído.
Estrutura de eventos
{
"type": "response.output_item.done",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
]
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.output_item.done" |
| response_id | cadeia | ID da resposta à qual este item pertence |
| output_index | inteiro | Índice do item na matriz de saída da resposta |
| item | RealtimeConversationResponseItem | O item de saída concluído |
response.content_part.adicionado
O evento 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.
Estrutura de eventos
{
"type": "response.content_part.added",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": ""
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.content_part.added" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item ao qual essa parte de conteúdo pertence |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice dessa parte de conteúdo no item |
| part | RealtimeContentPart | A parte de conteúdo que foi adicionada |
response.content_part.done
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.
Estrutura de eventos
{
"type": "response.content_part.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.content_part.done" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item ao qual essa parte de conteúdo pertence |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice dessa parte de conteúdo no item |
| part | RealtimeContentPart | A parte de conteúdo concluída |
response.text.delta
Streaming de conteúdo de texto do modelo. Enviado incrementalmente à medida que o modelo gera texto.
Estrutura de eventos
{
"type": "response.text.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.text.delta" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| delta | cadeia | Conteúdo de texto incremental |
response.text.done
Enviado quando a geração de conteúdo de texto é concluída.
Estrutura de eventos
{
"type": "response.text.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.text.done" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| enviar SMS | cadeia | O conteúdo de texto completo |
response.audio.delta
Streaming de conteúdo de áudio do modelo. O áudio é fornecido como dados codificados em base64.
Estrutura de eventos
{
"type": "response.audio.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.audio.delta" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| delta | cadeia | Parte de dados de áudio codificados em Base64 |
response.audio.done
Enviado quando a geração de conteúdo de áudio é concluída.
Estrutura de eventos
{
"type": "response.audio.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.audio.done" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
response.audio_transcript.delta
Transcrição de streaming do conteúdo de áudio gerado.
Estrutura de eventos
{
"type": "response.audio_transcript.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm doing"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.audio_transcript.delta" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| delta | cadeia | Texto de transcrição incremental |
response.audio_transcript.done
Enviado quando a geração de transcrição de áudio é concluída.
Estrutura de eventos
{
"type": "response.audio_transcript.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "response.audio_transcript.done" |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| transcrição | cadeia | O texto completo da transcrição |
conversation.item.input_audio_transcription.completed
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.
Estrutura de eventos
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
| Campo | 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. |
conversation.item.input_audio_transcription.delta
O evento do servidor conversation.item.input_audio_transcription.delta é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário está em andamento. Esse evento fornece resultados parciais de transcrição conforme eles ficam disponíveis.
Estrutura de eventos
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser conversation.item.input_audio_transcription.delta. |
| 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. |
| delta | cadeia | O texto de transcrição incremental. |
conversation.item.input_audio_transcription.failed
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.
Estrutura de eventos
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | 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. |
Propriedades de erro
| Campo | 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. |
response.animation_blendshapes.delta
O evento do servidor response.animation_blendshapes.delta é retornado quando o modelo gera dados de blendshapes de animação como parte de uma resposta. Esse evento fornece dados de blendshapes incrementais à medida que ficam disponíveis.
Estrutura de eventos
{
"type": "response.animation_blendshapes.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"frame_index": 0,
"frames": [
[0.0, 0.1, 0.2, ..., 1.0]
...
]
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.animation_blendshapes.delta. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| frame_index | inteiro | Índice do primeiro quadro neste lote de quadros |
| Quadros | matriz de matriz de float | Matriz de quadros de blendshape, cada quadro é uma matriz de valores blendshape |
response.animation_blendshapes.done
O evento do servidor response.animation_blendshapes.done é retornado quando o modelo termina de gerar dados de blendshapes de animação como parte de uma resposta.
Estrutura de eventos
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.animation_blendshapes.done. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
response.audio_timestamp.delta
O evento do servidor response.audio_timestamp.delta é retornado quando o modelo gera dados de carimbo de data/hora de áudio como parte de uma resposta. Esse evento fornece dados incrementais de carimbo de data/hora para o alinhamento de áudio e texto de saída à medida que fica disponível.
Estrutura de eventos
{
"type": "response.audio_timestamp.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"audio_duration_ms": 500,
"text": "Hello",
"timestamp_type": "word"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio_timestamp.delta. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| audio_offset_ms | inteiro | Deslocamento de áudio em milissegundos desde o início do áudio |
| audio_duration_ms | inteiro | Duração do segmento de áudio em milissegundos |
| enviar SMS | cadeia | O segmento de texto correspondente a este carimbo de data/hora de áudio |
| timestamp_type | cadeia | O tipo de carimbo de data/hora, atualmente, há suporte apenas para "word" |
response.audio_timestamp.done
Enviado quando a geração do carimbo de data/hora de áudio é concluída.
Estrutura de eventos
{
"type": "response.audio_timestamp.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio_timestamp.done. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
response.animation_viseme.delta
O evento do servidor response.animation_viseme.delta é retornado quando o modelo gera dados de viseme de animação como parte de uma resposta. Esse evento fornece dados incrementais do viseme à medida que ficam disponíveis.
Estrutura de eventos
{
"type": "response.animation_viseme.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"viseme_id": 1
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.animation_viseme.delta. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
| audio_offset_ms | inteiro | Deslocamento de áudio em milissegundos desde o início do áudio |
| viseme_id | inteiro | A ID do viseme correspondente à forma da boca para animação |
response.animation_viseme.done
O evento do servidor response.animation_viseme.done é retornado quando o modelo termina de gerar dados de viseme de animação como parte de uma resposta.
Estrutura de eventos
{
"type": "response.animation_viseme.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.animation_viseme.done. |
| response_id | cadeia | ID da resposta |
| item_id | cadeia | ID do item |
| output_index | inteiro | Índice do item na resposta |
| content_index | inteiro | Índice da parte de conteúdo |
O evento do servidor response.animation_viseme.delta é retornado quando o modelo gera dados de viseme de animação como parte de uma resposta. Esse evento fornece dados incrementais do viseme à medida que ficam disponíveis.
erro
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.
Estrutura de eventos
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser error. |
| erro | objeto | Detalhes do erro. Consulte as propriedades aninhadas na próxima tabela. |
Propriedades de erro
| Campo | 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. |
input_audio_buffer.cleared
O evento do servidor input_audio_buffer.cleared é retornado quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear evento.
Estrutura de eventos
{
"type": "input_audio_buffer.cleared"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser input_audio_buffer.cleared. |
input_audio_buffer.committed
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.
Estrutura de eventos
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Propriedades
| Campo | 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. |
input_audio_buffer.speech_started
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).
Observação
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.
Estrutura de eventos
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Propriedades
| Campo | 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. |
input_audio_buffer.speech_stopped
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.
Estrutura de eventos
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Propriedades
| Campo | 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. |
rate_limits.updated
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.
Estrutura de eventos
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser rate_limits.updated. |
| rate_limits | matriz de RealtimeRateLimitsItem | A lista de informações de limite de taxa. |
response.audio.delta
O evento do servidor response.audio.delta é retornado quando o áudio gerado pelo modelo é atualizado.
Estrutura de eventos
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
response.audio.done
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.
Estrutura de eventos
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
response.audio_transcript.delta
O evento do servidor response.audio_transcript.delta é retornado quando a transcrição gerada pelo modelo da saída de áudio é atualizada.
Estrutura de eventos
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio_transcript.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
response.audio_transcript.done
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.
Estrutura de eventos
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.audio_transcript.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
response.function_call_arguments.delta
O evento do servidor response.function_call_arguments.delta é retornado quando os argumentos de chamada de função gerados pelo modelo são atualizados.
Estrutura de eventos
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | 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. |
response.function_call_arguments.done
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.
Estrutura de eventos
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | 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. |
mcp_list_tools.in_progress
O evento do servidor mcp_list_tools.in_progress é retornado quando o serviço inicia a listagem de ferramentas disponíveis de um servidor mcp.
Estrutura de eventos
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser mcp_list_tools.in_progress. |
| item_id | cadeia | A ID do item de ferramentas de lista MCP que está sendo processado. |
mcp_list_tools.completed
O evento do servidor mcp_list_tools.completed é retornado quando o serviço conclui a listagem de ferramentas disponíveis de um servidor mcp.
Estrutura de eventos
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser mcp_list_tools.completed. |
| item_id | cadeia | A ID do item de ferramentas de lista MCP que está sendo processado. |
mcp_list_tools.falhou
O evento do servidor mcp_list_tools.failed é retornado quando o serviço falha ao listar as ferramentas disponíveis de um servidor mcp.
Estrutura de eventos
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser mcp_list_tools.failed. |
| item_id | cadeia | A ID do item de ferramentas de lista MCP que está sendo processado. |
response.mcp_call_arguments.delta
O evento do servidor response.mcp_call_arguments.delta é retornado quando os argumentos de chamada da ferramenta mcp gerados pelo modelo são atualizados.
Estrutura de eventos
{
"type": "response.mcp_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.mcp_call_arguments.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item de chamada da ferramenta mcp. |
| output_index | inteiro | O índice do item de saída na resposta. |
| delta | cadeia | Os argumentos delta como uma cadeia de caracteres JSON. |
response.mcp_call_arguments.done
O evento do servidor response.mcp_call_arguments.done é retornado quando os argumentos de chamada da ferramenta mcp gerados pelo modelo são feitos em streaming.
Estrutura de eventos
{
"type": "response.mcp_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.mcp_call_arguments.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | A ID do item de chamada da ferramenta mcp. |
| output_index | inteiro | O índice do item de saída na resposta. |
| arguments | cadeia | Os argumentos finais como uma cadeia de caracteres JSON. |
response.mcp_call.in_progress
O evento do servidor response.mcp_call.in_progress é retornado quando uma chamada de ferramenta MCP inicia o processamento.
Estrutura de eventos
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.mcp_call.in_progress. |
| item_id | cadeia | A ID do item de chamada da ferramenta mcp. |
| output_index | inteiro | O índice do item de saída na resposta. |
response.mcp_call.completed
O evento do servidor response.mcp_call.completed é retornado quando uma chamada de ferramenta MCP é concluída com êxito.
Estrutura de eventos
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.mcp_call.completed. |
| item_id | cadeia | A ID do item de chamada da ferramenta mcp. |
| output_index | inteiro | O índice do item de saída na resposta. |
response.mcp_call.falhou
O evento do servidor response.mcp_call.failed é retornado quando uma chamada de ferramenta MCP falha.
Estrutura de eventos
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.mcp_call.failed. |
| item_id | cadeia | A ID do item de chamada da ferramenta mcp. |
| output_index | inteiro | O índice do item de saída na resposta. |
response.output_item.adicionado
O evento do servidor response.output_item.added é retornado quando um novo item é criado durante a geração de resposta.
Estrutura de eventos
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
| Campo | 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. |
response.output_item.done
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.
Estrutura de eventos
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
| Campo | 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. |
response.text.delta
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.
Estrutura de eventos
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.text.delta. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
response.text.done
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.
Estrutura de eventos
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Propriedades
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo de evento deve ser response.text.done. |
| response_id | cadeia | A ID da resposta. |
| item_id | cadeia | O 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. |
Components
Formatos de áudio
RealtimeAudioFormat
Formato de áudio base usado para áudio de entrada.
Valores permitidos:
-
pcm16- Formato de áudio PCM de 16 bits -
g711_ulaw- Formato de áudio de lei do μ G.711 -
g711_alaw– Formato de áudio da lei A.711 G.711
RealtimeOutputAudioFormat
Formato de áudio usado para áudio de saída com taxas de amostragem específicas.
Valores permitidos:
-
pcm16- Formato de áudio PCM de 16 bits com taxa de amostragem padrão (24kHz) -
pcm16_8000hz- Formato de áudio PCM de 16 bits a taxa de amostragem de 8kHz -
pcm16_16000hz– Formato de áudio PCM de 16 bits a taxa de amostragem de 16kHz -
g711_ulaw- Formato de áudio de lei de μ (mu-law) da G.711 a taxa de amostragem de 8kHz -
g711_alaw– G.711 Formato de áudio de lei A a taxa de amostragem de 8kHz
RealtimeAudioInputTranscriptionSettings
Configuração para transcrição de áudio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia | O modelo de transcrição. Com suporte e gpt-realtimegpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe. gpt-4o-transcribe-diarizeCom suporte com todos os outros modelos e agentes: azure-speech |
| linguagem | cadeia | Código de idioma opcional em BCP-47 (por exemplo, en-US) ou ISO-639-1 (por exemplo, en), ou vários idiomas com detecção automática, (por exemplo, en,zh). |
| custom_speech | objeto | Configuração opcional para modelos de fala personalizados, válido apenas para azure-speech o modelo. |
| phrase_list | cadeia de caracteres[] | Lista opcional de dicas de frase para o reconhecimento de viés, válida apenas para azure-speech o modelo. |
| solicitação | cadeia | Texto de prompt opcional para orientar a transcrição, válido apenas para whisper-1, gpt-4o-transcribegpt-4o-mini-transcribe e gpt-4o-transcribe-diarize modelos. |
RealtimeInputAudioNoiseReductionSettings
Isso pode ser:
- Um objeto RealtimeOpenAINoiseReduction
- Um objeto RealtimeAzureDeepNoiseSuppression
RealtimeOpenAINoiseReduction
Configuração de redução de ruído openAI com campo de tipo explícito, disponível apenas para modelos e para gpt-realtimegpt-realtime-mini .
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia |
near_field ou far_field |
RealtimeAzureDeepNoiseSuppression
Configuração para redução de ruído de áudio de entrada.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure_deep_noise_suppression" |
RealtimeInputAudioEchoCancellationSettings
Configuração de cancelamento de eco para processamento de áudio do lado do servidor.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "server_echo_cancellation" |
Configuração de Voz
RealtimeVoice
União de todas as configurações de voz com suporte.
Isso pode ser:
- Um objeto RealtimeOpenAIVoice
- Um objeto RealtimeAzureVoice
RealtimeOpenAIVoice
Configuração de voz OpenAI com campo de tipo explícito.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "openai" |
| nome | cadeia | Nome de voz openAI: alloy, , ash, ballad, coral, echo, sage, shimmer, , verse, , marincedar |
RealtimeAzureVoice
Base para configurações de voz do Azure. Essa é uma união discriminada com tipos diferentes:
RealtimeAzureStandardVoice
Configuração de voz padrão do Azure.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure-standard" |
| nome | cadeia | Nome da voz (não pode estar vazio) |
| temperatura | número | Optional. Temperatura entre 0,0 e 1,0 |
| custom_lexicon_url | cadeia | Optional. URL para léxico personalizado |
| prefer_locales | cadeia de caracteres[] | Optional. Localidades preferenciais Preferir que as localidades alterem os acentos dos idiomas. Se o valor não estiver definido, o TTS usará acento padrão de cada idioma. Por exemplo, quando o TTS falar inglês, ele usará o sotaque inglês americano. E ao falar espanhol, usará o sotaque mexicano espanhol. Se definir o prefer_locales, ["en-GB", "es-ES"]o sotaque inglês será inglês britânico e o sotaque espanhol será espanhol europeu. E o TTS também pode falar outras línguas como francês, chinês, etc. |
| localidade | cadeia | Optional. Especificação de localidade Imponha a localidade para a saída do TTS. Se não estiver definido, o TTS sempre usará a localidade fornecida para falar. Por exemplo, definir a localidade como en-US, o TTS sempre usará o sotaque em inglês americano para falar o conteúdo do texto, até mesmo o conteúdo do texto está em outro idioma. E o TTS gerará silêncio se o conteúdo do texto estiver em chinês. |
| estilo | cadeia | Optional. Estilo de voz |
| campo | cadeia | Optional. Ajuste de pitch |
| taxa | cadeia | Optional. Ajuste de taxa de fala |
| volume | cadeia | Optional. Ajuste de volume |
RealtimeAzureCustomVoice
Configuração de voz personalizada do Azure (preferencial para vozes personalizadas).
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure-custom" |
| nome | cadeia | Nome da voz (não pode estar vazio) |
| endpoint_id | cadeia | ID do ponto de extremidade (não pode estar vazia) |
| temperatura | número | Optional. Temperatura entre 0,0 e 1,0 |
| custom_lexicon_url | cadeia | Optional. URL para léxico personalizado |
| prefer_locales | cadeia de caracteres[] | Optional. Localidades preferenciais Preferir que as localidades alterem os acentos dos idiomas. Se o valor não estiver definido, o TTS usará acento padrão de cada idioma. Por exemplo, quando o TTS falar inglês, ele usará o sotaque inglês americano. E ao falar espanhol, usará o sotaque mexicano espanhol. Se definir o prefer_locales, ["en-GB", "es-ES"]o sotaque inglês será inglês britânico e o sotaque espanhol será espanhol europeu. E o TTS também pode falar outras línguas como francês, chinês, etc. |
| localidade | cadeia | Optional. Especificação de localidade Imponha a localidade para a saída do TTS. Se não estiver definido, o TTS sempre usará a localidade fornecida para falar. Por exemplo, definir a localidade como en-US, o TTS sempre usará o sotaque em inglês americano para falar o conteúdo do texto, até mesmo o conteúdo do texto está em outro idioma. E o TTS gerará silêncio se o conteúdo do texto estiver em chinês. |
| estilo | cadeia | Optional. Estilo de voz |
| campo | cadeia | Optional. Ajuste de pitch |
| taxa | cadeia | Optional. Ajuste de taxa de fala |
| volume | cadeia | Optional. Ajuste de volume |
Exemplo:
{
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful",
"locale": "en-US"
}
RealtimeAzurePersonalVoice
Configuração de voz pessoal do Azure.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure-personal" |
| nome | cadeia | Nome da voz (não pode estar vazio) |
| temperatura | número | Optional. Temperatura entre 0,0 e 1,0 |
| modelo | cadeia | Modelo neural subjacente: DragonLatestNeural, , PhoenixLatestNeuralPhoenixV2Neural |
| custom_lexicon_url | cadeia | Optional. URL para léxico personalizado |
| prefer_locales | cadeia de caracteres[] | Optional. Localidades preferenciais Preferir que as localidades alterem os acentos dos idiomas. Se o valor não estiver definido, o TTS usará acento padrão de cada idioma. Por exemplo, quando o TTS falar inglês, ele usará o sotaque inglês americano. E ao falar espanhol, usará o sotaque mexicano espanhol. Se definir o prefer_locales, ["en-GB", "es-ES"]o sotaque inglês será inglês britânico e o sotaque espanhol será espanhol europeu. E o TTS também pode falar outras línguas como francês, chinês, etc. |
| localidade | cadeia | Optional. Especificação de localidade Imponha a localidade para a saída do TTS. Se não estiver definido, o TTS sempre usará a localidade fornecida para falar. Por exemplo, definir a localidade como en-US, o TTS sempre usará o sotaque em inglês americano para falar o conteúdo do texto, até mesmo o conteúdo do texto está em outro idioma. E o TTS gerará silêncio se o conteúdo do texto estiver em chinês. |
| campo | cadeia | Optional. Ajuste de pitch |
| taxa | cadeia | Optional. Ajuste de taxa de fala |
| volume | cadeia | Optional. Ajuste de volume |
Detecção de turnos
RealtimeTurnDetection
Configuração para detecção de turnos. Essa é uma união discriminada que dá suporte a vários tipos de VAD.
RealtimeServerVAD
Detecção de turno baseada em VAD base.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "server_vad" |
| limite | número | Optional. Limite de ativação (0.0-1.0) |
| prefix_padding_ms | inteiro | Optional. Preenchimento de áudio antes do início da fala |
| silence_duration_ms | inteiro | Optional. Duração do silêncio para detectar o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuração de detecção de fim de enunciado |
| criar_resposta | boolean | Optional. Habilite ou desabilite se uma resposta é gerada. |
| interrupt_response | boolean | Optional. Habilitar ou desabilitar a interrupção da barcaça (padrão: false) |
| auto_truncate | boolean | Optional. Truncar automaticamente na interrupção (padrão: false) |
RealtimeOpenAISemanticVAD
Configuração de VAD semântica do OpenAI que usa um modelo para determinar quando o usuário terminou de falar. Disponível somente para modelos e gpt-realtime para gpt-realtime-mini modelos.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "semantic_vad" |
| entusiasmo | cadeia | Optional. Essa é uma maneira de controlar o quão ansioso o modelo está para interromper o usuário, ajustando o tempo limite máximo de espera. No modo de transcrição, mesmo que o modelo não responda, ele afeta a forma como o áudio é agrupado. Os seguintes valores são permitidos: - auto (padrão) é equivalente a medium,- low permitirá que o usuário tire seu tempo para falar,- high dividirá o áudio assim que possível.Se você quiser que o modelo responda com mais frequência no modo de conversa ou retorne eventos de transcrição mais rapidamente no modo de transcrição, você pode definir a ânsia como high.Por outro lado, se você quiser permitir que o usuário fale ininterruptamente no modo de conversa ou se quiser partes de transcrição maiores no modo de transcrição, poderá definir a ânsia lowcomo . |
| criar_resposta | boolean | Optional. Habilite ou desabilite se uma resposta é gerada. |
| interrupt_response | boolean | Optional. Habilitar ou desabilitar a interrupção da barcaça (padrão: false) |
RealtimeAzureSemanticVAD
VAD semântico do Azure, que determina quando o usuário inicia e fala usando um modelo de fala semântica, fornecendo uma detecção mais robusta em ambientes barulhentos.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure_semantic_vad" |
| limite | número | Optional. Limite de ativação |
| prefix_padding_ms | inteiro | Optional. Preenchimento de áudio antes da fala |
| silence_duration_ms | inteiro | Optional. Duração do silêncio para o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuração de detecção de EOU |
| speech_duration_ms | inteiro | Optional. Duração mínima da fala |
| remove_filler_words | boolean | Optional. Remover palavras de preenchimento (padrão: false) |
| idiomas | cadeia de caracteres[] | Optional. Dá suporte a inglês. Outros idiomas serão ignorados. |
| criar_resposta | boolean | Optional. Habilite ou desabilite se uma resposta é gerada. |
| interrupt_response | boolean | Optional. Habilitar ou desabilitar a interrupção da barcaça (padrão: false) |
| auto_truncate | boolean | Optional. Truncar automaticamente na interrupção (padrão: false) |
RealtimeAzureSemanticVADMultilingual
VAD semântico do Azure (variante padrão).
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "azure_semantic_vad_multilingual" |
| limite | número | Optional. Limite de ativação |
| prefix_padding_ms | inteiro | Optional. Preenchimento de áudio antes da fala |
| silence_duration_ms | inteiro | Optional. Duração do silêncio para o fim da fala |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuração de detecção de EOU |
| speech_duration_ms | inteiro | Optional. Duração mínima da fala |
| remove_filler_words | boolean | Optional. Remova palavras de preenchimento (padrão: false). |
| idiomas | cadeia de caracteres[] | Optional. Dá suporte a inglês, espanhol, francês, italiano, alemão (DE), japonês, português, chinês, coreano, hindi. Outros idiomas serão ignorados. |
| criar_resposta | boolean | Optional. Habilite ou desabilite se uma resposta é gerada. |
| interrupt_response | boolean | Optional. Habilitar ou desabilitar a interrupção da barcaça (padrão: false) |
| auto_truncate | boolean | Optional. Truncar automaticamente na interrupção (padrão: false) |
RealtimeEOUDetection
O EOU (Fim do Enunciado) do Azure pode indicar quando o usuário final parou de falar enquanto permitia pausas naturais. A detecção do fim do enunciado pode reduzir significativamente os sinais prematuros de fim de turno sem adicionar latência perceptível ao usuário.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia | Poderia estar semantic_detection_v1 apoiando inglês ou semantic_detection_v1_multilingual apoiando inglês, espanhol, francês, italiano, alemão (DE), japonês, português, chinês, coreano, hindi |
| threshold_level | cadeia | Optional. Nível de limite de detecção (low, mediumhighe default), a configuração padrão é medium igual a. Com uma configuração mais baixa, a probabilidade de a sentença ser concluída será maior. |
| tempo_de_espera_ms | número | Optional. Tempo máximo em milissegundos para aguardar mais fala do usuário. O padrão é 1000 ms. |
Configuração do Avatar
RealtimeAvatarConfig
Configuração para streaming e comportamento de avatar.
| Campo | Tipo | Description |
|---|---|---|
| ice_servers | RealtimeIceServer[] | Optional. Servidores ICE para WebRTC |
| caractere | cadeia | Nome ou ID do caractere para o avatar |
| estilo | cadeia | Optional. Estilo avatar (tom emocional, estilo de fala) |
| Personalizado | boolean | Se o avatar está personalizado |
| vídeo | RealtimeVideoParams | Optional. Configuração de vídeo |
RealtimeIceServer
Configuração do servidor ICE para negociação de conexão webRTC.
| Campo | Tipo | Description |
|---|---|---|
| urls | cadeia de caracteres[] | URLs do servidor ICE (pontos de extremidade TURN ou STUN) |
| nome de usuário | cadeia | Optional. Nome de usuário para autenticação |
| credencial | cadeia | Optional. Credencial para autenticação |
RealtimeVideoParams
Parâmetros de streaming de vídeo para avatar.
| Campo | Tipo | Description |
|---|---|---|
| taxa de bits | inteiro | Optional. Taxa de bits em bits por segundo (padrão: 2000000) |
| codec | cadeia | Optional. Codec de vídeo, atualmente apenas h264 (padrão: h264) |
| cortar | RealtimeVideoCrop | Optional. Configurações de corte |
| resolução | RealtimeVideoResolution | Optional. Configurações de resolução |
RealtimeVideoCrop
Definição de retângulo de corte de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| top_left | inteiro[] | Canto superior esquerdo [x, y], inteiros não negativos |
| bottom_right | inteiro[] | Canto inferior direito [x, y], inteiros não negativos |
RealtimeVideoResolution
Especificação de resolução de vídeo.
| Campo | Tipo | Description |
|---|---|---|
| largura | inteiro | Largura em pixels (deve ser > 0) |
| height | inteiro | Altura em pixels (deve ser > 0) |
Configuração de animação
RealtimeAnimation
Configuração para saídas de animação, incluindo blendshapes e visemes.
| Campo | Tipo | Description |
|---|---|---|
| model_name | cadeia | Optional. Nome do modelo de animação (padrão: "default") |
| saídas | RealtimeAnimationOutputType[] | Optional. Tipos de saída (padrão: ["blendshapes"]) |
RealtimeAnimationOutputType
Tipos de dados de animação para saída.
Valores permitidos:
-
blendshapes- Dados de blendshapes faciais -
viseme_id– Dados do identificador do Viseme
Configuração da sessão
RealtimeRequestSession
Objeto de configuração de sessão usado em session.update eventos.
| Campo | Tipo | Description |
|---|---|---|
| modelo | cadeia | Optional. Nome do modelo a ser usado |
| modalities | RealtimeModality[] | Optional. As modalidades com suporte para a sessão. Por exemplo, "modalidades": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalidades": ["text"]. Para habilitar a saída do avatar, defina "modalidades": ["text", "audio", "avatar"]. Você não pode habilitar apenas o áudio. |
| animação | RealtimeAnimation | Optional. Configuração de animação |
| Voz | RealtimeVoice | Optional. Configuração de voz |
| instructions | cadeia | Optional. Instruções do sistema para o modelo. As instruções podem orientar o áudio de saída se as vozes OpenAI forem usadas, mas não se aplicarem às vozes do Azure. |
| input_audio_sampling_rate | inteiro | Optional. Taxa de amostragem de áudio de entrada em Hz (padrão: 24000 para pcm16, 8000 para g711_ulaw e g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Formato de áudio de entrada (padrão: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Formato de áudio de saída (padrão: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Configuração para redução de ruído de áudio de entrada. Isso pode ser definido como 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 a precisão do VAD e da detecção de turnos (reduzindo falsos positivos) e o desempenho do modelo ao aprimorar a percepção do áudio de entrada. Essa propriedade é anulável. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Configuração para cancelamento de eco de áudio de entrada. Isso pode ser definido como nulo para desativar. Esse cancelamento de eco do lado do serviço pode ajudar a melhorar a qualidade do áudio de entrada reduzindo o impacto do eco e da reverberação. 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. Isso pode ser definido como nulo para desativar. |
| Ferramentas | 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. |
| temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída 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".Usa "inf" como padrão. |
| Avatar | RealtimeAvatarConfig | Optional. Configuração do avatar |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Tipos de carimbo de data/hora para áudio de saída |
RealtimeModality
Modalidades de sessão com suporte.
Valores permitidos:
-
text- Entrada/saída de texto -
audio- Entrada/saída de áudio -
animation- Saída de animação -
avatar- Saída de vídeo do avatar
RealtimeAudioTimestampType
Tipos de carimbo de data/hora de saída com suporte no conteúdo de resposta de áudio.
Valores permitidos:
-
word- Carimbos de data/hora por palavra no áudio de saída
Configuração da ferramenta
Oferecemos suporte a dois tipos de ferramentas: chamada de função e ferramentas MCP que permitem que você se conecte a um servidor mcp.
RealtimeTool
Definição de ferramenta para chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "function" |
| nome | cadeia | Nome da função |
| descrição | cadeia | Descrição da função e diretrizes de uso |
| parameters | objeto | Parâmetros de função como objeto de esquema JSON |
RealtimeToolChoice
Estratégia de seleção de ferramentas.
Isso pode ser:
-
"auto"- Deixe o modelo escolher -
"none"- Não use ferramentas -
"required"- Deve usar uma ferramenta -
{ "type": "function", "name": "function_name" }– Usar uma função específica
MCPTool
Configuração da ferramenta MCP.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "mcp" |
| etiqueta_do_servidor | cadeia | Obrigatório O rótulo do servidor MCP. |
| URL_do_servidor | cadeia | Obrigatório A URL do servidor MCP. |
| ferramentas_permitidas | cadeia de caracteres[] | Optional. A lista de nomes de ferramentas permitidos. Se não for especificado, todas as ferramentas serão permitidas. |
| headers | objeto | Optional. Cabeçalhos adicionais a serem incluídos em solicitações MCP. |
| autorização | cadeia | Optional. Token de autorização para solicitações MCP. |
| requer_aprovação | cadeia de caracteres ou dicionário | Optional. Se definido como uma cadeia de caracteres, o valor deve ser never ou always. Se definido como um dicionário, ele deve estar no formato {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}. O valor padrão é always. Quando definido como always, a execução da ferramenta requer aprovação, mcp_approval_request será enviado ao cliente quando o argumento mcp for concluído e só será executado quando mcp_approval_response com approve=true for recebido. Quando definido como never, a ferramenta será executada automaticamente sem aprovação. |
RealtimeConversationResponseItem
Esse é um tipo de união que pode ser um dos seguintes:
RealtimeConversationUserMessageItem
Item de mensagem do usuário.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "message" |
| objeto | cadeia | Deve ser "conversation.item" |
| função | cadeia | Deve ser "user" |
| conteúdo | RealtimeInputTextContentPart | O conteúdo da mensagem. |
| status | RealtimeItemStatus | A situação do item. |
RealtimeConversationAssistantMessageItem
Item de mensagem do assistente.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "message" |
| objeto | cadeia | Deve ser "conversation.item" |
| função | cadeia | Deve ser "assistant" |
| conteúdo | RealtimeOutputTextContentPart[] ou RealtimeOutputAudioContentPart[] | O conteúdo da mensagem. |
| status | RealtimeItemStatus | A situação do item. |
RealtimeConversationSystemMessageItem
Item de mensagem do sistema.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "message" |
| objeto | cadeia | Deve ser "conversation.item" |
| função | cadeia | Deve ser "system" |
| conteúdo | RealtimeInputTextContentPart[] | O conteúdo da mensagem. |
| status | RealtimeItemStatus | A situação do item. |
RealtimeConversationFunctionCallItem
Item de solicitação de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "function_call" |
| objeto | cadeia | Deve ser "conversation.item" |
| nome | cadeia | O nome da função a ser chamada. |
| arguments | cadeia | Os argumentos para a função chamam como uma cadeia de caracteres JSON. |
| call_id | cadeia | A ID exclusiva da chamada de função. |
| status | RealtimeItemStatus | A situação do item. |
RealtimeConversationFunctionCallOutputItem
Item de resposta de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "function_call_output" |
| objeto | cadeia | Deve ser "conversation.item" |
| nome | cadeia | O nome da função que foi chamada. |
| saída | cadeia | A saída da chamada de função. |
| call_id | cadeia | A ID exclusiva da chamada de função. |
| status | RealtimeItemStatus | A situação do item. |
RealtimeConversationMCPListToolsItem
Item de resposta de ferramentas de lista MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "mcp_list_tools" |
| etiqueta_do_servidor | cadeia | O rótulo do servidor MCP. |
RealtimeConversationMCPCallItem
Item de resposta de chamada MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "mcp_call" |
| etiqueta_do_servidor | cadeia | O rótulo do servidor MCP. |
| nome | cadeia | O nome da ferramenta a ser chamada. |
| approval_request_id | cadeia | A ID da solicitação de aprovação para a chamada do MCP. |
| arguments | cadeia | Os argumentos para a chamada do MCP. |
| saída | cadeia | A saída da chamada MCP. |
| erro | objeto | O erro detalha se a chamada mcp falhou. |
RealtimeConversationMCPApprovalRequestItem
Item de solicitação de aprovação do MCP.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | A ID exclusiva do item. |
| tipo | cadeia | Deve ser "mcp_approval_request" |
| etiqueta_do_servidor | cadeia | O rótulo do servidor MCP. |
| nome | cadeia | O nome da ferramenta a ser chamada. |
| arguments | cadeia | Os argumentos para a chamada do MCP. |
RealtimeItemStatus
Status dos itens de conversa.
Valores permitidos:
-
in_progress- Atualmente sendo processado -
completed- Concluído com êxito -
incomplete- Incompleto (interrompido ou com falha)
RealtimeContentPart
Parte do conteúdo dentro de uma mensagem.
RealtimeInputTextContentPart
Parte do conteúdo do texto.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "input_text" |
| enviar SMS | cadeia | O conteúdo do texto |
RealtimeOutputTextContentPart
Parte do conteúdo do texto.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "text" |
| enviar SMS | cadeia | O conteúdo do texto |
RealtimeInputAudioContentPart
Parte do conteúdo de áudio.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "input_audio" |
| audio | cadeia | Optional. Dados de áudio codificados em Base64 |
| transcrição | cadeia | Optional. Transcrição de áudio |
RealtimeOutputAudioContentPart
Parte do conteúdo de áudio.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Deve ser "audio" |
| audio | cadeia | Dados de áudio codificados em Base64 |
| transcrição | cadeia | Optional. Transcrição de áudio |
Objetos de resposta
RealtimeResponse
Objeto de resposta que representa uma resposta de inferência de modelo.
| Campo | Tipo | Description |
|---|---|---|
| id | cadeia | Optional. ID de resposta |
| objeto | cadeia | Optional. Sempre "realtime.response" |
| status | RealtimeResponseStatus | Optional. Status da resposta |
| detalhes_do_status | RealtimeResponseStatusDetails | Optional. Detalhes do status |
| saída | RealtimeConversationResponseItem[] | Optional. Itens de saída |
| uso | RealtimeUsage | Optional. Estatísticas de uso de token |
| conversation_id | cadeia | Optional. ID da conversa associada |
| Voz | RealtimeVoice | Optional. Voz usada para resposta |
| modalities | cadeia de caracteres[] | Optional. Modalidades usadas |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Formato de áudio usado |
| temperatura | número | Optional. Temperatura usada |
| max_response_output_tokens | inteiro ou "inf" | Optional. Tokens máximos usados |
RealtimeResponseStatus
Valores de status de resposta.
Valores permitidos:
-
in_progress- A resposta está sendo gerada -
completed- Resposta concluída com êxito -
cancelled- A resposta foi cancelada -
incomplete- Resposta incompleta (interrompida) -
failed- Falha na resposta com erro
RealtimeUsage
Estatísticas de uso de token.
| Campo | Tipo | Description |
|---|---|---|
| total_tokens | inteiro | Total de tokens usados |
| input_tokens | inteiro | Tokens de entrada usados |
| output_tokens | inteiro | Tokens de saída gerados |
| input_token_details | TokenDetails | Divisão de tokens de entrada |
| output_token_details | TokenDetails | Divisão de tokens de saída |
TokenDetails
Detalhamento do uso do token.
| Campo | Tipo | Description |
|---|---|---|
| cached_tokens | inteiro | Optional. Tokens armazenados em cache usados |
| text_tokens | inteiro | Optional. Tokens de texto usados |
| audio_tokens | inteiro | Optional. Tokens de áudio usados |
Tratamento de erros
RealtimeErrorDetails
Objeto de informações de erro.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | Tipo de erro (por exemplo, "invalid_request_error", "server_error") |
| codificar | cadeia | Optional. Código de erro específico |
| mensagem | cadeia | Descrição do erro legível por humanos |
| param | cadeia | Optional. Parâmetro relacionado ao erro |
| event_id | cadeia | Optional. ID do evento cliente que causou o erro |
RealtimeConversationRequestItem
Use o RealtimeConversationRequestItem objeto para criar um novo item na conversa por meio do evento conversation.item.create .
Esse é um tipo de união que pode ser um dos seguintes:
RealtimeSystemMessageItem
Um item de mensagem do sistema.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| função | cadeia | A função da mensagem. Valores permitidos: system |
| conteúdo | matriz de RealtimeInputTextContentPart | O conteúdo da mensagem. |
| 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. |
RealtimeUserMessageItem
Um item de mensagem do usuário.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| função | cadeia | A função da mensagem. Valores permitidos: user |
| conteúdo | matriz de RealtimeInputTextContentPart ou RealtimeInputAudioContentPart | O conteúdo da mensagem. |
| 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. |
RealtimeAssistantMessageItem
Um item de mensagem do assistente.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: message |
| função | cadeia | A função da mensagem. Valores permitidos: assistant |
| conteúdo | matriz de RealtimeOutputTextContentPart | O conteúdo da mensagem. |
RealtimeFunctionCallItem
Um item de chamada de função.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call |
| nome | cadeia | O nome da função a ser chamada. |
| arguments | cadeia | Os argumentos da função chamam como uma cadeia de caracteres JSON. |
| call_id | cadeia | A ID do item de chamada de função. |
| 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. |
RealtimeFunctionCallOutputItem
Um item de saída de chamada de função.
| Campo | 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 da chamada de função, essa é uma cadeia de caracteres de forma livre com o resultado da função, também pode estar vazia. |
| id | cadeia | A ID exclusiva do item. Se o cliente não fornecer uma ID, o servidor gerará uma. |
RealtimeMCPApprovalResponseItem
Um item de resposta de aprovação do MCP.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: mcp_approval_response |
| aprovar | boolean | Se a solicitação MCP foi aprovada. |
| approval_request_id | cadeia | A ID da solicitação de aprovação do MCP. |
RealtimeFunctionTool
A definição de uma ferramenta de função, conforme usado pelo ponto de extremidade em tempo real.
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo da ferramenta. Valores permitidos: function |
| nome | cadeia | O nome da função. |
| descrição | 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
Valores permitidos:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Campo | 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. |
RealtimeResponseFunctionCallItem
| Campo | Tipo | Description |
|---|---|---|
| tipo | cadeia | O tipo do item. Valores permitidos: function_call |
| nome | 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 | A situação do item. |
RealtimeResponseFunctionCallOutputItem
| Campo | 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. |
RealtimeResponseOptions
| Campo | 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 do modelo. |
| Voz | 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. |
| Ferramentas | 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. |
| temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída 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".Usa "inf" como padrão. |
| 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. Usa como padrão "auto" |
| metadados | mapa | Configure até 16 pares chave-valor que podem ser anexados a um objeto. Este poderá 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" } |
RealtimeResponseSession
O RealtimeResponseSession objeto representa uma sessão na API realtime. Ele é usado em alguns dos eventos do servidor, como:
| Campo | 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. |
| Voz | 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_sampling_rate | inteiro | A taxa de amostragem do áudio de entrada. |
| 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. |
| Ferramentas | 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. |
| temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
| max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída 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". |
RealtimeResponseStatusDetails
| Campo | Tipo | Description |
|---|---|---|
| tipo | RealtimeResponseStatus | O status da resposta. |
RealtimeRateLimitsItem
| Campo | Tipo | Description |
|---|---|---|
| nome | 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 | número | O tempo restante, em segundos, até que essa propriedade de limite de taxa seja redefinida. |
Recursos relacionados
- Experimente o início rápido ao vivo do Voice
- Experimente o início rápido de agentes de voz ao vivo
- Saiba mais sobre como usar a API ao vivo do Voice