Status: Testado localmente. Os quatro fluxos rodam no meu notebook local com RTX 3080. Ainda não verifiquei uma primeira inicialização em um pod real do RunPod; vou atualizar este guia quando verificar.
Avatares falando, vídeos explicativos e diálogos de jogos precisam de uma locução. O Qwen3-TTS, da equipe Qwen da Alibaba, é um modelo aberto de texto para fala com nove vozes integradas, design de voz a partir de uma descrição escrita e clonagem de voz. Criei um template que o executa no ComfyUI, principalmente para fazer as locuções dos meus vídeos de avatares.
O ComfyUI não tem nós próprios para o Qwen3-TTS, então o template inclui um pequeno pacote de nós que aciona o pacote oficial qwen-tts da Qwen. Você recebe quatro fluxos na barra lateral, cada um com padrões que funcionam, então a primeira execução não exige nenhuma entrada. Tudo está no GitHub.
Em resumo
- Código aberto: os modelos são lançados sob a Apache-2.0, que permite uso comercial.
- 9 vozes integradas, cada uma falando 10 idiomas.
- Crie uma voz a partir de uma descrição, ou clone uma a partir de uma gravação de 3–20 segundos.
- Roteiros de qualquer tamanho, divididos e reunidos automaticamente.
- Roda em qualquer GPU de 8 GB ou mais. Cerca de 13,6 GB de modelos; use um volume de 40 GB.
As 9 vozes integradas
| Voz | Idioma nativo | Característica |
|---|---|---|
| Ryan | Inglês | Masculina dinâmica, com ritmo forte |
| Aiden | Inglês | Masculina americana ensolarada, médios claros |
| Vivian | Chinês | Feminina jovem, brilhante e um pouco ousada |
| Serena | Chinês | Feminina jovem, calorosa e suave |
| Uncle_Fu | Chinês | Masculina experiente, grave e macia |
| Dylan | Chinês (Pequim) | Masculina jovem de Pequim |
| Eric | Chinês (Sichuan) | Masculina animada de Chengdu, levemente rouca |
| Ono_Anna | Japonês | Feminina brincalhona, leve e ágil |
| Sohee | Coreano | Feminina calorosa, com muita emoção |
Toda voz fala os dez idiomas suportados (inglês, chinês, japonês, coreano, alemão, francês, russo, português, espanhol e italiano) e soa melhor no seu idioma nativo. Você pode conduzir qualquer uma com uma instrução de estilo.
O template traz um banco de vozes: um clipe de referência de cada voz integrada com sua transcrição exata, 16 clipes no total, em ComfyUI/input/voices/. Ouça-os no JupyterLab para escolher uma voz antes de renderizar qualquer coisa.
Os quatro fluxos
| Fluxo | Modelo | O que faz |
|---|---|---|
| 1. Voz integrada | CustomVoice | Uma das nove vozes lê seu roteiro, no idioma e estilo que você escolher |
| 2. Design de voz | VoiceDesign | Descreva uma voz («uma narradora calma e calorosa, na casa dos trinta»). Ela fala uma amostra e a salva no banco de vozes |
| 3. Clonagem de voz | Base | Qualquer voz do banco lê o roteiro inteiro, consistente do início ao fim |
| 4. Adicionar sua voz | Nenhum | Adiciona sua própria gravação e sua transcrição ao banco de vozes |
Os fluxos 2, 3 e 4 trabalham juntos pelo banco de vozes: você cria uma voz ou adiciona sua gravação, e ela vai para o banco; depois o fluxo de clonagem lê seu roteiro completo com essa voz. A locução pronta é salva como .wav e .mp3 em output/voiceover/, e toca direto no nó Save.
Roteiros de qualquer tamanho
Uma única chamada do Qwen3-TTS é limitada a 2.048 quadros de codec, cerca de 2,5 minutos de fala, e chamadas longas perdem o ritmo. Por isso o template:
- Corta o roteiro em partes de no máximo 400 caracteres, sempre em uma quebra de frase ou de parágrafo.
- Renderiza cada parte com a mesma voz e a mesma seed.
- Une as partes com uma pausa de 0,25 segundo entre frases e de 0,6 segundo após um parágrafo (uma linha em branco no seu roteiro).
Uma voz criada para um roteiro longo: o design de voz renderiza cada parte a partir da descrição, então a voz pode variar um pouco entre as partes. A solução, e o caminho que a Qwen recomenda, é criar uma amostra curta com o fluxo 2 e depois cloná-la para o roteiro inteiro com o fluxo 3.
Sua própria voz: grave de 3 a 20 segundos de fala limpa, digite exatamente o que disse e adicione ambos com o fluxo 4. Clone apenas vozes que você tem o direito de usar.
Hardware e custo
Cada um dos três modelos de 1.7B precisa de cerca de 4 GB de VRAM, e só um é carregado por vez, então qualquer GPU com 8 GB ou mais funciona. A fala é gerada token a token, então uma GPU mais rápida ajuda menos aqui do que em vídeo.
- No meu notebook com RTX 3080, o banco de vozes renderizou a cerca de 5 segundos por segundo de fala. Uma GPU de desktop ou de data center é várias vezes mais rápida.
- No RunPod, uma RTX A5000 a US$ 0,27/h é mais que suficiente. Não há motivo para pagar por uma RTX 5090 para isso.
- Armazenamento: os três modelos somam cerca de 13,6 GB. Um volume de rede de 40 GB custa cerca de US$ 2,80 por mês no armazenamento padrão.
Rodando no RunPod
- Crie um volume de rede de 40 GB. O template se recusa a rodar sem um, para que seus modelos e vozes sobrevivam entre as sessões.
- Implante o template em uma GPU de 8 GB ou mais com o volume anexado.
- Acompanhe os logs na primeira inicialização. Você está esperando por
Voice pool: 16 clips, os downloads dos modelos e depoisSetup complete! - Abra o ComfyUI (porta 8188) e escolha um fluxo na barra lateral Workflows.
- Use o JupyterLab (porta 8888) para ouvir o banco de vozes e baixar suas locuções.
As inicializações seguintes pulam tudo que já está instalado. Se volumes de rede e pods são novidade para você, minha introdução ao RunPod explica o básico.
Nota de segurança: o JupyterLab roda sem login por padrão, então qualquer pessoa com a URL do pod obtém um shell. Para trabalho com clientes, defina JUPYTER_NO_AUTH=0 e uma JUPYTER_PASSWORD ao implantar.
Para quem cria templates
Se você está criando seu próprio template do RunPod em vez de usar este, aqui estão alguns detalhes do repositório que mais deram trabalho:
- A imagem base é
runpod/comfyui:1.4.0-comfyuiv0.35.0-cuda12.8, com um disco de contêiner de 5 GB e o volume de rede montado em/workspace. - O
qwen-tts0.1.1 falha ao ser importado no transformers 5.x, que é o que a imagem traz. O template fixa o transformers 4.57.3 no ambiente do ComfyUI e verifica isso a cada inicialização. - O comando de inicialização verifica o DNS do GitHub e do Hugging Face, recorre a resolvedores públicos se necessário e repete o clone até dez vezes.
Novo no RunPod? Meu link de indicação dá a novas contas que se cadastram com o Google de US$ 5 a US$ 500 em crédito após seus primeiros US$ 10, e eu recebo uma pequena comissão.
Créditos: Qwen3-TTS, da equipe Qwen da Alibaba, Apache-2.0. Template, nós e fluxos feitos por mim, grátis no GitHub.
Perguntas frequentes
O Qwen3-TTS é gratuito para uso comercial?
Os modelos são lançados sob a licença Apache-2.0, que permite uso comercial. A clonagem é outra questão: clone apenas vozes que você tem o direito de usar.
Quais idiomas o Qwen3-TTS suporta?
Inglês, chinês, japonês, coreano, alemão, francês, russo, português, espanhol e italiano. Todas as vozes integradas falam os dez.
Qual o tamanho máximo de uma locução?
Qualquer tamanho. O template divide o roteiro nas quebras de frase e de parágrafo, renderiza cada parte com a mesma voz e a mesma seed, e as une com pausas naturais.
De que GPU preciso?
Qualquer GPU com 8 GB de VRAM ou mais. No RunPod, uma RTX A5000 é mais que suficiente.
Posso rodar localmente em vez de no RunPod?
Sim. Os nós e fluxos do ComfyUI estão no repositório do GitHub e rodam em uma GPU de notebook de 8 GB.
