Skip to main content
Síntese de fala em tempo real (Qwen-Audio-TTS/CosyVoice)

Qwen-Audio-TTS/CosyVoice speech synthesis WebSocket API

Acesse o service de síntese de fala em tempo real Qwen-Audio-TTS/CosyVoice por meio de uma conexão WebSocket. Este tópico aborda os endpoints do service, os cabeçalhos de requisição e o fluxo de interação entre cliente e servidor. O SDK do DashScope oferece suporte apenas a Java e Python. Para outras linguagens, utilize uma conexão WebSocket. Guia do usuário: Speech synthesis contém detalhes sobre os modelos e orientações para seleção. Limites de taxa: As chamadas aos modelos estão sujeitas a limites de taxa. Quando um limite é excedido, o servidor retorna o erro Requests rate limit exceeded, please try again later. Reduza a taxa de requisições ou a concorrência e tente novamente. Para consultar os limites de taxa de cada modelo, consulte Rate limiting.

Endpoints do service

URL WebSocket fixa:
  • Singapore
  • China (Beijing)
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inferenceSubstitua {WorkspaceId} pelo seu workspace ID real.
Utilize sempre o protocolo wss://. A URL apresentada acima é fixa. Para obter detalhes sobre autorização, consulte Request headers.
O Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões China (Beijing) e Singapore. Os novos domínios dedicados oferecem desempenho superior e maior estabilidade para requisições de inferência. Recomendamos a migração para os novos domínios:
  • China (Beijing): de dashscope.aliyuncs.com para {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapore: de dashscope-intl.aliyuncs.com para {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Substitua {WorkspaceId} pelo seu Workspace ID real. Os domínios existentes permanecem totalmente funcionais.

Cabeçalhos de requisição

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

Parâmetro

Tipo

Obrigatório

Descrição

Authorization

string

Sim

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

user-agent

string

Não

Identificador do cliente para rastreamento de requisições.

X-DashScope-WorkSpace

string

Não

workspace ID do Alibaba Cloud Model Studio.

X-DashScope-DataInspection

string

Não

Ative a inspeção de dados. Padrão: enable. Deixe sem definição, a menos que seja necessário.

A autorização é verificada durante o handshake WebSocket. Se a chave de API for inválida ou estiver ausente, o handshake falhará com um erro HTTP 401/403.

Fluxo de interação

image
Para obter detalhes sobre eventos do lado do cliente e do servidor, consulte Client events e Server-side events. Sequência de interação entre cliente e servidor:
  1. Estabeleça a conexão: Crie uma conexão WebSocket com o servidor.
  2. Inicie uma tarefa: Envie um evento execute-task.
  3. Aguarde a confirmação: Receba um evento task-started do servidor antes de prosseguir.
  4. Envie o texto para síntese: Envie um ou mais eventos continue-task contendo o texto a ser sintetizado, em sequência. O servidor retorna um evento result-generated com um fluxo de áudio após cada frase completa. Para verificar os limites de tamanho do texto, consulte o campo text no evento continue-task.
    Envie vários eventos continue-task com segmentos de texto em ordem. O servidor divide o texto em frases:
    • Frases completas são sintetizadas e retornadas como áudio imediatamente.
    • Frases incompletas ficam em buffer até serem concluídas.
    Um evento finish-task força a síntese de todo o conteúdo armazenado em buffer.
  5. Receba o áudio: Leia o fluxo de áudio do canal binary.
  6. Encerre a tarefa: Após enviar todo o texto, envie um evento finish-task e continue recebendo o áudio. Esta etapa é obrigatória — ignorá-la pode resultar em áudio incompleto.
  7. Receba a conclusão da tarefa: Um evento task-finished enviado pelo servidor confirma que a tarefa foi concluída.
  8. Feche a conexão: Desconecte o WebSocket.
Reutilize a conexão WebSocket entre tarefas em vez de criar uma nova para cada uma delas.
Todos os eventos em uma tarefa de síntese (execute-task, continue-task, finish-task) devem compartilhar o mesmo task_id. Gere um novo task_id (como um UUID) para cada tarefa. Valores incompatíveis causam corrupção de áudio ou falha na tarefa.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos