En esta página, se describen las prácticas recomendadas para escribir instrucciones cuando se usan Gemini 3.8 Flash TTS y Gemini 3.8 Flash-Lite TTS.
Para ver la sintaxis de la solicitud y las muestras de código, consulta la descripción general de Gemini TTS.
Los modelos de Gemini 3.8 TTS tratan el campo text como una transcripción literal.
La dirección sostenida a nivel de turno se incluye en speech_metadata, y los eventos vocales puntuales se incluyen intercalados en la transcripción. En la siguiente solicitud, se combina un
style a nivel de turno con etiquetas de voz y pausas intercaladas:
{
"contents": [{
"role": "user",
"parts": [{
"text": "Wait... <short pause> did you hear that? <gasp> Someone's at the door.",
"speechMetadata": {"style": "whispered, nervous"}
}]
}],
"generationConfig": {
"responseModalities": ["AUDIO"],
"speechConfig": {"voiceConfig": {"voice": "Kore"}}
}
}
Campo de estilo frente a etiquetas intercaladas
Divide tus instrucciones de rendimiento por alcance:
- Publicación a nivel de turno (
speech_metadata.style): Coloca atributos de publicación sostenidos, como emoción, prosodia, ritmo general o estilo de publicación (como"whispering","out of breath","muttering"o"sarcastic"), en el campostyledespeech_metadata. Para crear un personaje y un rendimiento estables en todos los turnos, diseña el arquetipo de antemano en Diseño de voz y usastylesolo para ajustes opcionales a nivel de turno. - Eventos puntuales (etiquetas intercaladas): Coloca ráfagas vocales momentáneas que no sean de voz,
respiraciones o pausas intercaladas dentro de la transcripción con corchetes angulares
(
<cough>,<breath>,<sigh>,<short pause>). Usa corchetes angulares (<...>) para obtener la mejor calidad de audio y limítate a las vocalizaciones humanas en lugar de los efectos de sonido no vocales.
| Alcance | Dónde colocarlo | Ejemplos |
|---|---|---|
| A nivel de turno (se mantiene durante todo el turno) | speech_metadata.style |
"angry tone", "speaking rapidly", "out of breath", "whispers", "sarcastic" |
| En un momento determinado (ocurre en una palabra específica) | En línea en text (<...>) |
"<cough> Thank you all for coming tonight! <throat-clearing> As I was saying..." |
Ritmo y pausas
Puedes controlar el ritmo y el silencio en tres niveles:
- Puntuación y puntos suspensivos: Usa comas, guiones (
--) y puntos suspensivos (...) para generar vacilaciones naturales. - Etiquetas de pausa intercaladas: Inserta
<short pause>o<long pause>donde el orador deba hacer una pausa. Por ejemplo:"Hold on, let me think... <short pause> Alright, I've got it." - Ritmo a nivel de turno: Establece
"style": "speaking rapidly"o"style": "speaking slowly"enspeech_metadatapara controlar la velocidad de habla durante todo el turno.
Prosodia y tono
Usa speech_metadata.style para controlar la prosodia, el tono y la inflexión en un
turno. Por ejemplo, "style": "high pitch, cheerful and excited inflection" o
"style": "monotone and flat". Si la emoción cambia a mitad del diálogo, divide el
guion en turnos separados, cada uno con su propio style.
Énfasis
Escribe en mayúsculas las palabras de la transcripción, junto con la puntuación y las etiquetas intercaladas,
para enfatizarlas. Por ejemplo:
"This is a VERY important point!" o
"It was a VERY long day <sigh> ... nobody listens anymore."
Estallidos vocales y sonidos no verbales
Coloca las vocalizaciones humanas que no sean de voz entre corchetes angulares (<...>) en el punto en el que se produce el sonido. Usa vocalizaciones humanas en lugar de
efectos de sonido no vocales, como aplausos. Entre las etiquetas de voz recomendadas, se incluyen las siguientes:
| Etiqueta | Etiqueta | Etiqueta | Etiqueta |
|---|---|---|---|
<argh> |
<breath> |
<heavy breath> |
<exhales> |
<cackle> |
<cheer> |
<chuckle>/<chuckles> |
<cough> |
<cry> |
<gasp> |
<giggle> |
<groan> |
<growl> |
<grunt> |
<grr> |
<hiss> |
<laugh>/<laughter> |
<moan> |
<pant> |
<pff>/<phew> |
<scream> |
<shout> |
<shriek> |
<sigh>/<sighs> |
<sneeze> |
<snicker> |
<snort> |
<sob> |
<throat-clearing> |
<tsk> |
<whimper> |
<whispers>/<whispering> |
<yawn> |
<short pause> |
<long pause> |
Canales de retroalimentación y voces superpuestas
En los diálogos con varios interlocutores, encierra las reacciones de los oyentes entre caracteres de barra vertical (|reaction|) dentro del turno del interlocutor activo. Esto crea canales de retorno naturales o discursos superpuestos sin un turno separado para cada reacción.
- Canales secundarios cortos: Agrega reacciones breves del oyente dentro del turno del interlocutor activo:
- Turno 1 (interlocutor A):
"So the launch is Thursday |oh hmm| Are we actually ready?" - Turno 2 (interlocutor B):
"Ready enough |oh really?| The last blocker cleared this morning." - Turno 3 (interlocutor A):
"Then let's ship it |absolutely| and watch the dashboards."
- Turno 1 (interlocutor A):
- Voz superpuesta y entrelazada: Usa varios segmentos de canalización para
simular la voz simultánea. Esto funciona mejor con
gemini-3.8-flash-tts:- Cuenta regresiva o estribillo:
"Let's surprise him on three |ok| ready?"seguido de"one. two. three. |happy| happy |birthday| birthday!" - Superposición total:
"Hello |oh| there |my| it |goodness| must |gracious| be |would| almost |you| time |look| for |at that| dinner"
- Cuenta regresiva o estribillo:
Coherencia entre generaciones y qué evitar
Sigue estos lineamientos para mantener la identidad vocal estable en todos los turnos:
- Diseña las personas por adelantado en el diseño de voz en lugar de bloques de estilo largos:
Los párrafos de
"Audio Profile"de formato largo y las viñetas múltiples de"Director's Notes"transferidos de modelos anteriores son la causa más común de la desviación de la voz. Usa esa misma intuición creativa desde el principio en el diseño de voz para generar un personaje devoice_...personalizado y persistente, y, luego, lleva ese ID de voz a tus llamadas de TTS. - Confiar en la referencia de voz para la estabilidad (omitir las metainstrucciones):
Los modelos de TTS de Gemini 3.8 se entrenan para anclarse primero en la referencia de audio.
No incluyas instrucciones que le indiquen al modelo que mantenga la voz estable (como
"do not switch speaker identity"o"maintain identical timbre"). El texto adicional de la instrucción aumenta la desviación. Descarta las instrucciones de estilo innecesarias y deja que el modelo varíe de forma natural en torno al punto estable que proporciona la referencia de voz. - No intentes cambiar los rasgos inmutables de la persona que habla en
style: Evita incluir la edad, el género, los nombres o los cambios de acento permanentes enspeech_metadata.style. En su lugar, elige una voz regional de la biblioteca de voces extendida o crea una con Diseño de voz.
Flujo de trabajo recomendado
- Crea el personaje una vez: Crea tu personaje en Diseño de voz o selecciona una voz regional de la Biblioteca de voces extendida que coincida con tu idioma de destino y tu personaje.
- Escribe transcripciones habladas naturales con disfluencias: Para lograr la máxima naturalidad, escribe el
textcomo una transcripción hablada real, incluidas las disfluencias y vacilaciones conversacionales naturales (por ejemplo,"Oh uh yeah I think... hm, so that's interesting"). - Primero, prueba el TTS simple: Sintetiza tu transcripción (por ejemplo, en
Agent Studio)
con un campo
stylevacío primero. La mayoría de las solicitudes no necesitan ninguna instrucciónstyle. - Agrega instrucciones
stylecortas solo para realizar ajustes: Agrega una cadenastyleconcisa (como"casual, friendly"o"muttering, then reassuring") solo para los turnos que necesitan un ajuste de entrega específico y reutiliza esa cadena corta exacta en todos los turnos cuando quieras una línea de base coherente.
Diálogo de varios turnos y agentes de voz
Cuando creas un agente de voz conversacional o cualquier otra aplicación de varios turnos, ten en cuenta lo siguiente:
- Realiza una solicitud de TTS para cada turno a medida que llega el texto del LLM.
- Permite que el
voiceconfigurado lleve la identidad del interlocutor en los turnos. No vuelvas a enviar una descripción larga de la persona en cada turno. - Deja
stylevacío o envía una cadena constante corta para toda la conversación. - Divide las respuestas largas del agente en turnos más cortos en lugar de fortalecer la instrucción de
style.
¿Qué sigue?
- Crea un personaje coherente con Diseño de voz.
- Actualiza las instrucciones escritas para modelos anteriores con la guía de migración.