🎁 Nouveau Inscription gratuite, 10 appels offerts. Jusqu'à 1 $, sans carte.

Synthèse vocale

POST /v1/audio/speech

Transformez du texte en parole naturelle avec un seul endpoint compatible OpenAI. Envoyez du JSON, récupérez des octets audio. Changer de fournisseur revient à modifier uniquement model. Rien n'est écrit sur le disque : l'audio vous est renvoyé directement en flux.

Exemple de requête

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")

Corps de la requête

Paramètre Type Description
model* string ID du modèle. Au choix : tts-1, tts-1-hd, seed-tts-2.0.
input* string Le texte à synthétiser. 4096 caractères au maximum.
voice string Voix utilisée. Par défaut alloy. Voir la section Voix ci-dessous.
response_format string Conteneur audio : mp3 (par défaut), opus, wav ou pcm.
speed number Débit de parole, 0.25–4.0. Par défaut 1.0.

Modèles pris en charge

Lequel choisir ?

Ce qu'il vous faut Modèles recommandés
Le moins cher, suffisant pour la plupart des voix produit google-tts-standard
Contenu d'abord en chinois, ou besoin d'un large choix de voix qwen3-tts-instruct-flash seed-tts-2.0
Voix produit du quotidien, équilibre entre qualité et coût tts-1 google-tts-neural2
Meilleure expressivité : narration, appareils compagnons, voix de marque tts-1-hd google-tts-chirp3-hd
Modèle Prix Idéal pour
google-tts-standard $4 / 1M chars Notifications et invites vocales en grand volume, quand le coût prime
qwen3-tts-instruct-flash $11.50 / 1M chars Contenu chinois et multilingue ; l'amont renvoie le nombre de caractères facturés
tts-1 $15 / 1M chars Voix produit courante, invites vocales, notifications
google-tts-neural2 $16 / 1M chars Voix naturelle du quotidien dans de nombreuses langues
tts-1-hd $30 / 1M chars Narration, marketing, tout ce que les utilisateurs écoutent un moment
seed-tts-2.0 $30 / 1M chars Contenu chinois et multilingue ; 180+ voix
google-tts-chirp3-hd $30 / 1M chars Les voix les plus récentes et les plus expressives de Google

Trois modèles sont à $30. Ils se distinguent par le caractère de la voix et la couverture linguistique, pas par le prix. Testez-les sur vos propres textes avant de trancher.

Changer de fournisseur ne vous coûte qu'une ligne. Tous les modèles présentés ici parlent la même forme de requête et de réponse. En dessous, les fournisseurs diffèrent énormément (authentification, formats de streaming, nommage des voix). Le gateway absorbe tout cela, et vous ne changez que 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"}'

Voix

Les modèles OpenAI acceptent les voix standard : alloy, echo, fable, onyx, nova, shimmer.

Pour seed-tts-2.0 les six mêmes noms fonctionnent (ils correspondent à des voix comparables), et vous pouvez aussi passer directement un ID de voix natif BytePlus pour un contrôle total, par exemple zh_female_cancan_uranus_bigtts. La liste complète des 180+ voix natives figure dans le catalogue de voix BytePlus.

Pour qwen3-tts-instruct-flash les six mêmes noms fonctionnent, ou passez une voix native Qwen telle que Cherry, Ethan, Nofish, Jada.

Les voix Google sont liées à leur palier tarifaire. Chaque modèle Google couvre un palier, et le palier fait partie du nom de la voix. Passer un id de voix natif tel que en-US-Neural2-C impose donc d'utiliser le modèle correspondant, ici google-tts-neural2. Une voix d'un autre palier est rejetée par un 502 plutôt que facturée en silence au mauvais tarif.

Formats audio

Utilisez response_format pour choisir le conteneur. La valeur par défaut est mp3: mp3, opus, wav, pcm.

Tous les fournisseurs ne prennent pas en charge tous les conteneurs ; une valeur non prise en charge bascule sur MP3 au lieu d'échouer.

Facturation

Facturé au caractère d'entrée, au tarif public officiel du fournisseur, sans majoration. 1 caractère = 1 sinogramme = 1 lettre = 1 signe de ponctuation = 1 espace. Les requêtes en échec ne sont jamais facturées.

L'audio renvoyé n'est pas compté séparément ; seul le texte que vous envoyez l'est.

Limites

  • Maximum 4096 caractères par requête. Une entrée plus longue est rejetée avant toute facturation. Découpez-la côté client, puis concaténez l'audio.
  • Le débit de parole se règle avec speed (0.25–4.0, 1.0 par défaut). Les valeurs hors de la plage du fournisseur sont ramenées aux bornes, pas rejetées.

Erreurs

Réponse Description
400 L'entrée est vide ou dépasse 4096 caractères.
401 Clé API manquante ou invalide.
402 Quota insuffisant pour cette requête.
502 Le modèle n'est pas disponible sur votre compte, ou le fournisseur en amont a échoué. Rien n'est facturé.
503 Aucun channel ne dessert actuellement ce modèle.