Eventos do cliente LiveTranslate
Referência do cliente WebSocket para o Qwen API de tradução audiovisual e de fala em tempo real, incluindo tipos de eventos, parâmetros e exemplos.
Referência: Tradução de discurso.
Conectar
Estabeleça uma conexão WebSocket para iniciar uma sessão. O servidor envia um session.created evento quando a conexão estiver pronta.
| Configuração | Valor |
|---|---|
| Ponto final | wss://maas.qwencloudapi.com/api-ws/v1/realtime |
| Parâmetro de consulta | model=qwen3.5-livetranslate-flash-realtime |
| Cabeçalho de autenticação | Authorization: Bearer $DASHSCOPE_API_KEY |
| Protocolo | Quadros de texto JSON |
URL completo:
wss://maas.qwencloudapi.com/api-ws/v1/realtime?model=qwen3.5-livetranslate-flash-realtime
sessão.atualização
Atualiza a configuração da sessão após a conexão. O servidor valida os parâmetros e retorna a configuração completa, ou um erro se algum valor for inválido.
Exemplo para qwen3.8-livetranslate-flash-realtime:
{
"type": "session.update",
"session": {
"output_modalities": [
"text",
"audio"
],
"translation": {
"language": "en"
}
}
}
Exemplo para qwen3.5-livetranslate-flash-realtime:
{
"event_id": "event_ToPZqeobitzUJnt3QqtWg",
"type": "session.update",
"session": {
"modalities": [
"text",
"audio"
],
"voice": "Tina",
"sample_rate": 16000,
"input_audio_format": "pcm",
"output_audio_format": "pcm",
"input_audio_transcription": {
"model": "qwen3-asr-flash-realtime",
"language": "zh"
},
"translation": {
"language": "en"
}
}
}
Exemplo com os idiomas de origem e de destino definidos como inglês e a saída de texto e áudio ignorada (não aplicável a qwen3.8-livetranslate-flash-realtime):
{
"event_id": "event_xxx",
"type": "session.update",
"session": {
"input_audio_transcription": {
"language": "en"
},
"translation": {
"language": "en",
"same_language_skip_options": {
"skip_text": true,
"skip_audio": true
}
}
}
}
Sempre "session.update".
Configuração da sessão.
Aplica-se a `qwen3.8-livetranslate-flash-realtime`. Modalidades de saída: `["text"]` apenas para texto ou `["text", "audio"]` para texto e áudio (padrão).
Aplica-se a `qwen3.8-livetranslate-flash-realtime`. Configuração de áudio.
Configuração de detecção de fala.
Valores válidos: `speaker_detection` (padrão, permite a diarização do alto-falante em tempo real) e `server_vad` (detecção de atividade de voz).
O limite de detecção. Fixado em `0.5` quando `speaker_detection` é usado.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Tipos de saída. Valores válidos:
- `["text"]` — Somente texto.
- `["text", "audio"]` (padrão) — Texto e áudio.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Voz para saída de áudio. Consulte [Vozes suportadas](/developer-guides/speech/omni-voice-list). Padrão: `Tina` para Qwen3.5-LiveTranslate-Flash-Realtime, ou `Cherry` para Qwen3-LiveTranslate-Flash-Realtime.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Para `qwen3.8-livetranslate-flash-realtime`, o ASR está sempre ativado e não pode ser desativado. As transcrições são gratuitas. Configurações de áudio de entrada.
Modelo de reconhecimento de fala. Quando definido, o servidor retorna o texto do idioma de origem por meio `conversation.item.input_audio_transcription.text` e `conversation.item.input_audio_transcription.completed` eventos.
Valor válido: `qwen3-asr-flash-realtime`.
Idioma de origem. Consulte [Idiomas suportados](/developer-guides/speech/realtime-translation#supported-languages). Se não for especificado, o modelo detecta automaticamente o idioma de origem.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Formato de áudio de entrada. Valores válidos:
- `pcm` (Padrão) — Dados de áudio brutos não compactados.
- `opus` — Codec de áudio com perdas com suporte de baixa latência, adequado para cenários VoIP.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Taxa de amostragem de áudio de entrada, em Hz. Valores válidos:
- 8000
- 16.000 (padrão)
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Formato de áudio de saída. Atualmente, este parâmetro só pode ser definido como `pcm`.
Aplica-se a `qwen3.5-livetranslate-flash-realtime`. Configuração de Detecção de Atividade de Voz (VAD), usada para controlar como o início e o fim da fala são detectados:
- Definir para um objeto de configuração (padrão): ativa o modo VAD. O servidor detecta automaticamente o início e o fim da fala, confirma o buffer de áudio e aciona respostas de tradução. O cliente não precisa enviar `input_audio_buffer.commit` eventos.
- Definir como `null`: ativa o modo Manual. O cliente confirma manualmente o buffer de áudio enviando `input_audio_buffer.commit` eventos. O servidor começa automaticamente a gerar respostas de tradução ao receber o commit.
Tipo VAD. Deve ser definido para `server_vad`.
Sensibilidade de detecção de VAD. Um valor mais baixo facilita o reconhecimento de sons fracos (incluindo ruído de fundo) como fala; um valor mais alto requer uma fala mais clara e mais alta para acionar a detecção. Faixa de valores: \[-1,0, 1,0]. Valor padrão: 0,2.
Duração mínima do silêncio (em milissegundos) necessária após o término da fala. Uma vez excedida esta duração, o servidor determina que a fala terminou, confirma automaticamente o buffer de áudio e aciona uma resposta de tradução. Faixa de valores: \[200, 6000]. Valor padrão: 1000.
Configurações de tradução.
Idioma alvo. Consulte [Idiomas suportados](/developer-guides/speech/realtime-translation#supported-languages). Padrão: `en`.
`qwen3.8-livetranslate-flash-realtime` não suporta este parâmetro. Configuração de saída no mesmo idioma. Quando os idiomas de origem e de destino são iguais, o serviço pode ignorar a saída de texto, a saída de áudio ou ambas. Este parâmetro entra em vigor somente quando `translation.language` está definido para `zh` ou `en`.
Especifica se a saída de texto deve ser ignorada quando os idiomas de origem e de destino forem iguais.
Especifica se a saída de áudio deve ser ignorada quando os idiomas de origem e de destino forem iguais.
Configuração de palavras quentes para melhorar a precisão da tradução de termos específicos.
Mapeamento de palavras quentes. A chave é o termo no idioma de origem e o valor é a tradução no idioma de destino. Exemplo: `{"AI": "Artificial Intelligence"}`.
Se deve ativar a clonagem de voz. Padrão: `false`. Quando ativado, o modelo clona a voz do locutor do áudio de entrada para saída traduzida. Neste caso, `voice` não aceita mais vozes predefinidas do sistema e deve ser definido como `default` ou um ID de voz criado anteriormente por meio da API Voice Clone.
Opções de clonagem de voz. Só se aplica quando `enable_voice_clone` é `true`.
Controla quando ocorre a clonagem de voz. Valores válidos: `never` (use perfil de voz pré-clonado), `once` (clone no início da sessão), `always` (clone antes de cada resposta). Padrão: `once`.
entrada_audio_buffer.append
Acrescenta bytes de áudio ao buffer de entrada. O servidor usa esse buffer para detecção de fala e tempo de envio.
{
"event_id": "event_xxx",
"type": "input_audio_buffer.append",
"audio": "xxx"
}
Sempre "input_audio_buffer.append".
Dados de áudio codificados em Base64.
entrada_audio_buffer.commit
Confirma o buffer de áudio de entrada. Este evento só precisa ser enviado em modo Manual (turn_detection definido como null). No modo VAD, o servidor confirma automaticamente e o cliente não precisa enviar este evento.
Ao receber este evento, o servidor retorna um input_audio_buffer.committed evento como confirmação e começa automaticamente a gerar uma resposta de tradução (nenhum evento adicional é necessário para acionar a resposta). Se o buffer de áudio estiver vazio, o servidor retornará um evento de erro.
{
"event_id": "event_xxx",
"type": "input_audio_buffer.commit"
}
Tipo de evento. Deve ser definido para input_audio_buffer.commit.
entrada_audio_buffer.clear
Limpa dados de áudio não confirmados do buffer de áudio de entrada.
{
"event_id": "event_xxx",
"type": "input_audio_buffer.clear"
}
Tipo de evento. Deve ser definido para input_audio_buffer.clear.
input_image_buffer.append
Adiciona dados de imagem ao buffer a partir de um arquivo local ou de um fluxo de vídeo em tempo real.
Limites de imagem:
- Formato: JPG ou JPEG. Resolução recomendada: 480p ou 720p. Máximo: 1080p.
- Tamanho máximo: 500 KB (antes da codificação Base64).
- Deve ser codificado em Base64.
- Taxa máxima: 2 imagens por segundo.
- Você deve enviar pelo menos um
input_audio_buffer.appendevento primeiro.
{
"event_id": "event_xxx",
"type": "input_image_buffer.append",
"image": "xxx"
}
Sempre "input_image_buffer.append".
Dados de imagem codificados em Base64.
sessão.terminar
Termina a sessão. O servidor responde com base na detecção de fala:
- Fala detectada: O servidor finaliza o reconhecimento e envia conversation.item.input_audio_transcription.completed com o resultado e envia session.finished.
- Nenhuma fala detectada: O servidor envia session.finished diretamente.
Desconecte depois de receber session.finished.
{
"event_id": "event_xxx",
"type": "session.finish"
}
Sempre "session.finish".