Referência de eventos do cliente para a Qwen-Audio Realtime API.
Guia do usuário: Chat de áudio em tempo real (Qwen-Audio-Realtime). Para sequências de interação de eventos, consulte API WebSocket.
Descrição: Após estabelecer a conexão, envie este evento para atualizar a configuração padrão da sessão. Inclua apenas os campos que deseja alterar; os campos omitidos mantêm seus valores atuais. Se algum parâmetro for inválido, o servidor retorna um erro. Caso todos sejam válidos, o servidor aplica as alterações e retorna a configuração completa.
Descrição: Adiciona dados de áudio ao buffer de entrada. Envie este evento continuamente em alta frequência — por exemplo, um bloco a cada 20–40 ms. O servidor não envia confirmação para este evento.
Descrição: Apenas modo push-to-talk. Confirma o áudio armazenado no buffer como uma mensagem do usuário. Isso não aciona a inferência automaticamente. Envie
Descrição: Apenas modo push-to-talk. Limpa o áudio não confirmado do buffer. Este evento é ignorado nos modos server_vad e smart_turn. O servidor responde com um evento
Descrição: Insere um item de conversa no contexto da conversa. Use este evento para injetar contexto histórico, adicionar conteúdo de texto ou retornar resultados de Function Calling.
Descrição: Recupera um item de conversa armazenado no servidor. O conteúdo do tipo áudio na resposta contém apenas a transcrição (
Descrição: Exclui um item de conversa do contexto da conversa. O servidor confirma a exclusão com um evento
Descrição: Aciona a inferência do modelo. O comportamento varia conforme o modo:
Descrição: Cancela a inferência atual. Qualquer texto gerado até o momento é salvo na lista de itens. O servidor então retorna um evento
session.update
Descrição: Após estabelecer a conexão, envie este evento para atualizar a configuração padrão da sessão. Inclua apenas os campos que deseja alterar; os campos omitidos mantêm seus valores atuais. Se algum parâmetro for inválido, o servidor retorna um erro. Caso todos sejam válidos, o servidor aplica as alterações e retorna a configuração completa.
turn_detection só pode ser modificado antes do envio do primeiro áudio (estado IDLE).typestring(obrigatório)Tipo de evento. Valor fixo: session.update. | |
sessionobject (opcional)Configuração da sessão.
Propriedades modalities array (opcional)Modalidades de saída do modelo. Valores válidos:
string (opcional)Nome da voz TTS. Padrão: longanqian. Dois tipos são suportados. Defina apenas no primeiro session.update; chamadas subsequentes ignoram este campo.
string (opcional)Instruções do sistema que definem a função do modelo, o estilo de resposta e as preferências comportamentais. Aplica-se a toda a sessão.input_audio_formatstring (opcional)Formato de áudio de entrada. Atualmente, apenas pcm (16 kHz, 16 bits, mono) é suportado e corresponde ao padrão. Modifique apenas antes do envio do primeiro áudio (estado IDLE).output_audio_formatstring (opcional)Formato de áudio de saída. Atualmente, apenas pcm (24 kHz, 16 bits, mono) é suportado e corresponde ao padrão.max_history_turnsinteger (opcional)Número máximo de turnos de conversa (pares pergunta-resposta) incluídos em uma única solicitação. Valores válidos: 1 a 50. Padrão: 20.toolsarray (opcional)Definições de ferramentas para Function Calling. Após a configuração, o modelo decide se deve chamar uma ferramenta com base na entrada do usuário.
Propriedades type string(obrigatório)Valor fixo: function.function.namestring(obrigatório)Nome da função da ferramenta.function.descriptionstring (opcional)Descrição da função da ferramenta. O modelo usa esta informação para determinar se deve chamar a ferramenta.function.parametersobject (opcional)Descrição dos parâmetros de entrada da função da ferramenta. O modelo utiliza isso para extrair os parâmetros necessários. Omita este campo se a função não aceitar parâmetros.
Propriedades type string(obrigatório)Valor fixo: object.propertiesobject (opcional)Descreve o nome, o tipo de dados e a descrição de cada parâmetro.requiredarray (opcional)Especifica quais parâmetros são obrigatórios.object|null (opcional)Configuração de detecção de turno. Para alternar para o modo push-to-talk, defina este campo como null. No modo push-to-talk, confirme o áudio manualmente e acione a inferência manualmente. Se este campo não for fornecido, o VAD será ativado com seus parâmetros padrão.
Propriedades type string (opcional)Tipo de VAD. Valores válidos:
float (opcional)Sensibilidade do VAD. Efetivo apenas no modo server_vad (ignorado no modo smart_turn). Valores menores aumentam a sensibilidade do VAD, facilitando a detecção de sons fracos (incluindo ruído de fundo) como fala. Valores maiores diminuem a sensibilidade, exigindo uma fala mais clara e alta para acionar a detecção.Intervalo: [-1,0, 1,0]. Padrão: 0,5.silence_duration_msinteger (opcional)Duração mínima do silêncio (em milissegundos) após o término da fala antes de acionar uma resposta do modelo. Efetivo apenas no modo server_vad (ignorado no modo smart_turn). Valores menores produzem respostas mais rápidas, mas podem causar acionamentos falsos durante pausas breves.Intervalo: [200, 6000]. Padrão: 800. Intervalo recomendado para conversas: 400-800.voiceprint_audio_urlsarray (opcional)Efetivo apenas no modo smart_turn. Lista de URLs publicamente acessíveis que apontam para amostras de áudio pré-gravadas do usuário-alvo, usadas para aprimoramento do falante. Após o registro, o modelo foca no falante-alvo durante conversas duplex, ignorando efetivamente outras vozes e ruídos de fundo. Máximo de 5 URLs. Requisitos de formato de áudio: PCM ou WAV de 16 kHz. |
input_audio_buffer.append
Descrição: Adiciona dados de áudio ao buffer de entrada. Envie este evento continuamente em alta frequência — por exemplo, um bloco a cada 20–40 ms. O servidor não envia confirmação para este evento.
typestring(obrigatório)Tipo de evento. Valor fixo: input_audio_buffer.append. | |
audiostring(obrigatório)Dados de áudio codificados em Base64. |
input_audio_buffer.commit
Descrição: Apenas modo push-to-talk. Confirma o áudio armazenado no buffer como uma mensagem do usuário. Isso não aciona a inferência automaticamente. Envie response.create para acionar a inferência manualmente.
Este evento é ignorado nos modos server_vad e smart_turn.
typestring(obrigatório)Tipo de evento. Valor fixo: input_audio_buffer.commit. |
input_audio_buffer.clear
Descrição: Apenas modo push-to-talk. Limpa o áudio não confirmado do buffer. Este evento é ignorado nos modos server_vad e smart_turn. O servidor responde com um evento input_audio_buffer.cleared.
typestring(obrigatório)Tipo de evento. Valor fixo: input_audio_buffer.clear. |
conversation.item.create
Descrição: Insere um item de conversa no contexto da conversa. Use este evento para injetar contexto histórico, adicionar conteúdo de texto ou retornar resultados de Function Calling.
Se
item.id já existir na conversa, o servidor retorna um erro e não cria o item.typestring(obrigatório)Tipo de evento. Valor fixo: conversation.item.create. | Injetar uma mensagem de texto do usuário: |
previous_item_idstring (opcional)Especifica o item de conversa após o qual inserir o novo item. Se não fornecido, o item será anexado ao final da conversa. | |
itemobject(obrigatório)O item de conversa a ser criado.
Propriedades id string (opcional)Identificador exclusivo para o item de conversa. Se não fornecido, o servidor gera um automaticamente. O servidor retorna um erro se o ID especificado já existir na conversa.typestring(obrigatório)Tipo de item de conversa. Valores válidos:
string (obrigatório para o tipo message)Função da mensagem. Valores válidos: system, user, assistant.contentarray (obrigatório para o tipo message)Lista de elementos de conteúdo da mensagem. Cada elemento contém um campo type e os campos de dados correspondentes.
Tipos de conteúdo suportados por função system input_text: Mensagem do sistema. Campo obrigatório: text.user
output_text: Saída de texto do assistente. Campo obrigatório: text.string (obrigatório para o tipo function_call / function_call_output)Identificador exclusivo para a chamada de função, usado para correlacionar solicitações e resultados.namestring (obrigatório para o tipo function_call)Nome da função a ser chamada.argumentsstring (obrigatório para o tipo function_call)Parâmetros da chamada de função no formato de string json.outputstring (obrigatório para o tipo function_call_output)Resultado da execução da ferramenta no formato de string json. |
conversation.item.retrieve
Descrição: Recupera um item de conversa armazenado no servidor. O conteúdo do tipo áudio na resposta contém apenas a transcrição (transcript), não os dados de áudio originais.
typestring(obrigatório)Tipo de evento. Valor fixo: conversation.item.retrieve. | |
item_idstring(obrigatório)ID do item de conversa a recuperar. O servidor retorna o resultado em um evento conversation.item.retrieved. |
conversation.item.delete
Descrição: Exclui um item de conversa do contexto da conversa. O servidor confirma a exclusão com um evento conversation.item.deleted.
typestring(obrigatório)Tipo de evento. Valor fixo: conversation.item.delete. | |
item_idstring(obrigatório)ID do item de conversa a excluir. |
response.create
Descrição: Aciona a inferência do modelo. O comportamento varia conforme o modo:
- Modo push-to-talk: Chame manualmente. Confirme o áudio no buffer com
input_audio_buffer.commitprimeiro, ou retorne um resultadofunction_call_outputantes de acionar. Não chame enquanto uma resposta estiver sendo gerada. - Modo server_vad: Normalmente acionado automaticamente pelo servidor. Os clientes também podem chamá-lo manualmente quando nenhuma resposta estiver sendo gerada. Não chame enquanto uma resposta estiver sendo gerada.
- Modo smart_turn: Pode ser chamado enquanto se aguarda o próximo turno do usuário. Não chame durante um turno ativo (entre
input_audio_buffer.speech_startederesponse.done).
response substitui os padrões da sessão para a rodada de inferência atual. Em cenários de Function Calling, após o cliente retornar um function_call_output, este evento aciona a segunda rodada de inferência.
Nos modos server_vad e smart_turn, inferências acionadas manualmente ainda podem ser interrompidas por nova fala.
typestring(obrigatório)Tipo de evento. Valor fixo: response.create. | |
responseobject (opcional)Substitui os padrões da sessão para a rodada de inferência atual. Se não fornecido, a configuração atual da sessão será usada.
Propriedades modalities array (opcional)Substitui as modalidades de saída para a rodada atual. Os valores válidos são os mesmos de session.update modalities.voicestring (opcional)Substitui a voz TTS para a rodada atual. |
response.cancel
Descrição: Cancela a inferência atual. Qualquer texto gerado até o momento é salvo na lista de itens. O servidor então retorna um evento response.done com status=cancelled.
O servidor retorna um erro se nenhuma inferência estiver em andamento.
typestring(obrigatório)Tipo de evento. Valor fixo: response.cancel. |