Ir al contenido principal

Gemini 2.5 Pro TTS para audio NSFW: pruebas y ajustes que funcionan

Gemini 2.5 Pro TTS lee guiones NSFW sin cambios e interpreta indicaciones y diálogos. Voces, solicitudes y coste: $0,00045 por segundo.

Autor
SpicyAPI Engineering
Publicado
Lectura
9 min de lectura
Actualizado
Una mujer se acerca a un micrófono de estudio en una cabina de grabación con poca luz

Tienes un guion para adultos, ya sea un mensaje de voz, un capítulo de ficción o una escena de dos personajes, y quieres que se lea tal como está escrito, con las respiraciones y los suspiros, y saber cuánto costará. Gemini 2.5 Pro TTS lo hace en SpicyAPI. SpicyAPI no añade ningún filtro de contenido: en nuestras pruebas de septiembre de 2026, los guiones para adultos se convirtieron en audio completo, sin omisiones, suavizaciones ni cortes prematuros.

Para empezar en el Playground:

  1. Elige una Voice para el ambiente: Enceladus (con aire), Achernar (suave), Sulafat (cálida), Gacrux (madura) o la predeterminada Kore (firme).
  2. Ajusta Style (Whisper suele ser la opción para material íntimo) y añade una o dos frases en Delivery instructions o Scene para situar el momento.
  3. Pon los sonidos entre corchetes dentro de Text, como [sighs] o [laughs]. En nuestros ejemplos estas indicaciones se interpretaron como sonidos; si alguna se lee, pasa la instrucción a Delivery instructions.
  4. Para dos personajes, utiliza Dialogue y Speakers en lugar de Text.

Prueba Gemini 2.5 Pro TTS →

Pruébalo primero en el Playground

Abre Gemini 2.5 Pro TTS y utiliza la pestaña Playground con la vista Form:

  1. Pega tu guion en Text (hasta 5000 caracteres). Los accesos de Cues insertan [whispers], [sighs], [laughs], [gasps] y [pause].
  2. Elige una Voice (por ejemplo, Enceladus · Breathy) y ajusta Style a Whisper y Pace a Unhurried para una lectura lenta y pausada.
  3. Escribe una o dos frases en Delivery instructions y Scene. Ninguno de los dos campos se pronuncia.
  4. Comprueba la estimación basada en la longitud debajo de Text, pulsa Run model y escucha el resultado en Output. Descarga el WAV desde allí.

Prueba aquí el pasaje más difícil antes de escribir código: una indicación que se lee en vez de interpretarse en el Playground también se leerá desde la API. Los ajustes siguientes explican cada control.

Ajustes que cambian el resultado

voice_id acepta una de las 30 voces predefinidas. La predeterminada es Kore.

AmbienteVoces que puedes probar
Con aire, cercanaEnceladus
Suave, delicadaAchernar, Vindemiatrix
CálidaSulafat
Madura, ásperaGacrux, Algenib
FirmeKore, Orus
Animada, desenfadadaPuck, Aoede

Cuatro campos opcionales moldean la interpretación. Ninguno se lee en voz alta.

  • style establece la forma general de hablar: whisper, empathetic, vocal_smile, newscaster, promo_hype o deadpan.
  • pace establece el ritmo: natural, rapid_fire (rápido, cortado), the_drift (lento, prolongado) o staccato (frases cortas y separadas). Un ritmo más lento produce más segundos de audio, y pagas por segundos.
  • instructions (hasta 1000 caracteres) es texto libre sobre el ambiente, la distancia al micrófono y a quién se habla. Una o dos frases funcionan mejor que una lista de adjetivos: "close to the microphone, unhurried, as if speaking only to the listener".
  • scene (hasta 500 caracteres) indica dónde y a quién se dicen las palabras, como "a quiet hotel room after midnight".

accent (ocho acentos ingleses, solo para guiones en inglés) y temperature (cuánto varían las tomas) son opcionales; déjalos sin definir hasta que quieras una variación. No hay campo de idioma: el modelo detecta el idioma del guion y cada voz mantiene su carácter.

Escribe el guion para que se interprete

Dentro de text, las indicaciones breves entre corchetes marcan dónde hacer un sonido o cambiar la forma de hablar. [sighs] y [laughs] se interpretaron en nuestros ejemplos. Usa style: "whisper" o instructions para dirigir un pasaje más largo; si una etiqueta se lee como palabra, usa esos campos en su lugar. Los puntos suspensivos sugieren pausas.

Dos hábitos ayudan:

  • Escribe para el oído. Escribe lo que debe decirse, usa puntos suspensivos y comas para las pausas y mantén las frases cortas.
  • Dirige desde los campos, no desde el texto. Si escribes "she whispers breathlessly" dentro de text, se leerá como palabras. Ponlo en style o instructions.

Después, llámalo desde el código

Este bloque crea la tarea, espera a que termine e imprime el enlace WAV (pip install spicyapi, con SPICY_API_KEY configurado):

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

task = client.create_task(
    model="google/gemini-2.5-pro-tts/text-to-speech",
    input_data={
        "text": "Hey... it is me. [sighs] I know it is late. Stay on the line a little longer?",
        "voice_id": "Enceladus",
        "style": "whisper",
        "pace": "the_drift",
        "scene": "A quiet bedroom after midnight, speaking to one listener",
        "instructions": "Close to the microphone, unhurried, a little tired.",
    },
    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"])  # a 24 kHz, 16-bit mono WAV; copy it to your own storage

El audio se conserva durante 14 días y no incluye marcas de tiempo por palabra ni subtítulos. La espera, los reintentos, los enlaces de resultados que caducan y la gestión de errores se explican en la referencia del SDK de Python, la documentación de tareas y la política de retención.

O deja que un Agent lo ejecute

Si un asistente debe generar los mensajes de voz, dale la CLI o el servidor MCP; ambos muestran el precio y piden confirmación antes de una llamada de pago. El Skill añade instrucciones sobre cualquiera de los dos.

  • CLI. spicyapi (npx @spicyapi/cli funciona sin instalarlo); input.json contiene el objeto input del bloque anterior:

``bash spicyapi tasks create --model google/gemini-2.5-pro-tts/text-to-speech \ --input-file input.json --wait ``

  • Servidor MCP. Añade el servidor MCP y pide: "Read this script in a whispered Enceladus voice with Gemini 2.5 Pro TTS." Llama a spicyapi_task_create (que se detiene para que confirmes el precio) y spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill instala el Agent Skill, que enseña a un asistente de programación a leer el esquema actual y reutilizar las claves de idempotencia. No puede ejecutar tareas por sí solo, así que úsalo con la CLI o MCP.

Dos personajes en un solo clip

Para una escena entre dos personajes, envía dialogue en lugar de text (no ambos), junto con speakers para definir el reparto. Cada hablante tiene un name al que hacen referencia las líneas y un voice_id, y puede definir sus propios accent, style y pace, además de un breve profile que describa quién habla (no se lee en voz alta). Los valores que un hablante omita se toman del nivel superior. Cada línea de diálogo es {speaker, text} y se interpreta en orden, con hasta 20 líneas de 250 caracteres cada una y un máximo de dos hablantes. Usa la misma llamada anterior y sustituye el objeto input por este.

json
{
  "speakers": [
    { "name": "Mara", "voice_id": "Sulafat", "style": "whisper", "profile": "Warm, close, unhurried" },
    { "name": "Jonah", "voice_id": "Charon", "profile": "Low, amused" }
  ],
  "dialogue": [
    { "speaker": "Mara", "text": "Stay a little longer." },
    { "speaker": "Jonah", "text": "[laughs] You say that every time." },
    { "speaker": "Mara", "text": "And every time you do." }
  ],
  "scene": "A quiet apartment after midnight"
}

La conversación se devuelve como un único WAV mezclado. Para editar por separado las líneas de un personaje más adelante, genera cada personaje como una tarea independiente de una sola voz y une los archivos en tu editor. Para escenas más largas, más de dos voces o una voz clonada a partir de un clip de referencia, consulta la comparativa de TTS y la guía de referencias de voz de Chatterbox.

Cuánto cuesta

Se factura por segundo de audio realmente devuelto, medido a partir del archivo, a $0,00045 por segundo. La duración depende de la voz, el estilo y el ritmo: un párrafo de 270 caracteres dura de 23 a 29 segundos, así que el coste aproximado es el número de caracteres dividido entre 10 y multiplicado por $0,00045.

Duración del clipCosteCantidad aproximada de texto
15 segundos$0,0068150 caracteres
30 segundos$0,0135300 caracteres
60 segundos$0,027600 caracteres
5 minutos$0,1353000 caracteres
De 7 a 9 minutosDe $0,19 a $0,245000 caracteres, el límite de text

Mientras se ejecuta una tarea, se retienen unos $0,30 de tu saldo (660 segundos a la tarifa por segundo, que cubren el clip más largo que puede generar el modelo, unos 655 segundos), y la parte no utilizada se libera cuando se mide el audio. Una solicitud fallida no se cobra. Mantén al menos esa cantidad de saldo disponible antes de poner un lote en cola, ya que las retenciones de tareas anteriores pueden impedir que se inicie la siguiente.

Errores habituales

  • Una indicación se lee como palabra. Reformúlala o pasa la instrucción a style o instructions y deja entre corchetes solo el sonido.
  • Parece que una instrucción se ignora. accent solo afecta a los guiones en inglés; style y pace del nivel superior se aplican a todos los hablantes que no definen sus propios valores.
  • Has enviado tanto text como dialogue. Elige uno; dialogue también requiere speakers.

Cuándo elegir una voz Gemini más reciente

Gemini 3.8 Flash TTS ($0,00032 por segundo) y Gemini 3.8 Flash-Lite TTS ($0,00021 por segundo) aceptan los mismos campos, incluido dialogue, a un precio menor. Flash-Lite tiende a leer algunas indicaciones entre corchetes, así que elige Pro cuando importen las respiraciones y los suspiros. Flash suele interpretar también las indicaciones entre corchetes; prueba primero un pasaje corto. La guía de narración con Gemini 3.8 detalla ambos modelos.

Preguntas frecuentes

¿Gemini 2.5 Pro TTS funciona sin censura?

Los guiones para adultos que probamos se devolvieron completos, sin omitir ni suavizar palabras. SpicyAPI no añade ningún filtro de contenido adicional. Tú sigues siendo responsable de los guiones y del uso del audio, incluido no presentarlo como palabras de una persona real. Usa personajes ficticios y adultos.

¿Se leen en voz alta indicaciones como [sighs] o [laughs]?

Los ejemplos probados con [sighs] y [laughs] los interpretaron como sonidos. Si se lee otra indicación, pásala a instructions o utiliza style. Otros modelos se comportan de forma diferente, como explica la comparativa de TTS anterior.

¿Qué diferencia hay entre instructions, scene y style?

style es una lista fija de formas generales de hablar. instructions contiene indicaciones libres sobre la interpretación, y scene dice dónde y a quién se habla. Usa primero style y después añade instructions o scene para concretar el momento.

¿Cuánto cuesta un minuto de audio?

Unos $0,027, facturados según los segundos devueltos y no la longitud del guion.

¿Puedo clonar una voz?

No en este endpoint. Elige entre las 30 voces predefinidas o utiliza un modelo que acepte un clip de referencia.

Empieza en el Playground (crea una cuenta primero): Enceladus, Whisper y un guion corto con una indicación [sighs] muestran cómo se interpreta la dirección.

También en English · 日本語 · 한국어 · Deutsch · Français · Português (Brasil) · Русский · Italiano · Polski

Pruébalo tú mismo

Pagas solo lo que ejecutas: sin planes ni suscripciones.

Hecho con MiniMax H3 · ByteDance Seedance 2.0 Fast