Locuciones de IA gratis con Qwen3-TTS en ComfyUI: 9 voces, diseño de voz y clonación

Mi plantilla de RunPod instala Qwen3-TTS, el modelo de código abierto de Alibaba, con cuatro flujos listos. Qué hace cada uno, cómo se manejan guiones de cualquier longitud y qué hardware necesitas.

Anton Tenitsky13 de octubre de 20265 min de lecturaCódigo en GitHub

Esta guía se tradujo del inglés con IA y puede contener errores. Leer el original.

Estado: Probada en local. Los cuatro flujos funcionan en mi portátil local con una RTX 3080. Aún no he verificado un primer arranque en un pod real de RunPod; actualizaré esta guía cuando lo haga.

Los avatares que hablan, los vídeos explicativos y los diálogos de videojuegos necesitan una locución. Qwen3-TTS, del equipo Qwen de Alibaba, es un modelo abierto de texto a voz con nueve voces integradas, diseño de voz a partir de una descripción escrita y clonación de voz. Creé una plantilla que lo ejecuta en ComfyUI, sobre todo para hacer las locuciones de mis vídeos de avatares.

ComfyUI no tiene nodos propios para Qwen3-TTS, así que la plantilla incluye un pequeño paquete de nodos que maneja el paquete oficial qwen-tts de Qwen. Obtienes cuatro flujos en la barra lateral, cada uno con valores por defecto que funcionan, de modo que la primera ejecución no requiere ninguna entrada. Todo está en GitHub.

En resumen

  • Código abierto: los modelos se publican bajo Apache-2.0, que permite el uso comercial.
  • 9 voces integradas, y cada una habla 10 idiomas.
  • Diseña una voz a partir de una descripción, o clona una desde una grabación de 3–20 segundos.
  • Guiones de cualquier longitud, divididos y unidos automáticamente.
  • Funciona en cualquier GPU de 8 GB o más. Unos 13,6 GB de modelos; usa un volumen de 40 GB.

Las 9 voces integradas

Voz Idioma nativo Carácter
Ryan Inglés Hombre dinámico, con un ritmo marcado
Aiden Inglés Hombre estadounidense soleado, con medios claros
Vivian Chino Mujer joven, brillante y algo atrevida
Serena Chino Mujer joven, cálida y suave
Uncle_Fu Chino Hombre experimentado, grave y suave
Dylan Chino (Pekín) Hombre joven de Pekín
Eric Chino (Sichuan) Hombre animado de Chengdu, algo ronco
Ono_Anna Japonés Mujer juguetona, ligera y ágil
Sohee Coreano Mujer cálida, con mucha emoción

Cada voz habla los diez idiomas admitidos (inglés, chino, japonés, coreano, alemán, francés, ruso, portugués, español e italiano) y suena mejor en el suyo. Puedes guiar cualquiera de ellas con una instrucción de estilo.

La plantilla incluye un banco de voces: un clip de referencia de cada voz integrada con su transcripción exacta, 16 clips en total, en ComfyUI/input/voices/. Escúchalos en JupyterLab para elegir una voz antes de renderizar nada.

Los cuatro flujos

Flujo Modelo Qué hace
1. Voz integrada CustomVoice Una de las nueve voces lee tu guion, en el idioma y el estilo que elijas
2. Diseño de voz VoiceDesign Describe una voz («una narradora tranquila y cálida de unos treinta años»). Dice una muestra y la guarda en el banco de voces
3. Clonación de voz Base Cualquier voz del banco lee todo tu guion, de forma coherente de principio a fin
4. Añade tu voz Ninguno Añade tu propia grabación y su transcripción al banco de voces

Los flujos 2, 3 y 4 trabajan juntos a través del banco de voces: diseñas una voz o añades tu grabación, y acaba en el banco; luego el flujo de clonación lee tu guion completo con esa voz. La locución terminada se guarda como .wav y como .mp3 en output/voiceover/, y se reproduce directamente en el nodo Save.

Guiones de cualquier longitud

Una sola llamada a Qwen3-TTS está limitada a 2048 fotogramas de códec, unos 2,5 minutos de voz, y las llamadas largas pierden el ritmo. Por eso la plantilla:

  1. Corta el guion en partes de como máximo 400 caracteres, siempre en un salto de frase o de párrafo.
  2. Renderiza cada parte con la misma voz y la misma semilla.
  3. Las une con una pausa de 0,25 segundos entre frases y de 0,6 segundos después de un párrafo (una línea en blanco en tu guion).

Una voz diseñada para un guion largo: el diseño de voz renderiza cada parte a partir de la descripción, así que la voz puede variar ligeramente entre partes. La solución, y el camino que recomienda Qwen, es diseñar una muestra corta con el flujo 2 y luego clonarla para todo el guion con el flujo 3.

Tu propia voz: graba entre 3 y 20 segundos de voz limpia, escribe exactamente lo que dijiste y añade ambas cosas con el flujo 4. Clona solo voces que tengas derecho a usar.

Hardware y coste

Cada uno de los tres modelos de 1.7B necesita unos 4 GB de VRAM, y solo se carga uno a la vez, así que funciona cualquier GPU con 8 GB o más. La voz se genera token a token, de modo que una GPU más rápida ayuda menos aquí que con el vídeo.

  • En mi portátil con RTX 3080, el banco de voces se renderizó a unos 5 segundos por cada segundo de voz. Una GPU de sobremesa o de centro de datos es varias veces más rápida.
  • En RunPod, una RTX A5000 a 0,27 $/h es más que suficiente. No hay motivo para pagar una RTX 5090 para esto.
  • Almacenamiento: los tres modelos ocupan unos 13,6 GB. Un volumen de red de 40 GB cuesta unos 2,80 $ al mes en almacenamiento estándar.

Cómo ejecutarlo en RunPod

  1. Crea un volumen de red de 40 GB. La plantilla se niega a funcionar sin uno, para que tus modelos y voces sobrevivan entre sesiones.
  2. Despliega la plantilla en una GPU de 8 GB o más con el volumen conectado.
  3. Mira los logs en el primer arranque. Esperas a ver Voice pool: 16 clips, las descargas de modelos y, por último, Setup complete!
  4. Abre ComfyUI (puerto 8188) y elige un flujo en la barra lateral Workflows.
  5. Usa JupyterLab (puerto 8888) para escuchar el banco de voces y descargar tus locuciones.

Los arranques posteriores se saltan todo lo que ya está instalado. Si los volúmenes de red y los pods son nuevos para ti, mi introducción a RunPod explica lo básico.

Nota de seguridad: JupyterLab funciona sin inicio de sesión por defecto, así que cualquiera que tenga la URL del pod obtiene una terminal. Para trabajo con clientes, define JUPYTER_NO_AUTH=0 y una JUPYTER_PASSWORD al desplegar.

Para quienes crean plantillas

Si estás creando tu propia plantilla de RunPod en lugar de usar esta, estos son algunos detalles del repositorio que más tiempo llevaron:

  • La imagen base es runpod/comfyui:1.4.0-comfyuiv0.35.0-cuda12.8, con un disco de contenedor de 5 GB y el volumen de red montado en /workspace.
  • qwen-tts 0.1.1 falla al importarse con transformers 5.x, que es el que trae la imagen. La plantilla fija transformers 4.57.3 en el entorno de ComfyUI y lo comprueba en cada arranque.
  • El comando de inicio comprueba el DNS de GitHub y Hugging Face, recurre a resolutores públicos si hace falta y reintenta la clonación hasta diez veces.

¿Nuevo en RunPod? Mi enlace de referido da a las cuentas nuevas que se registran con Google entre 5 y 500 $ de crédito después de su primer gasto de 10 $, y yo recibo una pequeña comisión.

Créditos: Qwen3-TTS, del equipo Qwen de Alibaba, Apache-2.0. Plantilla, nodos y flujos hechos por mí, gratis en GitHub.

Preguntas frecuentes

¿Qwen3-TTS es gratis para uso comercial?

Los modelos se publican bajo la licencia Apache-2.0, que permite el uso comercial. La clonación es otra cuestión: clona solo voces que tengas derecho a usar.

¿Qué idiomas admite Qwen3-TTS?

Inglés, chino, japonés, coreano, alemán, francés, ruso, portugués, español e italiano. Todas las voces integradas hablan los diez.

¿Qué duración puede tener una locución?

Cualquiera. La plantilla divide el guion en saltos de frase y de párrafo, renderiza cada parte con la misma voz y la misma semilla, y las une con pausas naturales.

¿Qué GPU necesito?

Cualquier GPU con 8 GB de VRAM o más. En RunPod, una RTX A5000 es más que suficiente.

¿Puedo ejecutarlo en local en lugar de en RunPod?

Sí. Los nodos y flujos de ComfyUI están en el repositorio de GitHub y funcionan en una GPU de portátil de 8 GB.

Anton Tenitsky es artista 3D con más de 15 años en gráficos por ordenador, que ha trabajado con Nickelodeon, Gameloft, Marvel Rivals y muchos otros clientes. Más sobre mí

Guías relacionadas