Curso
Hasta marzo de 2026, Mistral tenía solo media canalización de voz. Sus modelos Voxtral Transcribe cubrían de voz a texto, pero no había forma de ir en la otra dirección. Si querías que tu aplicación hablara, tenías que recurrir a otro proveedor: normalmente ElevenLabs para clonación de voz expresiva, TTS-1 de OpenAI para una integración mínima o Neural2 de Google Cloud si ya estabas en ese ecosistema.
Voxtral TTS cubre ese hueco. Es el primer modelo de texto a voz de Mistral, un sistema de 4.1 mil millones de parámetros que genera habla en nueve idiomas a partir de una breve referencia de audio. Los pesos del modelo están disponibles en Hugging Face, y la API en la nube está activa a 0,016 $ por cada 1.000 caracteres, con pesos abiertos para autohospedaje.
Un apunte sobre la nomenclatura: los modelos Voxtral de julio de 2025 son de voz a texto. Voxtral TTS, lanzado el 26 de marzo de 2026, funciona a la inversa.
¿Qué es Voxtral TTS?
Voxtral TTS es un modelo de texto a voz que convierte texto escrito en audio hablado en nueve idiomas: inglés, francés, alemán, español, neerlandés, portugués, italiano, hindi y árabe. Puedes usar una de las 20 voces predefinidas o aportar un clip de audio de referencia para clonar la voz de una persona concreta. La duración recomendada del clip para clonar es de 5 a 25 segundos, aunque el modelo acepta desde 3 segundos.
La principal propuesta de Mistral es una huella reducida combinada con lo que describe como calidad de vanguardia. Los pesos BF16 por defecto en Hugging Face ocupan unos 8 GB, y el autohospedaje requiere una GPU con al menos 16 GB de VRAM para cubrir la inferencia. El paper de investigación señala que las versiones cuantizadas pueden bajar los pesos a unos 3 GB, aunque no son el lanzamiento por defecto. Pierre Stock, VP de Science en Mistral, dijo a VentureBeat que el modelo incluso puede ejecutarse en un smartphone, aunque depende de la cuantización y no he podido verificarlo de forma independiente.
El modelo también admite lo que Mistral llama "Voice-as-an-instruction". En lugar de depender de etiquetas SSML o marcadores explícitos de emoción para controlar el timbre de la voz generada, Voxtral TTS infiere el tono, el ritmo y la carga emocional directamente del audio de referencia que le proporciones. Si le das un clip de alguien hablando con entusiasmo, la voz generada tiende a reflejar esa entrega. Es un enfoque distinto al de ElevenLabs, que usa etiquetas de emoción explícitas para guiar la generación.
Resumen de la arquitectura
Voxtral TTS es un modelo autoregresivo de tipo transformer con flow matching construido sobre Ministral 3B. Tiene tres componentes: un backbone decodificador transformer de 3,4B parámetros que predice tokens semánticos a partir de texto y voz; un transformer acústico de flow matching de 390M parámetros que convierte esos tokens en representaciones de audio; y un códec de audio neuronal de 300M parámetros creado por Mistral desde cero, que opera a 12,5 Hz con frames de 80 milisegundos. El códec es lo que mantiene eficiente la representación de audio: trabaja en un espacio latente fuertemente comprimido, por lo que el modelo completo de 4,1B parámetros puede generar audio de alta calidad manteniendo los pesos BF16 en ~8 GB.

Resumen de la arquitectura de Voxtral TTS. Fuente: Mistral AI.
Esta canalización en tres etapas también es la que hace posible la clonación de voz: el códec captura las características del hablante en el espacio latente, que el backbone y el transformer acústico usan después para reproducir esa voz con texto nuevo.
Clonación de voz zero-shot
Con la clonación de voz, aportas un clip de referencia corto y el modelo genera un habla que recoge el acento, la entonación y el ritmo del hablante, incluidas las pausas y el tempo naturales.
Lo que más me sorprendió en la investigación es la capacidad translingüe. Si ofreces una voz de referencia en francés y escribes el prompt en alemán, el modelo tiende a generar habla en alemán que suena similar a la persona francesa, heredando gran parte de su acento y rasgos vocales. No es algo para lo que el modelo se haya entrenado explícitamente. Es un comportamiento emergente y puede ser útil para traducción de voz a voz cuando mantener la voz original a través de idiomas es importante.
Un detalle práctico: la clonación de voces personalizadas requiere la API de Mistral. La versión con pesos abiertos se limita a esas 20 voces predefinidas. Si quieres clonar una voz concreta en la versión autohospedada, necesitas el endpoint de creación de voces de la API.
Benchmarks de Voxtral TTS
Todos los datos de benchmarks aquí provienen de las evaluaciones internas de Mistral. El modelo es lo bastante reciente como para que, a fecha de publicación, no haya benchmarks independientes de terceros. El Artificial Analysis Speech Arena Leaderboard, un ranking independiente de TTS, aún no ha añadido Voxtral TTS.
Mistral usó evaluaciones de preferencia humana en lugar de métricas automatizadas como el Mean Opinion Score (MOS), argumentando en el paper que las puntuaciones automáticas no capturan de forma fiable la naturalidad entre idiomas y culturas. Las pruebas fueron comparaciones de escucha a ciegas realizadas por anotadores nativos en los nueve idiomas compatibles.
En pruebas usando las voces principales integradas de cada modelo, los anotadores humanos prefirieron Voxtral TTS en el 58,3% de las comparaciones. En pruebas de clonación de voz zero-shot, donde ambos modelos recibían un breve clip de referencia y generaban voz a partir del mismo texto, esa tasa subió al 68,4%. La mayor diferencia fue en hindi (en torno al 80% de preferencia) y español (en torno al 88%). El neerlandés fue el punto débil, con un 49,4%, lo que significa que ElevenLabs Flash v2.5 mantuvo la ventaja en ese idioma.

Resultados de preferencia humana según evaluaciones de Mistral. Fuente: Mistral AI.
Mistral también realizó un conjunto adicional de pruebas de control emocional, esta vez comparando frente a ElevenLabs v3 y Gemini 2.5 Flash TTS en lugar de Flash v2.5. Frente a ElevenLabs v3, ambos modelos quedaron más o menos igual en control explícito; Voxtral tuvo una ligera ventaja en control implícito. Frente a Gemini 2.5 Flash TTS, Gemini salió por delante con alrededor del 65%, siendo el mejor en esa comparación. Estas cifras, como todas en esta sección, proceden del paper de Mistral.
En latencia, Mistral informa de 70 milisegundos en una sola NVIDIA H200. El tiempo de extremo a extremo hasta el primer audio desde la API es de unos 0,8 segundos con PCM y aproximadamente 1,5 a 2 segundos con MP3.
Probando Voxtral TTS: ejemplos prácticos
Me centré en tres escenarios. Primero, si una voz predefinida aguanta para narración general, especialmente si la naturalidad se rompe donde los sistemas TTS suelen fallar. Segundo, qué tal capta la clonación de voz a un hablante real a partir de un clip corto y cuánto importa realmente la duración. Tercero, cuánto afecta el formato de salida a la latencia en la práctica.
Puesta en marcha
Primero, instala el SDK oficial de Python y configura tu clave de API. Necesitarás una cuenta de Mistral con facturación habilitada.
pip install mistralai
Configura tu clave de API como variable de entorno:
export MISTRAL_API_KEY="your-api-key-here"
Ejemplo 1: generación básica de voz
Las voces predefinidas cubren inglés americano, inglés británico y dialectos franceses, y son un buen punto de partida para narración general cuando la identidad del hablante no importa.

Playground de Mistral Studio para Voxtral TTS. Imagen del autor.
Aquí va la versión más simple, usando una voz predefinida:
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
# Generar voz a partir de texto
response = client.audio.speech.complete(
model="voxtral-mini-tts-2603",
input="Welcome to Voxtral TTS. This is a basic speech generation test.",
voice_id="your-voice-id", # Usa un ID de voz de tu cuenta
response_format="mp3",
)
# Guardar el archivo de audio
Path("basic_output.mp3").write_bytes(base64.b64decode(response.audio_data))
print("Saved to basic_output.mp3")
Un par de detalles a tener en cuenta. El método es .complete(), no .create() como podrías esperar si vienes de la API de TTS de OpenAI. La respuesta devuelve audio en base64 en response.audio_data, así que hay que decodificarlo antes de escribirlo en disco.
Lo primero que revisé fue el ritmo al final de frase. Muchos modelos TTS caen de forma mecánica en el punto final, una cadencia plana que delata de inmediato lo sintético. Aquí se mantuvo bien. Lo que me sorprendió fueron las pausas por comas a mitad de frase: los sistemas más básicos suelen tratarlas como paradas en seco, pero el tempo se mantuvo continuo. La pronunciación fue precisa en todo momento, incluido el término "Voxtral", que esperaba que tropezara.
Ejemplo 2: crear una voz personalizada
Cuando la identidad del hablante importa, la API te permite crear un perfil de voz reutilizable a partir de un clip de referencia corto.
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
# Codifica tu audio de referencia en base64
sample_audio_b64 = base64.b64encode(
Path("reference_voice.mp3").read_bytes()
).decode()
# Crear un perfil de voz reutilizable
voice = client.audio.voices.create(
name="my-custom-voice",
sample_audio=sample_audio_b64,
sample_filename="reference_voice.mp3",
languages=["en"],
gender="male",
)
print(f"Created voice with ID: {voice.id}")
# Generar voz usando la voz clonada
response = client.audio.speech.complete(
model="voxtral-mini-tts-2603",
input="This sentence was generated using a cloned voice from just a few seconds of reference audio.",
voice_id=voice.id,
response_format="mp3",
)
Path("cloned_output.mp3").write_bytes(base64.b64decode(response.audio_data))
print("Saved to cloned_output.mp3")

Salida de terminal del script de clonación de voz. Imagen del autor.
Mi primer intento usó un clip de unos tres segundos. El resultado sonaba verosímil pero genérico: rango vocal correcto, pero sin las inflexiones específicas que hacen una voz reconocible. Podría haber sido cualquiera. Al cambiar a un clip de ocho segundos, la diferencia fue clara: la salida clonada capturó el acento, el ritmo y la ligera subida al final de las preguntas que el clip corto había aplanado por completo.
La voz clonada no sonaba idéntica a la fuente, pero sí claramente en el mismo registro y con un tempo similar. Por mi experiencia, entre 8 y 15 segundos es un buen punto medio entre esfuerzo y calidad del resultado.
Ejemplo 3: comparación de formatos y latencia
El formato de salida influye en lo rápido que llega el primer fragmento de audio. Probé dos formatos.
import os
import time
from mistralai.client import Mistral
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
text = "This is a latency test comparing PCM and MP3 output formats from Voxtral TTS."
voice_id = "your-voice-id"
def time_to_first_chunk(response_format):
start = time.time()
stream = client.audio.speech.complete(
model="voxtral-mini-tts-2603",
input=text,
voice_id=voice_id,
response_format=response_format,
stream=True,
)
for _ in stream:
return time.time() - start # return on first chunk
pcm_time = time_to_first_chunk("pcm")
mp3_time = time_to_first_chunk("mp3")
print(f"PCM latency: {pcm_time:.2f}s")
print(f"MP3 latency: {mp3_time:.2f}s")

Comparativa de latencia entre dos formatos de salida. Imagen del autor.
Ejecuté primero la prueba con MP3, ya que suele ser el formato por defecto en la mayoría de flujos de audio. El resultado fue utilizable, en torno a 1,5 a 2 segundos, pero para un agente de voz es una pausa perceptible antes de empezar a reproducir. La documentación de Mistral menciona hasta 3 segundos para MP3; no lo vi en mi caso, aunque la red puede variar. PCM quedó entre 0,6 y 0,9 segundos, en línea con la cifra de ~0,8 segundos que reporta Mistral.
La contrapartida es que PCM es audio sin comprimir, así que tu aplicación debe gestionarlo o convertirlo antes de una reproducción estándar. Si vas a guardar en archivo o usar un reproductor convencional, MP3 es más sencillo. Si controlas directamente la pila de audio, como en un pipeline de agente de voz, PCM es la opción práctica para minimizar la latencia.
La API admite cinco formatos de salida: MP3, WAV, PCM (float32 sin comprimir), FLAC y Opus. El modelo genera hasta dos minutos de audio en una sola pasada. Para contenidos más largos, la API lo gestiona automáticamente con lo que Mistral llama "smart interleaving": divide el texto en fragmentos, sintetiza cada uno y los une sin saltos audibles.
Además, preparé una pequeña app en Streamlit que reúne los tres ejemplos en una sola interfaz. Aquí tienes un breve recorrido de cómo funciona:
Todo el código de este tutorial está disponible en este repositorio de GitHub.
Precios de Voxtral TTS
Voxtral TTS cuesta 16 $ por millón de caracteres a través de la API en la nube. Hay un nivel gratuito para pruebas, y los pesos abiertos en Hugging Face son gratis para uso no comercial bajo CC BY-NC 4.0.
Así se compara con las principales alternativas a comienzos de 2026.
|
Proveedor |
Modelo |
Precio por 1M de caracteres |
Pesos abiertos |
|
Mistral |
Voxtral TTS |
$16 |
Sí (no comercial) |
|
OpenAI |
TTS-1 |
$15 |
No |
|
OpenAI |
TTS-1-HD |
$30 |
No |
|
Google Cloud |
Neural2 |
$16 |
No |
|
Google Cloud |
Chirp 3 HD |
$30 |
No |
|
Amazon Polly |
Neural |
$16 |
No |
|
Azure Speech |
Neural TTS |
$15-16 |
No |
|
Deepgram |
Aura-2 |
$30 |
No |
|
ElevenLabs |
Flash v2.5 |
~$25-110 (según plan) |
No |
Voxtral TTS se alinea en precio con los proveedores de nube de gama media, no con los más económicos. Mistral lo ha calificado como "una fracción de cualquier otra cosa en el mercado", pero eso aplica sobre todo frente a ElevenLabs. Frente a OpenAI TTS-1, Google Neural2 y Amazon Polly, el precio es prácticamente el mismo.
La diferencia clave son los pesos abiertos: ningún otro proveedor de la tabla ofrece pesos autohospedables. Para proyectos no comerciales, eso significa despliegue local gratuito vía vLLM-Omni. Para empresas, Mistral ofrece opciones on-premise mediante su plataforma Forge.
La contrapartida es la cobertura de idiomas. Nueve idiomas frente a más de 70 en ElevenLabs. Si tu caso de uso va más allá de la lista compatible, esa diferencia importa.
Conclusión
En este tutorial hemos visto tres ejemplos con la API: generación básica de voz, clonación de voz y latencia según el formato de salida. Pero puedes hacer mucho más.
Tanto si estás construyendo un agente de voz, una herramienta de narración multilingüe o cualquier solución donde el audio deba permanecer en tu propia infraestructura, Voxtral TTS es una opción práctica a evaluar. Antes de pasar a producción, ten en cuenta que los benchmarks son auto-reportados, la licencia CC BY-NC restringe el autohospedaje comercial y, por ahora, el autohospedaje requiere vLLM-Omni. La documentación de Mistral y el paper de investigación son buenos puntos de partida.
Soy ingeniero de datos y creador de comunidades. Trabajo con canalizaciones de datos, nube y herramientas de IA, al tiempo que escribo tutoriales prácticos y de gran impacto para DataCamp y programadores emergentes.
FAQs
¿Voxtral TTS requiere GPU?
Para la API en la nube, no. Los requisitos de GPU solo aplican si te autohospedas con los pesos abiertos. Los pesos BF16 por defecto ocupan unos 8 GB y necesitan al menos 16 GB de VRAM para inferencia. El paper menciona una versión cuantizada de unos 3 GB, pero no es la versión por defecto en Hugging Face.
¿Puedo usar los pesos abiertos con fines comerciales?
Los pesos tienen licencia CC BY-NC 4.0, así que solo para uso no comercial. La API en la nube no tiene esa restricción. Si necesitas un despliegue comercial on-premise, Mistral ofrece licencias para empresas. Ten en cuenta que sus modelos de voz a texto usan la más permisiva Apache 2.0, que es una situación distinta.
¿Cómo maneja Voxtral TTS los idiomas que no admite?
No devuelve error. Según los informes, si usas un idioma no compatible, la salida suele degradarse sin avisar. Verifica el idioma por tu cuenta antes de enviar la solicitud.
¿Puedo usar Voxtral TTS para agentes de voz en tiempo real?
Sí. El tiempo hasta el primer audio ronda ~0,8 segundos con PCM y 1,5 a 2 segundos con MP3, según las cifras de Mistral y mis propias pruebas. Es viable para agentes de voz, aunque PCM es mejor si la velocidad de respuesta importa.
¿La calidad de clonación de voz varía según el idioma?
Sí. Según las evaluaciones de Mistral, hindi y español ofrecieron los mejores resultados, mientras que neerlandés fue el punto débil. Esos datos son auto-reportados, así que tómalos como orientativos, pero conviene tenerlo en cuenta si construyes para un idioma concreto.





