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 de solicitação e exemplos de código, consulte a visão geral da Gemini TTS.
Os modelos Gemini 3.8 TTS tratam o campo text como uma transcrição literal.
A direção sustentada no nível da vez vai em speech_metadata, e os eventos vocais
pontuais são inseridos na transcrição. A solicitação a seguir combina um
turno style com tags vocais e pausas inline:
{
"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 performance por escopo:
- Entrega no nível da vez (
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 uma performance estáveis em todas as interações, defina a persona antecipadamente em Design de voz e usestyleapenas para ajustes opcionais no nível da interação. - Eventos pontuais (tags inline): coloque pausas, respirações ou explosões vocais momentâneas não relacionadas à fala inline dentro da transcrição usando colchetes angulares (
<cough>,<breath>,<sigh>,<short pause>). Use colchetes angulares (<...>) para a mais alta qualidade do áudio e use vocalizações humanas em vez de efeitos sonoros não vocais.
| Escopo | Onde colocar | Exemplos |
|---|---|---|
| No nível da conversa (mantido durante toda a conversa) | speech_metadata.style |
"angry tone", "speaking rapidly", "out of breath", "whispers", "sarcastic" |
| Pontual (ocorre em uma palavra específica) | Em linha 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ção natural. - 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 vez: defina
"style": "speaking rapidly"ou"style": "speaking slowly"emspeech_metadatapara controlar a taxa de fala durante toda a vez.
Prosódia e tom
Use speech_metadata.style para controlar a prosódia, a entonação e a inflexão em uma
rodada. 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 seu próprio style.
Ênfase
Coloque em maiúscula palavras 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."
Explosões vocais e sons não verbais
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> |
Backchannels e fala sobreposta
Em diálogos com vários participantes, coloque as reações do listener entre barras verticais
(|reaction|) durante a vez do participante ativo. Isso cria backchannels naturais ou sobreposição de fala sem uma vez separada para cada reação.
- Backchannels curtos: inclua reações breves do ouvinte durante a vez do falante ativo:
- Turno 1 (Participante 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 (Participante A):
"Then let's ship it |absolutely| and watch the dashboards."
- Turno 1 (Participante A):
- Fala sobreposta e intercalada: use vários segmentos de barra vertical para simular a fala simultânea. Isso funciona melhor com
gemini-3.8-flash-tts:- Contagem regressiva ou refrão:
"Let's surprise him on three |ok| ready?"seguido de"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 conversas:
- Crie personas no design de voz em vez de blocos de estilo longos:
parágrafos longos
"Audio Profile"e listas com vários marcadores"Director's Notes"transferidos de modelos anteriores são a causa mais comum de variação de voz. Use essa mesma intuição criativa no design de voz para gerar uma personavoice_...personalizada persistente e, em seguida, transmita esse ID de voz pelas suas chamadas de TTS. - Confie na referência de voz para estabilidade (omita as metainstruções):
os modelos de TTS do Gemini 3.8 são treinados para se ancorar primeiro na referência de áudio.
Não inclua instruções para o modelo manter a voz constante (como
"do not switch speaker identity"ou"maintain identical timbre"). Texto extra no 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 falante em
style: evite colocar idade, gênero, nomes ou mudanças permanentes de sotaque emspeech_metadata.style. Em vez disso, escolha uma voz regional na Biblioteca de vozes avançada ou crie uma com o Design de voz.
Fluxo de trabalho recomendado
- Crie o personagem uma vez: crie seu personagem em Design de voz ou selecione uma voz regional na Biblioteca de vozes estendida que corresponda ao idioma e à persona de destino.
- Escreva transcrições faladas naturais com disfluências: para ter o máximo de naturalidade, escreva o
textcomo uma transcrição falada real, incluindo disfluências e hesitações naturais da conversa (por exemplo,"Oh uh yeah I think... hm, so that's interesting"). - Teste a TTS simples primeiro: sintetize sua transcrição 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 concisa destyle(como"casual, friendly"ou"muttering, then reassuring") apenas para turnos que precisam de um ajuste específico de entrega e reutilize essa mesma string curta em vários turnos quando quiser uma base consistente.
Diálogo multiturno e agentes de voz
Ao criar um agente de voz de conversação ou outro aplicativo multiturno:
- Faça uma solicitação de TTS para cada turno à medida que o texto do LLM chega.
- Deixe o
voiceconfigurado transmitir a identidade do falante em todas as interações. Não reenvie uma descrição longa da persona a cada interação. - Deixe
stylevazio ou envie uma string constante curta para toda a conversa. - Divida 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.