Nesta página, descrevemos as práticas recomendadas para escrever comandos ao usar o Gemini 3.8 Flash TTS e o Gemini 3.8 Flash-Lite TTS.
Para ver a sintaxe da solicitação e exemplos de código, consulte a visão geral da TTS do Gemini.
Os modelos do Gemini 3.8 TTS tratam o campo text como uma transcrição literal.
As instruções de turno sustentadas vão para speech_metadata, e os eventos vocais
pontuais vão para a transcrição. A solicitação a seguir combina um
style no nível da fala com tags vocais inline e pausas:
{
"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 x tags inline
Divida as instruções de desempenho por escopo:
- Entrega em nível de turno (
speech_metadata.style): coloque atributos de entrega sustentada, como emoção, prosódia, ritmo geral ou estilo de entrega (como"whispering","out of breath","muttering"ou"sarcastic"), no campostyledespeech_metadata. Para criar um personagem e um desempenho estáveis em todas as interações, defina a persona com antecedência em Design de voz e usestyleapenas para ajustes opcionais em cada interação. - Eventos pontuais (tags inline): coloque explosões vocais momentâneas não relacionadas à fala, respirações ou pausas inline dentro da transcrição usando colchetes angulares (
<cough>,<breath>,<sigh>,<short pause>). Use colchetes angulares (<...>) para obter a melhor qualidade do áudio e use vocalizações humanas em vez de efeitos sonoros não vocais.
| Escopo | Onde colocar | Exemplos |
|---|---|---|
| Nível de turno (sustentado durante o turno) | speech_metadata.style |
"angry tone", "speaking rapidly", "out of breath", "whispers", "sarcastic" |
| Pontual (ocorre em uma palavra específica) | Inline em text (<...>) |
"<cough> Thank you all for coming tonight! <throat-clearing> As I was saying..." |
Ritmo e pausas
Você pode controlar o ritmo e o silêncio em três níveis:
- Pontuação e reticências: use vírgulas, travessões (
--) e reticências (...) para hesitações naturais. - Tags de pausa inline: insira
<short pause>ou<long pause>onde o locutor deve pausar. Por exemplo:"Hold on, let me think... <short pause> Alright, I've got it." - Ritmo no nível da fala: defina
"style": "speaking rapidly"ou"style": "speaking slowly"emspeech_metadatapara controlar a velocidade da fala em toda a frase.
Prosódia e tom
Use speech_metadata.style para controlar a prosódia, o tom e a inflexão em uma
fala. Por exemplo, "style": "high pitch, cheerful and excited inflection" ou
"style": "monotone and flat". Se a emoção mudar no meio do diálogo, divida o
script em turnos separados, cada um com o próprio style.
Ênfase
Escreva palavras em maiúsculas na transcrição, junto com pontuação e tags inline,
para enfatizá-las. Por exemplo:
"This is a VERY important point!" ou
"It was a VERY long day <sigh> ... nobody listens anymore."
Sons não verbais e explosões vocais
Coloque vocalizações humanas não verbais entre colchetes angulares (<...>) no
ponto em que o som deve ocorrer. Use vocalizações humanas em vez de
efeitos sonoros não vocais, como aplausos. As tags vocais recomendadas incluem:
| Tag | Tag | Tag | Tag |
|---|---|---|---|
<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> |
Interjeições e fala sobreposta
Em diálogos com vários interlocutores, coloque as reações do ouvinte entre caracteres de barra vertical
(|reaction|) dentro da vez do interlocutor ativo. Isso cria canais de retorno naturais ou falas sobrepostas sem uma vez separada para cada reação.
- Canal de retorno curto: insira reações breves do ouvinte durante a fala do
interlocutor ativo:
- Turno 1 (Locutor A):
"So the launch is Thursday |oh hmm| Are we actually ready?" - Turno 2 (Locutor B):
"Ready enough |oh really?| The last blocker cleared this morning." - Turno 3 (Locutor A):
"Then let's ship it |absolutely| and watch the dashboards."
- Turno 1 (Locutor A):
- Fala sobreposta e intercalada: use vários segmentos de pipe para simular falas simultâneas. Isso funciona melhor com
gemini-3.8-flash-tts:- Contagem regressiva ou refrão:
"Let's surprise him on three |ok| ready?"seguido por"one. two. three. |happy| happy |birthday| birthday!" - Sobreposição total:
"Hello |oh| there |my| it |goodness| must |gracious| be |would| almost |you| time |look| for |at that| dinner"
- Contagem regressiva ou refrão:
Consistência entre gerações e o que evitar
Siga estas diretrizes para manter a identidade vocal estável em todas as interações:
- Defina personas com antecedência no design de voz em vez de usar blocos de estilo longos:
parágrafos longos de
"Audio Profile"e listas com vários marcadores de"Director's Notes"transferidos de modelos anteriores são a causa mais comum de desvio de voz. Use essa mesma intuição criativa no design de voz para gerar uma persona personalizada persistente dovoice_...e, em seguida, use esse ID de voz nas chamadas de TTS. - Confiar na referência de voz para estabilidade (omitir metainstruções):
os modelos de TTS do Gemini 3.8 são treinados para se basear primeiro na referência de áudio.
Não inclua instruções que digam ao modelo para manter a voz estável (como
"do not switch speaker identity"ou"maintain identical timbre"). O texto extra do comando aumenta o desvio. Remova instruções de estilo desnecessárias e deixe o modelo variar naturalmente em torno do ponto estável fornecido pela referência de voz. - Não tente mudar características imutáveis do locutor em
style: evite colocar idade, gênero, nomes ou mudanças permanentes de sotaque emspeech_metadata.style. Em vez disso, escolha uma voz regional da Biblioteca de Vozes Estendida ou crie uma com o Design de Voz.
Fluxo de trabalho recomendado
- Crie o personagem uma vez: crie seu personagem no Voice Design ou selecione uma voz regional na Biblioteca de Vozes Estendida que corresponda ao idioma-alvo e à persona.
- Escreva transcrições faladas naturais com disfluências: para máxima
naturalidade, escreva o
textcomo uma transcrição falada real, incluindo disfluências e hesitações naturais de conversação (por exemplo,"Oh uh yeah I think... hm, so that's interesting"). - Teste primeiro a TTS simples: sintetize sua transcrição (por exemplo, no
Agent Studio)
com um campo
stylevazio primeiro. A maioria das solicitações não precisa de nenhuma instruçãostyle. - Adicione comandos curtos de
styleapenas para ajustes: adicione uma string destyleconcisa (como"casual, friendly"ou"muttering, then reassuring") apenas para as falas que precisam de um ajuste de entrega específico e reutilize essa string curta exata em todas as falas quando quiser uma linha de base consistente.
Diálogo com vários turnos e agentes de voz
Ao criar um agente de voz de conversação ou outro aplicativo de várias interações:
- Faça uma solicitação de TTS para cada turno conforme o texto do LLM chega.
- Permita que o
voiceconfigurado carregue a identidade do locutor entre as interações. Não reenvie uma descrição longa de persona em cada turno. - Deixe
stylevazio ou envie uma string curta e constante para toda a conversa. - Divida as respostas longas do agente em turnos mais curtos em vez de reforçar o comando
style.
A seguir
- Crie um personagem consistente com o design de voz.
- Atualize os comandos escritos para modelos anteriores com o guia de migração.