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
URL WebSocket fixa:
Inclua os seguintes cabeçalhos na requisição:
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:
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.Cabeçalhos de requisição
Inclua 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 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: |
Fluxo de interação
- Estabeleça a conexão: Crie uma conexão WebSocket com o servidor.
- Inicie uma tarefa: Envie um evento execute-task.
- Aguarde a confirmação: Receba um evento task-started do servidor antes de prosseguir.
-
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
textno 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.
-
Receba o áudio: Leia o fluxo de áudio do canal
binary. - 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.
- Receba a conclusão da tarefa: Um evento task-finished enviado pelo servidor confirma que a tarefa foi concluída.
- Feche a conexão: Desconecte o WebSocket.