¿Qué es gTTS?
gTTS es una biblioteca de Python de código abierto y herramienta de línea de comandos que convierte texto en audio MP3 llamando al endpoint de texto a voz de Google Translate. Puedes escribir la salida en un archivo, en un objeto similar a un archivo para procesamiento de audio, o directamente en stdout. Es de Pierre Nicolas Durette, tiene licencia MIT y es uno de los paquetes TTS más descargados en PyPI con unas 175,000 descargas semanales al momento de escribir esto. Si alguna vez necesitaste convertir una cadena a MP3 en tres líneas de Python, seguro te topaste con gTTS primero.
Pero es importante destacar que gTTS no es Google Cloud Text-to-Speech. Usa el mismo backend no documentado del botón "Escuchar" de Google Translate. Esta diferencia marca lo que sigue: para qué sirve bien gTTS, dónde se queda corto y cuándo conviene elegir otra opción.

¿Cuándo usar gTTS?
Usa gTTS si necesitas prototipos gratuitos y rápidos; una sola línea para generar MP3 desde texto; demos multilingües; un proyecto de hobby, ejemplo en clase o un script de accesibilidad que lea una exportación de Google Docs. No uses gTTS si necesitas confiabilidad en producción, SLA documentado, clonación de voz, control SSML, voces neuronales o expresivas, audio en streaming o licencias comerciales claras.
¿Cómo funciona gTTS?
gTTS no sintetiza voz localmente. Envía una solicitud al backend del botón "Escuchar" de Google Translate, descarga el MP3 resultante y te entrega los bytes. Por eso necesitas internet, no hay modo offline, y el audio se genera en los servidores de Google, no en tu equipo. El endpoint no es oficial. El proyecto no está afiliado a Google ni Google Cloud y cambios en el backend pueden romperlo sin previo aviso.
Instalación
bash
pip install gTTS
gTTS requiere Python 3.7 o superior y funciona en macOS, Windows y Linux. La versión actual en PyPI es 2.5.4 (noviembre 2024). En sistemas Debian (incluyendo Raspberry Pi OS), nota la diferencia de mayúsculas: el paquete pip es gTTS y el de apt es python3-gtts. Si pip install falla por un error de entorno gestionado externamente en un SO reciente, instala en un entorno virtual.
Uso básico
El ejemplo mínimo viable:
python
from gtts import gTTS
tts = gTTS("Hello, world.")tts.save("hello.mp3")
Desde la línea de comandos:
bash
gtts-cli "hello" --output hello.mp3
Elegir idioma y acento
python
tts = gTTS("Bonjour le monde", lang="fr")tts.save("bonjour.mp3")
gTTS también permite sub-etiquetas regionales usando el parámetro tld, por ejemplo:
tld="co.uk" para acento británico o tld="ca" para francés canadiense, redirigiendo la solicitud por distintos dominios de Google Translate.
Modo lento
python
tts = gTTS("Read this slowly.", lang="en", slow=True)tts.save("slow.mp3")
Eso es básicamente todo el control de voz de gTTS. No hay parámetro de tono, ni control fino de velocidad más allá de slow=True, ni selección de voz ni SSML.
Transmitir a buffer en vez de disco
python
from io import BytesIOfrom gtts import gTTS
buf = BytesIO()gTTS("Stream me").write_to_fp(buf)buf.seek(0)# now feed buf into pydub, ffmpeg, a web response, etc.
Preprocesamiento y texto largo
Una de las mejores funciones de gTTS es su tokenizador. Divide entradas largas en fragmentos aceptados por el backend (límite de 100 caracteres por solicitud), mantiene la entonación entre partes y maneja abreviaturas, decimales y otros casos especiales de puntuación. También puedes agregar preprocesadores para ajustar pronunciaciones, como mapear nombres de producto o siglas a fonemas.
¿Cuáles son las ventajas de gTTS?
gTTS (Google Text-to-Speech) es popular entre desarrolladores porque es ligero, fácil de implementar e integra bien en flujos de Python. Puede generar archivos MP3 y guardar la salida en archivos, objetos tipo archivo o stdout, facilitando proyectos de automatización y scripting. Soporta unas 60 lenguas y varios acentos usando idioma y dominio, lo que brinda buena cobertura multilingüe. El CLI (gtts-cli) se integra con shell scripts, y los tokenizadores y preprocesadores personalizables ayudan con abreviaturas, números y reemplazos. Su API de Python sencilla facilita agregar voz a Jupyter, Flask, bots de Discord y otros proyectos ligeros sin curva de aprendizaje.
¿Cuáles son las desventajas de gTTS?
A pesar de su simplicidad, gTTS tiene limitaciones frente a plataformas modernas de voz con IA. Las voces son estándar de Google Translate: funcionales, pero les falta naturalidad, emoción y realismo comparadas con sistemas text to speech neuronales recientes. No puedes elegir estilos de voz dentro de un idioma ni usar controles avanzados como SSML, ajuste de tono o control preciso de ritmo. gTTS requiere descargar el MP3 completo antes de reproducirlo; no permite streaming en tiempo real, lo que suma latencia. Además, cada solicitud requiere internet, así que gTTS no funciona offline y es menos apto cuando la confiabilidad o la baja latencia son clave.
¿Cuáles son las limitaciones de gTTS para desarrolladores?
1. Limitación de tasa en un endpoint no documentado
Es el principal riesgo para quien pasa de "hola mundo". gTTS no publica cuota de uso porque el servicio upstream tampoco lo hace. Por lo general, una IP puede enviar decenas de miles de caracteres por hora antes de recibir HTTP 429 de Google, y el límite varía según tráfico. Si tu app crea audio para varios usuarios desde un servidor, eventualmente toparás con estos límites sin SLA para reclamar.
2. El endpoint puede cambiar sin aviso
Como gTTS usa rutas internas de Google Translate y no una API pública versionada, Google ha roto gTTS de la noche a la mañana cambiando firmas o respuestas. El mantenedor lanza un fix y tú
pip install -U gTTS, y sigues trabajando. Está bien para scripts de aficionado; no lo está para producción a las 2 am.
3. Ritmo de mantenimiento
Aún hay lanzamientos, al menos uno el último año, pero la gestión de issues es lenta y sólo hay un responsable principal. Algunos clasifican el repo como "inactivo". Para una biblioteca gratis MIT eso es normal; como dependencia crítica de un producto pagado, es algo a considerar.
4. Ambigüedad comercial y de TOS
Como gTTS usa el frontend de Google Translate y no Google Cloud TTS, la licencia para uso comercial del audio generado no es clara. La biblioteca tiene licencia MIT, pero el audio cae bajo los términos de Google para un servicio que no es una API TTS formal. Si tu área legal requiere una respuesta clara, gTTS no la da.
5. Datos sensibles salen de tu equipo
Cada texto sintetizado se envía a los servidores de Google. Si procesas documentos internos, PII de clientes o contenido de Google Docs y otras fuentes, es clave resolver esto antes de pasar a producción.
¿Cuál es la diferencia entre gTTS y Google Cloud Text-to-Speech?
Aunque suelen confundirse, gTTS y Google Cloud Text-to-Speech no son el mismo producto. Las diferencias son:
Si necesitas la voz Google en producción, probablemente necesitas Google Cloud TTS, no gTTS.
¿Cuándo conviene migrar a una API TTS profesional?
El momento adecuado para pasar de gTTS a una API de texto a voz profesional depende de qué tan importantes sean la calidad, confiabilidad y personalización en tu proyecto. gTTS es bueno para prototipos, demos, herramientas accesibles, enseñanza y experimentos ligeros por su simpleza y ser gratis. Si lanzas un producto para clientes, dependes de la voz para UX o requieres baja latencia y SLA, necesitas una solución pro. También conviene migrar cuando necesitas varias voces, clonación de voz, SSML, audio en streaming, control de ritmo y pronunciación o términos comerciales claros. Al pasar de pruebas a producción, estas funciones suelen volverse esenciales.
¿Debes elegir gTTS o la API de Speechify?
La API de texto a voz de Speechify es un servicio oficial de pago con voces neuronales, varias opciones por idioma, soporte SSML y licencias comerciales en el contrato; no es un wrapper de endpoint no documentado. Si los límites, la calidad de voz o la ambigüedad de gTTS te están frenando, es una migración que vale la pena evaluar.
Preguntas frecuentes
¿gTTS es gratis?
Sí, gTTS es una biblioteca de Python gratuita con licencia MIT, pero para audio con licencia comercial necesitas un servicio de pago como la API de Speechify.
¿gTTS funciona sin internet?
No, gTTS requiere conexión a internet porque usa los servidores de Google, igual que la API de Speechify, que es un servicio en la nube.
¿Puedo usar gTTS en un producto comercial?
La licencia del audio generado con gTTS es ambigua ya que depende de un endpoint de Google no documentado, mientras que la API de Speechify sí ofrece licencia comercial explícita.
¿Cómo cambio la voz en gTTS?
No se puede. gTTS da una voz por idioma, mientras que la API de Speechify tiene un catálogo de voces neuronales para elegir.
¿gTTS soporta SSML?
No, gTTS no tiene SSML ni control de tono ni control fino de velocidad, pero la API de Speechify sí soporta SSML con control total de prosodia.
¿Por qué gTTS muestra errores HTTP 429?
Se superó el límite de Google Translate, razón común por la que los desarrolladores migran a un servicio con SLA real como la API de Speechify.
¿gTTS es lo mismo que Google Cloud Text-to-Speech?
No, gTTS envuelve un endpoint no oficial de Google Translate, Google Cloud TTS es un producto aparte y de pago, y la API de Speechify es otra opción pagada con voces neuronales.
¿Cuál es la mejor librería TTS de Python para producción?
gTTS funciona para prototipos, pero no para producción; para cargas de trabajo productivas la mayoría usa una API de pago como la API de Speechify.
¿Puede gTTS clonar una voz?
No, la clonación de voz no está disponible en gTTS, pero sí con la API de Speechify.
¿Cómo hago streaming de audio con gTTS?
gTTS no permite streaming en tiempo real, sólo regresa el MP3 completo, así que para baja latencia es mejor usar la API de Speechify.

