Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:API WebSocket para síntese em tempo real do Qwen-TTS

Última atualização: Sep 02, 2026

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.

Endpoint do serviço

Use a URL abaixo. Defina o modelo por meio do parâmetro de consulta model:

China (Pequim)

URL do WebSocket: wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

Singapura

URL do WebSocket: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

Singapura

URL do WebSocket: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

China (Pequim)

URL do WebSocket: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime

ImportanteA URL deve usar obrigatoriamente o protocolo wss://. Configure o cabeçalho Authorization (consulte Cabeçalhos de requisição) e especifique o modelo com o parâmetro de consulta model.

Cabeçalhos de requisição

Configure os seguintes cabeçalhos na requisição:

Parâmetro

Tipo

Obrigatório

Descrição

Authorization

string

Sim

Formato: Bearer <your_api_key>. Substitua <your_api_key> pela sua chave de API.

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.

ImportanteA autorização é verificada durante o handshake do WebSocket. Uma chave de API inválida ou ausente causa falha no handshake com HTTP 401/403.

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.commit explicitamente para iniciar a síntese.

Detalhes dos modos

  • No modo ServerCommit, use input_text_buffer.append para armazenar texto em buffer. O sistema decide automaticamente o momento da síntese.
  • Chamar input_text_buffer.commit no 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.append não inicia a síntese. Chame input_text_buffer.commit para iniciar o processo.

qwen-tts

Principais etapas:
  1. Conexão: O cliente abre uma conexão WebSocket. Quando pronto, o servidor retorna o evento session.created.

  2. Configuração da sessão: Envie session.update para definir a voz, o formato de áudio e o modo de operação.

  3. Entrada de texto: Use input_text_buffer.append para adicionar texto ao buffer.

  4. 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.
  5. Geração de áudio: O servidor envia response.created e transmite o áudio codificado em base64 por meio de eventos response.audio.delta até emitir response.audio.done.

  6. Encerramento da sessão: Para liberar recursos, envie session.finish. O servidor responde com session.finished e fecha a conexão.

Após a conexão, o servidor retorna o seguinte evento session.created:

{
    "event_id": "event_xxx",
    "type": "session.created",
    "session": {
        "object": "realtime.session",
        "mode": "server_commit",
        "model": "qwen3-tts-flash-realtime",
        "voice": "Cherry",
        "response_format": "pcm",
        "sample_rate": 24000,
        "id": "sess_xxx"
    }
}