🎁 Novo Cadastre-se grátis, 10 chamadas por nossa conta. Até US$ 1, sem cartão.

Texto para fala

POST /v1/audio/speech

Transforme texto em fala natural com um único endpoint compatível com OpenAI. Envie JSON e receba bytes de áudio de volta. Para trocar de provedor, você muda apenas model. Nada é gravado em disco: o áudio é devolvido direto para você em streaming.

Exemplo de requisição

curl https://synthorai.io/v1/audio/speech \
  -H "Authorization: Bearer $SYNTHORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Hello from Synthorai.",
    "voice": "alloy"
  }' \
  --output speech.mp3

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="$SYNTHORAI_API_KEY",
    base_url="https://synthorai.io/v1",
)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="alloy",
    input="Hello from Synthorai.",
) as response:
    response.stream_to_file("speech.mp3")

Corpo da requisição

Parâmetro Tipo Descrição
model* string ID do modelo. Um entre tts-1, tts-1-hd, seed-tts-2.0.
input* string O texto a sintetizar. No máximo 4096 caracteres.
voice string Voz usada na fala. O padrão é alloy. Veja Vozes abaixo.
response_format string Contêiner de áudio: mp3 (padrão), opus, wav ou pcm.
speed number Velocidade da fala, 0.25–4.0. O padrão é 1.0.

Modelos suportados

Qual devo usar?

Você precisa Modelos recomendados
O mais barato, suficiente para a maioria das vozes de produto google-tts-standard
Conteúdo principalmente em chinês, ou quando você quer muitas opções de voz qwen3-tts-instruct-flash seed-tts-2.0
Voz de produto do dia a dia, equilibrando qualidade e custo tts-1 google-tts-neural2
Maior expressividade: narração, dispositivos de companhia, voz de marca tts-1-hd google-tts-chirp3-hd
Modelo Preço Ideal para
google-tts-standard $4 / 1M chars Notificações e avisos em grande volume, quando o custo é o que pesa
qwen3-tts-instruct-flash $11.50 / 1M chars Conteúdo em chinês e multilíngue; o upstream informa a contagem de caracteres cobrada
tts-1 $15 / 1M chars Voz de produto em geral, avisos, notificações
google-tts-neural2 $16 / 1M chars Voz natural do dia a dia em muitos idiomas
tts-1-hd $30 / 1M chars Narração, marketing, tudo que os usuários escutam por um tempo
seed-tts-2.0 $30 / 1M chars Conteúdo em chinês e multilíngue; 180+ vozes
google-tts-chirp3-hd $30 / 1M chars As vozes mais novas e expressivas do Google

Três modelos ficam em $30. Eles diferem no caráter da voz e na cobertura de idiomas, não no preço. Teste com os seus próprios textos antes de decidir.

Trocar de provedor custa uma linha. Todos os modelos aqui falam o mesmo formato de requisição e resposta. Por baixo, os provedores são bem diferentes entre si (autenticação, formatos de streaming, nomes de vozes). O gateway absorve tudo isso, então você só muda model.

# Same request, different provider — only the model name changes.
-d '{"model": "tts-1",        "input": "...", "voice": "alloy"}'
-d '{"model": "seed-tts-2.0", "input": "...", "voice": "alloy"}'

Vozes

Os modelos da OpenAI aceitam as vozes padrão: alloy, echo, fable, onyx, nova, shimmer.

Para seed-tts-2.0 os mesmos seis nomes funcionam (eles são mapeados para vozes equivalentes), e você também pode passar diretamente um ID de voz nativo da BytePlus para ter controle total, por exemplo zh_female_cancan_uranus_bigtts. A lista completa das 180+ vozes nativas está no catálogo de vozes da BytePlus.

Para qwen3-tts-instruct-flash os mesmos seis nomes funcionam, ou passe uma voz nativa do Qwen como Cherry, Ethan, Nofish, Jada.

As vozes do Google estão atreladas ao seu nível de preço. Cada modelo do Google cobre um nível, e o nível faz parte do nome da voz. Se você passar um id de voz nativo como en-US-Neural2-C precisa usar o modelo correspondente, nesse exemplo google-tts-neural2. Vozes de outro nível são rejeitadas com um 502 em vez de cobradas em silêncio pela tarifa errada.

Formatos de áudio

Use response_format para escolher o contêiner. O padrão é mp3: mp3, opus, wav, pcm.

Nem todo provedor suporta todos os contêineres; valores não suportados caem para MP3 em vez de falhar.

Cobrança

Cobrado por caractere de entrada pelo preço de tabela oficial do provedor, sem acréscimo. Um caractere = um caractere chinês = uma letra = um sinal de pontuação = um espaço. Requisições que falham nunca são cobradas.

O áudio que você recebe não é medido separadamente; só o texto que você envia é.

Limites

  • No máximo 4096 caracteres por requisição. Entradas mais longas são rejeitadas antes de qualquer cobrança. Divida no cliente e concatene o áudio.
  • A velocidade da fala é controlada por speed (0.25–4.0, padrão 1.0). Valores fora da faixa do provedor são ajustados aos limites, não rejeitados.

Erros

Resposta Descrição
400 A entrada está vazia ou passa de 4096 caracteres.
401 Chave de API ausente ou inválida.
402 Cota insuficiente para esta requisição.
502 O modelo não está disponível na sua conta, ou o provedor upstream falhou. Nada é cobrado.
503 Nenhum channel atende esse modelo no momento.