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

Qwen-Audio-TTS/CosyVoice client events

Guia do usuário: Para introdução aos modelos e recomendações de seleção, consulte Speech synthesis.

run-task

Descrição: Inicia uma tarefa de síntese de fala e configura o modelo, a voz, a taxa de amostragem e outros parâmetros. Quando enviar: Imediatamente após estabelecer a conexão WebSocket. Evento de resposta: O servidor retorna um evento de tarefa iniciada. Aguarde esse evento antes de enviar comandos subsequentes.
headerobject(required)

Properties

actionstring(required)Tipo de comando. Defina como run-task.task_idstring(required)ID de tarefa gerado pelo cliente no formato UUID. Este ID correlaciona eventos subsequentes e deve corresponder ao task_id nos comandos continue-task e finish-task.streamingstring(required)Defina como duplex.
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "tts",
        "function": "SpeechSynthesizer",
        "model": "qwen-audio-3.0-tts-flash",
        "parameters": {
            "text_type": "PlainText",
            "voice": "longanlingxi",
            "format": "mp3",
            "sample_rate": 22050,
            "volume": 50,
            "rate": 1.0,
            "pitch": 1.0,
            "enable_ssml": false
        },
        "input": {}
    }
}
payloadobject(required)

Properties

task_groupstring(required)Grupo de tarefas. Defina como audio.taskstring(required)Tipo de tarefa. Defina como tts.functionstring(required)Tipo de função. Defina como SpeechSynthesizer.modelstring(required)Nome do modelo.inputobject(required)Defina como um objeto vazio {}. Envie o texto para sintetizar por meio do comando continue-task.parametersobject(required)Parâmetros de síntese de fala.

Properties

text_typestring(required)Defina como PlainText.voicestring(required)Voz usada na síntese de fala.formatstring(optional)Formato de codificação de áudio.Valores válidos:
  • pcm
  • wav
  • mp3 (padrão)
  • opus
sample_rateinteger(optional)Taxa de amostragem de áudio em Hz.Valores válidos: 8000, 16000, 22050 (padrão), 24000, 44100, 48000.volumeinteger(optional)Nível de volume.Valor padrão: 50.Valores válidos: [0, 100].ratefloat(optional)Velocidade da fala.Valor padrão: 1,0.Valores válidos: [0,5, 2,0].pitchfloat(optional)Tom da voz.Valor padrão: 1,0.Valores válidos: [0,5, 2,0].bit_rateinteger(optional)Taxa de bits de áudio em kbps. Se o formato de áudio for mp3 ou opus, use bit_rate para ajustar a taxa de bits.Valor padrão: 32.Valores válidos: [6, 510].enable_ssmlboolean(optional)Define se o SSML deve ser ativado.Valor padrão: false.Se definido como true, apenas um comando continue-task é permitido.Para restrições de uso do SSML (modelos, vozes e APIs compatíveis), consulte Limitations.word_timestamp_enabledboolean(optional)Define se os carimbos de data/hora no nível de palavra devem ser ativados.Valor padrão: false.Disponível apenas no modo de saída streaming. Vozes compatíveis: vozes clonadas de qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-flash, cosyvoice-v3-plus e cosyvoice-v2, além de vozes do sistema marcadas como compatíveis em Qwen-Audio-TTS voice list, CosyVoice Voice list. Vozes clonadas de outros modelos não oferecem suporte a este recurso.seedinteger(optional)Semente aleatória para controlar a variação na saída da síntese. Se a versão do modelo, o texto, a voz e outros parâmetros permanecerem inalterados, usar a mesma semente produz resultados idênticos.Valor padrão: 0.Valores válidos: [0, 65535].language_hintsarray[string](optional)
  • Este parâmetro é um array, mas a versão atual processa apenas o primeiro elemento. Passe um único valor.
  • Este parâmetro especifica o idioma de destino para a síntese de fala. Ele não está relacionado ao idioma da amostra de áudio usada na clonagem de voz. Para definir o idioma de origem de uma tarefa de clonagem, consulte a referência da API de clonagem de voz.
Especifica o idioma de destino para a síntese de fala a fim de melhorar a qualidade da saída.Use este parâmetro quando a pronúncia de dígitos, expansão de abreviações, leitura de símbolos ou síntese de idiomas minoritários não atender às expectativas. Por exemplo:
  • Pronúncia inesperada de dígitos: "olá, isto é 110" é lido como "olá, isto é um zero" em vez da pronúncia chinesa esperada
  • Pronúncia imprecisa de símbolos: "@" é lido como o equivalente chinês em vez de "at"
  • Baixa qualidade na síntese de idiomas minoritários com resultados pouco naturais
Valores válidos:
  • zh: Chinês
  • en: Inglês
  • fr: Francês
  • de: Alemão
  • ja: Japonês
  • ko: Coreano
  • ru: Russo
  • pt: Português
  • th: Tailandês
  • id: Indonésio
  • vi: Vietnamita
  • es: Espanhol
  • it: Italiano
  • ms: Malaio
  • fil: Filipino
  • ar: Árabe
instructionstring(optional)Define uma instrução para controlar dialeto, emoção ou características da voz durante a síntese. Para detalhes de uso, consulte Instruction control.enable_aigc_tagboolean(optional)Define se uma marca d'água AIGC deve ser incorporada ao áudio gerado. Se definido como true, a marca d'água é incorporada em arquivos de áudio dos formatos compatíveis (wav/mp3/opus).Valor padrão: false.Apenas qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, cosyvoice-v3-flash, cosyvoice-v3-plus e cosyvoice-v2 oferecem suporte a este recurso.aigc_propagatorstring(optional)Define o campo ContentPropagator na marca d'água AIGC, identificando o propagador do conteúdo. Tem efeito apenas quando enable_aigc_tag é true.Valor padrão: UID da Alibaba Cloud.Apenas qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, cosyvoice-v3-flash, cosyvoice-v3-plus e cosyvoice-v2 oferecem suporte a este recurso.aigc_propagate_idstring(optional)Define o campo PropagateID na marca d'água AIGC, identificando exclusivamente uma ação de propagação específica. Tem efeito apenas quando enable_aigc_tag é true.Valor padrão: ID da solicitação atual de síntese de fala.Apenas qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, cosyvoice-v3-flash, cosyvoice-v3-plus e cosyvoice-v2 oferecem suporte a este recurso.hot_fixobject(optional)Configura correções de pronúncia e substituições de texto aplicadas antes da síntese.This feature isn't supported by qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, or cosyvoice-v2.Parâmetros:
  • pronunciation: Pronúncia personalizada. Especifica anotações pinyin para palavras a fim de corrigir pronúncias padrão imprecisas.
  • replace: Substituição de texto. Substitui palavras especificadas pelo texto de destino antes da síntese. O texto substituído é usado como entrada real da síntese.
Exemplo:
"hot_fix": {
  "pronunciation": [
    {"weather": "tian1 qi4"}
  ],
  "replace": [
    {"today": "gold day"}
  ]
}
enable_markdown_filterboolean(optional)
Apenas vozes clonadas de cosyvoice-v3-flash oferecem suporte a este recurso.
Define se a filtragem de Markdown deve ser ativada. Quando ativada, o sistema remove automaticamente os símbolos de marcação Markdown do texto de entrada antes da síntese, evitando que sejam lidos em voz alta.Valor padrão: false.Valores válidos:
  • true: Ativar filtragem de Markdown
  • false: Desativar filtragem de Markdown

continue-task

Descrição: Envia o texto a ser sintetizado. O texto pode ser enviado de uma só vez ou em múltiplos segmentos. Quando enviar: Após receber o evento de tarefa iniciada do servidor. Limites:
  • Máximo de 20.000 caracteres por mensagem
  • Máximo de 200.000 caracteres cumulativamente
  • O intervalo de envio não deve exceder 23 segundos; caso contrário, a conexão atingirá o tempo limite.
headerobject(required)

Properties

actionstring(required)Tipo de comando. Defina como continue-task.task_idstring(required)ID da tarefa no formato UUID. Deve corresponder ao task_id em run-task.streamingstring(required)Defina como duplex.
{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "text": "Before my bed, moonlight shines bright, I suspect it's frost upon the ground."
        }
    }
}
payloadobject(required)

Properties

inputobject(required)Contém o texto a ser sintetizado.textstring(required)Texto a ser sintetizado. Máximo de 20.000 caracteres por mensagem e 200.000 caracteres cumulativamente.

finish-task

Descrição: Notifica o servidor de que todo o texto foi enviado e solicita a conclusão da tarefa. Quando enviar: Imediatamente após enviar todo o texto. Evento de resposta: O servidor retorna um evento de tarefa concluída.
headerobject(required)

Properties

actionstring(required)Tipo de comando. Defina como finish-task.task_idstring(required)ID da tarefa no formato UUID. Deve corresponder ao task_id em run-task.streamingstring(required)Defina como duplex.
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}
Exemplo de cancelamento de tarefa:
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "directive": "cancel"
        }
    }
}
payloadobject(required)

Properties

inputobject(required)Defina como {} para a conclusão normal da tarefa. Inclua directive para cancelar a rodada de síntese atual.directivestring(optional)Controla como a tarefa termina. Atualmente, apenas cancel tem suporte. Se definido como cancel, a rodada de síntese atual é cancelada e o servidor retorna imediatamente um evento task-finished sem produzir mais áudio.Após o cancelamento, inicie uma nova tarefa de síntese na mesma conexão WebSocket enviando um novo evento run-task sem reconectar.
Limitações do modelo:
  • China (Beijing): Todos os modelos Qwen-Audio-TTS oferecem suporte a este recurso. Os modelos CosyVoice requerem a versão v2 ou posterior.
  • Singapore: Todos os modelos Qwen-Audio-TTS oferecem suporte a este recurso. Os modelos CosyVoice não oferecem suporte a este recurso.
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