Para un capítulo de audiolibro adulto o un mensaje de voz de un personaje, elija Gemini 3.8 Flash TTS para las indicaciones interpretadas o su mayor cobertura de idiomas, y Flash-Lite TTS para la narración sencilla y ya terminada, los mensajes cortos y las líneas en grandes volúmenes. Ambos leen el vocabulario adulto explícito tal como está escrito. Flash interpreta indicaciones entre corchetes como [whispers] (normalmente; haga una prueba antes) y cubre 130 idiomas frente a los 101 de Lite. Lite no interpreta de forma fiable las indicaciones entre corchetes y a veces las lee en voz alta, así que necesita guiones sencillos. Flash cuesta $0.00032 por segundo de audio devuelto y Lite $0.00021. La diferencia es de $0.066 por diez minutos de audio, o $6.60 en 1.000 minutos. Según nuestras pruebas de septiembre de 2026.

Ilustración de la pareja adulta ficticia de los ejemplos; no es un resultado de audio.
Qué modelo para qué tarea
| Flash TTS | Flash-Lite TTS | |
|---|---|---|
| 10 minutos de audio | $0.192 | $0.126 |
Indicaciones entre corchetes ([whispers], [sighs]) | Interpretadas la mayoría de las veces; en ocasiones se pronuncia la palabra de la etiqueta | No se interpretan de forma fiable; las palabras de las etiquetas a veces se leen en voz alta, así que escriba los sonidos |
| Idiomas | 130 | 101 (sin tailandés, sueco, finés, suajili ni somalí) |
| Dos hablantes en una petición | Sí (speakers + dialogue) | Sí, la misma estructura |
| Voces / salida | 30 voces preestablecidas, un WAV mono de 24 kHz y 16 bits | Igual |
| Úselo para | Escenas de audiolibro interpretadas, sonidos vocales, mucho diálogo, mayor cobertura de idiomas | Narración sencilla y ya terminada y mensajes, borradores, pruebas de voz, líneas en grandes volúmenes |
Use Flash TTS cuando una risa, un suspiro o un susurro tenga que caer en el sitio exacto, y Flash-Lite TTS para habla sencilla. Pruebe las líneas sencillas en Lite y conserve una toma satisfactoria; no hace falta regenerarla en Flash. Pase a Flash cuando la escena necesite indicaciones interpretadas o un idioma que Lite no admita. Ambos aceptan los mismos campos, así que cambiar es cambiar el nombre del modelo.
Cree un mensaje de voz de un personaje
Pruébelo primero en el Playground. Abra Flash TTS o Flash-Lite TTS, use la pestaña Playground con la vista Form y:
- Ponga en Text solo las palabras que quien escucha debe oír (hasta 5.000 caracteres). En Flash, los atajos de Cues insertan
[whispers],[sighs],[laughs],[gasps]y[pause]; Lite muestra un aviso de que esas etiquetas se leen en voz alta. - Elija una Voice (la predeterminada es
Kore) y, si quiere, un Style y un Pace. - Añada notas de interpretación en Delivery instructions (hasta 1.000 caracteres) y en Scene (hasta 500). Ninguna de las dos se pronuncia.
- Compruebe la estimación de duración, pulse Run model y reproduzca o descargue el WAV en Output.
Después, la misma petición desde código (pip install spicyapi, con SPICY_API_KEY definido). Crea la tarea, espera e imprime el enlace del WAV; para Lite, cambie el modelo a google/gemini-3.8-flash-lite-tts/text-to-speech y escriba los sonidos en vez de usar corchetes:
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="google/gemini-3.8-flash-tts/text-to-speech",
input_data={
"text": "You made it. I was starting to think you had changed your mind. Stay a little longer; I like having you here.",
"voice_id": "Kore",
"instructions": "Quiet, warm and intimate. Speak to one adult listener, with a natural pause after the first sentence.",
"pace": "natural",
},
idempotency_key=str(uuid.uuid4()), # new key per new request; reuse only to retry the same one
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
print(output_assets(final)[0]["url"]) # 24 kHz 16-bit mono WAV; copy it to your own storageLa espera, los reintentos y el manejo de errores están en la referencia del SDK de Python y en la documentación de tareas.
Mantenga las etiquetas Character:, los números de toma y las descripciones de escena fuera de text; el modelo lo lee como una transcripción. Mantenga instructions en una o dos frases sobre el tono y la distancia al micrófono, y elija otra voz en vez de describir ahí la edad o el género; ajuste el acento con el campo accent.
En Flash, coloque una indicación justo antes de la línea que dirige: [whispers] You made it. La página del modelo también enumera [sighs], [laughing] y [gasping], y sus ejemplos usan [softly] y [teasing]; las pausas vienen de la puntuación (comas, puntos suspensivos, puntos), no de una etiqueta. Use corchetes rectos, no las etiquetas con corchetes angulares de la documentación de la API directa de Google. Si una etiqueta se pronuncia en vez de interpretarse, regenere o mueva esa línea a instructions.
En Lite, escriba los sonidos como palabras: Mmm... you made it. o Ha... of course you did. Deje los corchetes fuera por completo y transmita el tono mediante instructions, la puntuación y las frases cortas.
O deje que un agente lo ejecute. Déle a un asistente la CLI o el servidor MCP; ambos muestran el precio y le piden confirmar antes de una llamada de pago, y el Skill añade instrucciones a cualquiera de los dos.
- CLI:
spicyapi(npx @spicyapi/clifunciona sin instalarlo);input.jsoncontiene el objetoinputde arriba:
``bash spicyapi tasks create --model google/gemini-3.8-flash-tts/text-to-speech \ --input-file input.json --wait ``
- Servidor MCP: añada el servidor MCP y pida «Lee esta línea con calidez usando Gemini 3.8 Flash TTS». Llama a
spicyapi_task_create(que se detiene para su confirmación de precio) y luego aspicyapi_task_wait. - Skill:
npx skills add spicyapi-ai/spicy-skillinstala el Agent Skill; enseña al asistente a leer el esquema en vivo y no puede ejecutar tareas por sí mismo, así que combínelo con la CLI o con MCP.
Elija una voz
Los IDs de voz distinguen mayúsculas y minúsculas, y Kore (firme) es la predeterminada. Las opciones más cálidas o suaves incluyen Sulafat (cálida), Achernar (suave) y Enceladus (con respiración audible); Charon (informativa) encaja con la narración, Gacrux es madura, Algenib es rasposa y Puck es animada. Pruebe las mismas dos líneas con tres voces en Lite y luego mantenga esa voz para todo el libro. Una voz conserva su carácter entre idiomas. Estos ajustes preestablecidos son las únicas voces: no hay clonación ni referencia subida.

Ilustración; no es un resultado de audio.
Dos adultos en una petición
Las etiquetas de hablante dentro de text no crean dos voces. Use dialogue en lugar de text y dé a cada línea un nombre de hablante que aparezca en speakers.
{
"speakers": [
{"name": "Mara", "voice_id": "Kore", "style": "vocal_smile"},
{"name": "Eli", "voice_id": "Charon", "pace": "natural"}
],
"dialogue": [
{"speaker": "Mara", "text": "You can stay, if you want to."},
{"speaker": "Eli", "text": "I was hoping you would ask."}
],
"scene": "Two fictional adults speaking quietly after a dinner date."
}Límites: dos hablantes, 20 líneas, 250 caracteres por línea. Recibe un único WAV mezclado, no un archivo por actor; para editar las voces por separado, genere las líneas de cada hablante como tareas independientes de una sola voz. Cada hablante puede llevar su propio style, pace, accent y un profile (que no se lee en voz alta).
Convierta un capítulo en peticiones
Una sola petición admite hasta 5.000 caracteres. En la práctica, un párrafo de 270 caracteres vuelve en unos 20 a 26 segundos, así que de seis a ocho minutos es una estimación aproximada para una petición completa de 5.000 caracteres, no un límite de duración. Ese rango cuesta de $0.1152 a $0.1536 en Flash o de $0.0756 a $0.1008 en Lite (unos $0.12–$0.15 y $0.08–$0.10 respectivamente). Un capítulo de 20 minutos son por tanto tres o cuatro peticiones: $0.384 en Flash, $0.252 en Lite.
- Divida en los cambios de escena o las pausas largas, no a mitad de frase; una costura dentro de una escena es donde más se nota un cambio de timbre.
- Reutilice exactamente la misma voz,
instructionsy configuración en cada fragmento, o un narrador empezará a sonar como dos. - Calcule con margen: paga por los segundos devueltos, y las configuraciones de
pacemás lentas devuelven más. - Conserve el WAV durante 14 días. No hay marcas de tiempo ni subtítulos; alinee una transcripción en su editor si la necesita.
- Espere una retención temporal: una tarea en curso reserva una asignación de 660 segundos y libera la parte no usada al completarse.
- Sin MP3, sin pistas de música, sin deslizadores de tono o velocidad y sin llamadas en directo. Convierta el WAV localmente, añada ambiente en un editor y use una integración en tiempo real para voz en directo.
Ajustes que cambian el resultado
pace ofrece natural, rapid_fire, the_drift (lento, que se demora) y staccato. Empiece por natural; si una línea suena precipitada, corrija primero la puntuación. style ofrece whisper, empathetic, vocal_smile, newscaster, promo_hype y deadpan; para una escena íntima pruebe whisper o vocal_smile. accent ofrece ocho acentos ingleses (neutro, tres americanos, dos británicos, transatlántico, australiano). temperature va de 0 a 2 y controla la variación entre tomas; déjelo sin definir para la primera toma.
Cuando algo suena mal
| Lo que oye | Qué cambiar |
|---|---|
| Lite lee en voz alta una indicación entre corchetes | Quite los corchetes y escriba el sonido, o mueva esa línea a Flash |
| Flash pronuncia una palabra de indicación en vez de interpretarla | Regenere; si se repite, reformule la indicación o use instructions |
| Una línea suena como un anuncio | Quite promo_hype o newscaster; pruebe con una instrucción conversacional breve |
| Su idioma no es compatible o se lee mal en Lite | Use Flash (130 idiomas) |
| Las notas de dirección se pronuncian al principio | Confirme que no están en text; si lo están, informe del ID de tarea al soporte |
Como ejemplo de escucha, aquí está la muestra publicada de Flash TTS con confesión susurrada. La documentación del modelo de Google cubre solo la API directa.
En resumen: narración sencilla, borradores y líneas en grandes volúmenes en Lite; indicaciones interpretadas o un idioma que Lite no tenga en Flash. En cualquier caso, ejecute un pasaje corto con la voz que quiere antes de comprometer un capítulo entero, y luego reutilice esa voz y esa dirección en cada pieza.
Otras opciones de audio: la comparación de API de síntesis de voz sin censura (artículo en inglés) y Gemini 2.5 Pro TTS para audio NSFW.







