Audio Speech API
Convertit du texte en parole. Compatible avec POST /v1/audio/speech d’OpenAI ; le corps de la réponse est directement le fichier audio (binaire), et non du JSON.
Les valeurs possibles de voice, response_format et d’autres paramètres varient selon le modèle ; référez-vous à la page de chaque famille.
Démarrage rapide
https://api.ofox.ai/v1https://api.ofox.ai/v1/audio/speechgoogle/gemini-3.8-flash-ttsPython
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
with client.audio.speech.with_streaming_response.create(
model="google/gemini-3.8-flash-tts",
voice="Kore",
input="Bonjour, bienvenue dans la synthèse vocale OfoxAI.",
response_format="wav",
) as resp:
resp.stream_to_file("speech.wav")Paramètres de la requête
ID du modèle ; voir le tableau ci-dessus.
Texte à synthétiser. Vide, il renvoie 400.
Voix. Obligatoire pour Gemini TTS, avec un nom de voix Google (p. ex. Kore) ; pour ElevenLabs, la valeur est un ID de voix (p. ex. 21m00Tcm4TlvDq8ikWAM). Les noms de voix d’OpenAI (p. ex. alloy) ne fonctionnent avec aucune de ces deux familles.
Format audio. Les valeurs possibles varient selon le modèle : Gemini TTS prend en charge wav et pcm ; ElevenLabs prend en charge mp3, opus, wav et pcm. Un format non pris en charge renvoie 400.
Indications de ton et de style, par exemple « Lis ce texte sur un ton enjoué ». S’applique à Gemini TTS.
Code de langue, par exemple cmn-CN (Gemini TTS) ou zh (ElevenLabs). S’il est omis, le modèle déduit la langue du texte.
Avec sse, l’audio est renvoyé par fragments en streaming via Server-Sent Events. S’applique à Gemini TTS.
Paramètres propres au fournisseur, transmis tels quels à celui-ci, par exemple {"elevenlabs": {"voice_settings": {...}}} pour ElevenLabs. Voir la page de chaque famille.
Réponse
En cas de succès, HTTP 200 ; le corps de la réponse est le fichier audio, avec un Content-Type correspondant au format :
Écrivez directement le corps de la réponse dans un fichier. En cas d’erreur, la réponse est du JSON avec un Content-Type application/json : vérifiez d’abord le code de statut pour éviter d’enregistrer le message d’erreur comme fichier audio.
Erreurs courantes
Description complète des codes d’erreur : Gestion des erreurs.