Pular para o conteúdo principal

Gemini 2.5 Pro TTS para áudio NSFW: teste e configurações que funcionam

Gemini 2.5 Pro TTS lê roteiros NSFW sem alterações e interpreta indicações e diálogos. Vozes, solicitações e custo: $0,00045 por segundo.

Autor
SpicyAPI Engineering
Publicado
Leitura
9 min de leitura
Atualizado
Uma mulher se aproxima de um microfone de estúdio em uma cabine de gravação pouco iluminada

Você tem um roteiro adulto, seja uma mensagem de voz, um capítulo de ficção ou uma cena com dois personagens, e quer ouvi-lo exatamente como foi escrito, com respirações e suspiros, além de saber quanto vai custar. Gemini 2.5 Pro TTS faz isso no SpicyAPI. O SpicyAPI não adiciona filtro de conteúdo: em nossos testes de setembro de 2026, os roteiros adultos retornaram como áudio completo, sem omissões, suavizações ou cortes prematuros.

Para começar no Playground:

  1. Escolha uma Voice para o clima: Enceladus (soprosa), Achernar (suave), Sulafat (calorosa), Gacrux (madura) ou a padrão Kore (firme).
  2. Defina Style (Whisper costuma ser a escolha para conteúdo íntimo) e adicione uma ou duas frases em Delivery instructions ou Scene para situar o momento.
  3. Coloque sons entre colchetes dentro de Text, como [sighs] ou [laughs]. Nos nossos exemplos, essas indicações foram interpretadas como sons; se alguma for lida, mova a orientação para Delivery instructions.
  4. Para dois personagens, use Dialogue e Speakers em vez de Text.

Experimente Gemini 2.5 Pro TTS →

Experimente primeiro no Playground

Abra Gemini 2.5 Pro TTS e use a aba Playground na visualização Form:

  1. Cole seu roteiro em Text (até 5.000 caracteres). Os atalhos Cues inserem [whispers], [sighs], [laughs], [gasps] e [pause].
  2. Escolha uma Voice (por exemplo, Enceladus · Breathy), defina Style como Whisper e Pace como Unhurried para uma leitura lenta, que prolonga as palavras.
  3. Escreva uma ou duas frases em Delivery instructions e Scene. Nenhum desses campos é falado.
  4. Confira a estimativa baseada no comprimento abaixo de Text, pressione Run model e ouça o resultado em Output. Baixe o WAV por ali.

Teste aqui seu trecho mais difícil antes de escrever código: uma indicação lida em vez de interpretada no Playground também será lida pela API. As configurações abaixo explicam cada controle.

Configurações que mudam o resultado

voice_id aceita uma das 30 vozes predefinidas. A padrão é Kore.

ClimaVozes para testar
Soprosa, próximaEnceladus
Suave, delicadaAchernar, Vindemiatrix
CalorosaSulafat
Madura, roucaGacrux, Algenib
FirmeKore, Orus
Animada, descontraídaPuck, Aoede

Quatro campos opcionais moldam a interpretação. Nenhum é lido em voz alta.

  • style define a maneira geral de falar: whisper, empathetic, vocal_smile, newscaster, promo_hype ou deadpan.
  • pace define o ritmo: natural, rapid_fire (rápido, cortado), the_drift (lento, prolongado) ou staccato (frases curtas e separadas). Um ritmo mais lento significa mais segundos de áudio, e a cobrança é por segundo.
  • instructions (até 1.000 caracteres) é texto livre sobre clima, distância do microfone e a quem se dirige a fala. Uma ou duas frases funcionam melhor que uma lista de adjetivos: "close to the microphone, unhurried, as if speaking only to the listener".
  • scene (até 500 caracteres) informa onde e para quem as palavras são ditas, como "a quiet hotel room after midnight".

accent (oito sotaques ingleses, apenas para roteiros em inglês) e temperature (quanto as tomadas variam) são opcionais; deixe-os sem definir até querer uma variação. Não há campo de idioma: o modelo detecta o idioma do roteiro, e cada voz mantém seu caráter.

Escreva o roteiro para ser interpretado

Dentro de text, indicações curtas entre colchetes marcam onde produzir um som ou mudar a forma de falar. [sighs] e [laughs] foram interpretados nos nossos exemplos. Use style: "whisper" ou instructions para orientar um trecho mais longo; se uma tag for lida como palavra, use esses campos no lugar dela. Reticências sugerem pausas.

Dois hábitos ajudam:

  • Escreva para o ouvido. Escreva por extenso o que deve ser dito, use reticências e vírgulas para pausas e mantenha as frases curtas.
  • Coloque a direção nos campos, não no texto. Se escrever "she whispers breathlessly" dentro de text, essas palavras serão lidas. Coloque a orientação em style ou instructions.

Depois, chame pelo código

Este bloco cria a tarefa, aguarda sua conclusão e imprime o link WAV (pip install spicyapi, com SPICY_API_KEY definida):

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

O áudio fica armazenado por 14 dias e não inclui marcações de tempo por palavra nem legendas. Espera, novas tentativas, links de resultado que expiram e tratamento de erros estão na referência do SDK Python, na documentação de tarefas e nas regras de retenção.

Ou deixe um Agent executar

Se um assistente for gerar as mensagens de voz, forneça a CLI ou o servidor MCP; ambos mostram o preço e pedem sua confirmação antes de uma chamada paga. O Skill acrescenta instruções a qualquer um deles.

  • CLI. spicyapi (npx @spicyapi/cli funciona sem instalação); input.json contém o objeto input do bloco acima:

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

  • Servidor MCP. Adicione o servidor MCP e peça: "Read this script in a whispered Enceladus voice with Gemini 2.5 Pro TTS." Ele chama spicyapi_task_create (que para para você confirmar o preço) e spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill instala o Agent Skill, que ensina um assistente de programação a ler o esquema atual e reutilizar chaves de idempotência. Ele não executa tarefas sozinho, então use-o com a CLI ou MCP.

Dois personagens em um único clipe

Para uma cena entre dois personagens, envie dialogue em vez de text (não ambos), além de speakers com o elenco. Cada falante tem um name, usado pelas falas, e um voice_id, e pode definir seus próprios accent, style e pace, além de um breve profile descrevendo quem fala (não é lido). Valores omitidos por um falante usam os valores do nível superior. Cada fala é {speaker, text}, interpretada em ordem, com até 20 falas de 250 caracteres cada e no máximo dois falantes. Use a mesma chamada anterior e substitua o 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"
}

A conversa retorna como um único WAV mixado. Para editar depois as falas de um personagem separadamente, gere cada personagem em uma tarefa distinta de voz única e una os arquivos no seu editor. Para cenas mais longas, mais de duas vozes ou uma voz clonada de um clipe de referência, veja a comparação de TTS e o guia de referência de voz do Chatterbox.

Quanto custa

A cobrança é por segundo de áudio realmente retornado, medido a partir do arquivo, a $0,00045 por segundo. A duração depende da voz, do estilo e do ritmo: um parágrafo de 270 caracteres dura de 23 a 29 segundos, então o custo aproximado é a quantidade de caracteres dividida por 10, multiplicada por $0,00045.

Duração do clipeCustoQuantidade aproximada de texto
15 segundos$0,0068150 caracteres
30 segundos$0,0135300 caracteres
60 segundos$0,027600 caracteres
5 minutos$0,1353.000 caracteres
7 a 9 minutos$0,19 a $0,245.000 caracteres, o limite de text

Enquanto uma tarefa roda, cerca de $0,30 ficam reservados no seu saldo (660 segundos à tarifa por segundo, cobrindo o clipe mais longo que o modelo pode produzir, cerca de 655 segundos). A parte não utilizada é liberada quando o áudio é medido. Uma solicitação que falha não é cobrada. Mantenha pelo menos esse saldo disponível antes de colocar um lote na fila, pois as reservas de tarefas anteriores podem impedir a próxima de iniciar.

Dificuldades comuns

  • Uma indicação é lida como palavra. Reformule-a ou mova a orientação para style ou instructions, mantendo apenas o som entre colchetes.
  • A orientação parece ignorada. accent só afeta roteiros em inglês; style e pace definidos no nível superior valem para todo falante que não definir valores próprios.
  • Você enviou text e dialogue juntos. Escolha um; dialogue também exige speakers.

Quando usar uma voz Gemini mais recente

Gemini 3.8 Flash TTS ($0,00032 por segundo) e Gemini 3.8 Flash-Lite TTS ($0,00021 por segundo) aceitam os mesmos campos, incluindo dialogue, por um preço menor. Flash-Lite tende a ler algumas indicações entre colchetes, então escolha Pro quando respirações e suspiros forem importantes. Flash geralmente também interpreta essas indicações; teste um trecho curto primeiro. O guia de narração com Gemini 3.8 detalha os dois.

Perguntas frequentes

Gemini 2.5 Pro TTS funciona sem censura?

Os roteiros adultos testados retornaram completos, sem palavras omitidas ou suavizadas. O SpicyAPI não adiciona filtro de conteúdo extra. Você continua responsável pelos roteiros e pelo uso do áudio, incluindo não apresentá-lo como palavras de uma pessoa real. Use personagens fictícios e adultos.

Indicações como [sighs] ou [laughs] são lidas em voz alta?

Nos exemplos testados, [sighs] e [laughs] foram interpretados como sons. Se outra indicação for lida, mova essa orientação para instructions ou use style. Outros modelos se comportam de maneira diferente, como explica a comparação de TTS acima.

Qual é a diferença entre instructions, scene e style?

style é uma lista fixa de maneiras gerais de falar. instructions contém orientações livres para a interpretação, e scene informa onde e para quem as palavras são ditas. Use style primeiro, depois acrescente instructions ou scene para situar o momento.

Quanto custa um minuto de áudio?

Cerca de $0,027, cobrados pelos segundos retornados, e não pelo comprimento do roteiro.

Posso clonar uma voz?

Não neste endpoint. Escolha entre as 30 vozes predefinidas ou use um modelo que aceite um clipe de referência.

Comece no Playground (crie uma conta primeiro): Enceladus, Whisper e um roteiro curto com uma indicação [sighs] mostram como a orientação é interpretada.

Também em English · 日本語 · 한국어 · Deutsch · Français · Español · Русский · Italiano · Polski

Experimente você mesmo

Você paga só pelo que executar — sem plano e sem assinatura.

Feito com MiniMax H3 · ByteDance Seedance 2.0 Fast