Introdução
Envie o texto a ser lido e, opcionalmente, uma voz, um sotaque, um estilo de fala, um ritmo, uma cena e uma breve nota sobre a interpretação; para uma conversa, envie falas e falantes em vez de texto. A tarefa devolve um arquivo WAV (24 kHz, 16 bits, mono) com o roteiro lido nessa voz, ou em até duas vozes no caso de um diálogo. O modelo segue instruções em linguagem simples (mais devagar, mais perto do microfone, divertido, cansado) e executa as indicações entre colchetes, como [sighs], em vez de lê-las em voz alta. A SpicyAPI não aplica nenhum filtro de conteúdo: cada roteiro é lido como escrito. A cobrança é por segundo do áudio devolvido.
| Campo | Valor |
|---|---|
| Entrada | Texto |
| Saída | Áudio |
| Campo obrigatório | text (1 a 5.000 caracteres) ou dialogue (até 20 falas) |
| Campos opcionais |
|
| Resultado | Um arquivo WAV, 24 kHz, 16 bits, mono |
| Clipe mais longo | Cerca de 655 segundos (16.384 tokens de áudio) |
| Quantidade cobrada | Segundos de áudio retornados, medidos no arquivo |
| Retenção | O áudio gerado fica guardado por 14 dias |
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
text | Não | As palavras a serem faladas, exatamente como escritas. Marcas entre colchetes como [sighs] são interpretadas, não lidas. pelo menos 1 caracteres · no máximo 5000 caracteres |
dialogue | Não | Uma conversa roteirizada para até duas vozes, usada no lugar de text: até 20 falas, cada uma com speaker (um nome de speakers) e text de até 250 caracteres. pelo menos 1 itens · no máximo 20 itens |
speakers | Não | O elenco de dialogue: uma ou duas entradas, cada uma com um name ao qual as falas se referem, um |
voice_id | Não | Uma das 30 vozes prontas, cada uma com caráter fixo. Padrão: Kore. |
style | Não | Jeito geral da leitura. Deixe vazio para usar o jeito padrão da voz. |
pace | Não | Ritmo da leitura: natural, |
accent | Não | Sotaque do inglês usado na leitura. Padrão: neutral. |
instructions | Não | Instrução livre sobre como ler: ritmo, clima, distância do microfone, ouvinte. Molda a interpretação e não é falada. no máximo 1000 caracteres |
scene | Não | Onde e para quem as palavras são ditas, por exemplo “um quarto de hotel silencioso depois da meia-noite”. Molda a interpretação e não é lido em voz alta. no máximo 500 caracteres |
temperature | Não | Variação entre as tomadas, de 0 a 2: valores mais altos deixam a interpretação menos previsível. Se você não definir, vale o padrão do modelo. |
Preços
$0.00045 / segundo
Cobrado por segundo de áudio retornado. O valor de 660 segundos fica reservado durante a tarefa, e a parte não usada é liberada quando o áudio é medido.
Casos de uso
Audiolivros e narração longa
Capítulos, histórias para dormir e ficção seriada lidos por um narrador constante. Escolha uma voz uma vez e mantenha: a mesma voz com as mesmas instruções soa igual de um capítulo para outro.
Vozes para personagens e companhias virtuais
Dê a um personagem de chat uma voz própria. Um estilo sussurrado e uma instrução curta transformam um texto neutro em falas que soam ditas para uma só pessoa, e não anunciadas.
Histórias em áudio sem censura
Os roteiros são lidos como escritos, sem filtro de conteúdo. Em nossos testes, o modelo falou cada palavra tanto das falas em primeira pessoa quanto das cenas narradas, sem pular palavras nem encerrar o clipe antes.
Faixas de voz para vídeo
Gere a fala aqui e passe o WAV para um modelo de avatar falante ou de sincronização labial, para que um rosto a interprete. A duração do áudio define a duração do clipe na etapa seguinte.
Guia de prompt e dicas práticas
Envie o roteiro em text
Escreva exatamente como deve ser falado, com pontuação para as pausas. Até 5.000 caracteres.
Escolha uma voz e, se precisar, um estilo e um sotaque
voice_idusa Kore por padrão e accent usa neutral. Defina style só quando quiser um jeito específico, como whisper.Dirija a leitura em instructions
Uma ou duas frases sobre ritmo, clima e ouvinte funcionam melhor do que uma lista de adjetivos. A instrução não é lida.
O que retorna
Um arquivo WAV por tarefa: PCM de 24 kHz, 16 bits, mono. O arquivo é copiado para o armazenamento da SpicyAPI e guardado por 14 dias. O resultado não traz tempos por palavra nem legendas.
Como escolher a voz
voice_id aceita uma das 30 vozes prontas e o padrão é Kore. Cada voz tem um caráter fixo, por exemplo Kore firme, Charon informativa, Puck animada, Enceladus soprada, Achernar suave, Algenib rouca, Sulafat calorosa, Gacrux madura. A voz não muda com o idioma do roteiro.
Como dirigir a leitura
styledefine um jeito geral:whisper,empathetic,vocal_smile,newscaster,promo_hypeoudeadpan. Sem ele, a voz lê do jeito padrão dela.accentescolhe um sotaque do inglês, com padrãoneutral.pacedá o ritmo:natural,rapid_fire,the_driftoustaccato.instructionsrecebe texto livre sobre como ler: ritmo, clima, distância do microfone, com quem se fala.scenediz onde e para quem as palavras são ditas. Nenhum dos dois é lido em voz alta.temperature(0–2) define quanto a interpretação varia entre as tomadas.- Dentro de
text, marcações entre colchetes como[sighs]ou[whispering]são interpretadas em vez de lidas.
Duas vozes em um clipe
Para uma conversa, envie dialogue no lugar de text, junto com speakers com o elenco: uma ou duas entradas, cada uma com um name, um voice_id e, opcionalmente, accent, style, pace e profile, uma descrição curta de quem fala que não é lida em voz alta. Cada fala de dialogue é {speaker, text}, em que speaker é um desses nomes; as falas são interpretadas em ordem, até 20 falas de 250 caracteres cada. O que uma entrada não definir vem de accent, style e pace do nível superior. A conversa inteira volta como um único arquivo WAV, cobrado por segundo como qualquer outra solicitação.
Duração e tempo de espera
text aceita até 5.000 caracteres. Nos nossos testes, um parágrafo de 270 caracteres virou de 23 a 29 segundos de áudio, conforme a voz e o estilo. O modelo para em 16.384 tokens de áudio, cerca de 655 segundos. A maioria das tarefas termina em menos de um minuto.
Cobrança
Cobrado por segundo de áudio retornado, medido no arquivo. Enquanto a tarefa roda, o valor de 660 segundos — o clipe mais longo que o modelo pode gerar — fica reservado no seu saldo, e a parte não usada é liberada quando a tarefa é liquidada. Requisições com falha não são cobradas.
Conteúdo
A SpicyAPI não adiciona nenhum filtro de conteúdo. Em nossos testes, roteiros que outros serviços recusam foram lidos palavra por palavra, sem pular nada e sem clipes encerrados antes do tempo.
A SpicyAPI não adiciona nenhum filtro de conteúdo: os roteiros são lidos como escritos, seja qual for o conteúdo. Você é responsável pelos roteiros que envia e pelo uso que faz do áudio resultante, inclusive por não apresentá-lo como falas de uma pessoa real.
Início rápido da API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/gemini-2.5-pro-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"accent": "neutral",
"voice_id": "Kore"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.







