Conecte-se ao serviço de síntese de fala em tempo real do Qwen-TTS via WebSocket. Este tópico aborda o endpoint do serviço, os cabeçalhos de requisição e o fluxo de interação.
Para obter uma visão geral dos modelos e orientações sobre como escolhê-los, consulte Síntese de fala em tempo real.
A API em tempo real do Qwen-TTS utiliza o protocolo WebSocket. Aplicações Java e Python podem usar o DashScope SDK para evitar o gerenciamento manual do WebSocket. Para outras linguagens, conecte-se diretamente com uma biblioteca WebSocket.
Use a URL abaixo. Defina o modelo por meio do parâmetro de consulta
Configure os seguintes cabeçalhos na requisição:
Para descrições detalhadas sobre eventos do cliente e do servidor, consulte Eventos do cliente e Eventos do servidor.
Esta API oferece suporte a dois modos de operação:
Principais etapas:
Endpoint do serviço
Use a URL abaixo. Defina o modelo por meio do parâmetro de consulta model:
- China (Pequim)
- Singapura
URL do WebSocket:
wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime- Singapura
- China (Pequim)
URL do WebSocket:
wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtimeCabeçalhos de requisição
Configure os seguintes cabeçalhos na requisição:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Authorization | string | Sim | Formato: |
user-agent | string | Não | Identificador do cliente para rastreamento de source no lado do servidor. |
X-DashScope-WorkSpace | string | Não | O ID do workspace do Alibaba Cloud Model Studio. |
Fluxo de interação
Para descrições detalhadas sobre eventos do cliente e do servidor, consulte Eventos do cliente e Eventos do servidor.
Esta API oferece suporte a dois modos de operação:
- Modo ServerCommit: O servidor define automaticamente a segmentação do texto e o momento da síntese.
- Modo Commit: O cliente controla quando enviar cada segmento de texto. Chame
input_text_buffer.commitexplicitamente para iniciar a síntese.
Detalhes dos modos
- No modo ServerCommit, use
input_text_buffer.appendpara armazenar texto em buffer. O sistema decide automaticamente o momento da síntese. - Chamar
input_text_buffer.commitno modo ServerCommit sintetiza o conteúdo atual do buffer imediatamente. A sessão então retoma o comportamento padrão do modo ServerCommit. - No modo Commit, apenas
input_text_buffer.appendnão inicia a síntese. Chameinput_text_buffer.commitpara iniciar o processo.
-
Conexão: O cliente abre uma conexão WebSocket. Quando pronto, o servidor retorna o evento
session.created. -
Configuração da sessão: Envie
session.updatepara definir a voz, o formato de áudio e o modo de operação. -
Entrada de texto: Use
input_text_buffer.appendpara adicionar texto ao buffer. -
Disparo da síntese:
- No modo ServerCommit, a síntese ocorre automaticamente. Para forçar a síntese imediata do buffer, chame
input_text_buffer.commit. - No modo Commit, a síntese só é acionada ao chamar
input_text_buffer.commit.
- No modo ServerCommit, a síntese ocorre automaticamente. Para forçar a síntese imediata do buffer, chame
-
Geração de áudio: O servidor envia
response.createde transmite o áudio codificado em base64 por meio de eventosresponse.audio.deltaaté emitirresponse.audio.done. -
Encerramento da sessão: Para liberar recursos, envie
session.finish. O servidor responde comsession.finishede fecha a conexão.
session.created: