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.