Skip to Content
API-ReferenzOpenAI-kompatibles ProtokollAudio Speech

Audio Speech API

Wandelt Text in Sprache um. Kompatibel mit POST /v1/audio/speech von OpenAI; der Response-Body ist direkt die Audiodatei (binär), kein JSON.

ReiheModellHinweis
ElevenLabselevenlabs/eleven_v4Siehe ElevenLabs
Gemini TTSgoogle/gemini-3.8-flash-tts u. a.Siehe Gemini TTS

Die zulässigen Werte für Parameter wie voice und response_format hängen vom Modell ab; maßgeblich ist die Seite der jeweiligen Reihe.

Schnellstart

base_urlhttps://api.ofox.ai/v1
Endpunkthttps://api.ofox.ai/v1/audio/speech
Modell-IDgoogle/gemini-3.8-flash-tts
speech.py
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="Hallo und willkommen bei der Sprachsynthese von OfoxAI.", response_format="wav", ) as resp: resp.stream_to_file("speech.wav")

Anfrageparameter

modelerforderlichstring

Modell-ID; siehe Tabelle oben.

inputerforderlichstring

Der zu synthetisierende Text. Ein leerer Wert liefert 400.

voicestring

Stimme. Bei Gemini TTS erforderlich; der Wert ist ein Stimmenname von Google (z. B. Kore). Bei ElevenLabs ist der Wert eine Voice-ID (z. B. 21m00Tcm4TlvDq8ikWAM). Die Stimmennamen von OpenAI (z. B. alloy) gelten für keine der beiden Reihen.

Audioformat. Die zulässigen Werte hängen vom Modell ab: Gemini TTS unterstützt wav und pcm, ElevenLabs unterstützt mp3, opus, wav und pcm. Ein nicht unterstütztes Format liefert 400.

Anweisungen zu Tonfall und Stil, z. B. „In fröhlichem Ton vorlesen“. Gilt für Gemini TTS.

Sprachcode, z. B. cmn-CN (Gemini TTS) oder zh (ElevenLabs). Ohne Angabe erkennt das Modell die Sprache anhand des Textes.

stream_formatstring· Wertesse

Mit sse werden die Audiofragmente per Server-Sent Events gestreamt. Gilt für Gemini TTS.

Anbieterspezifische Parameter, die unverändert an den jeweiligen Anbieter weitergereicht werden, z. B. für ElevenLabs {"elevenlabs": {"voice_settings": {...}}}. Siehe die Seite der jeweiligen Reihe.

Antwort

Bei Erfolg HTTP 200; der Response-Body ist die Audiodatei, Content-Type entspricht dem Format:

response_formatContent-Type
mp3audio/mpeg
wavaudio/wav
opusaudio/ogg
pcmaudio/L16;rate=<Abtastrate>;channels=1, 16-Bit-PCM ohne Dateiheader

Schreiben Sie den Response-Body direkt in eine Datei. Im Fehlerfall ist die Antwort JSON mit Content-Type application/json; prüfen Sie daher zuerst den Statuscode, damit Sie keine Fehlermeldung als Audiodatei speichern.

Häufige Fehler

HTTPFehlermeldungUrsacheLösung
400model and input are required.model fehlt oder input ist leerParameter ergänzen
400voice is required for speech completionBei Gemini TTS wurde kein voice gesendetEinen Stimmennamen senden, z. B. Kore
400unsupported Gemini response_format: mp3Das Modell unterstützt das gewählte Format nichtEin auf der Seite der Reihe aufgeführtes Format verwenden
400Request contains an invalid argument.Der Stimmenname für Gemini TTS existiert nichtEinen gültigen Stimmennamen verwenden
404A voice with voice_id 'alloy' was not found.Die Voice-ID für ElevenLabs existiert nichtEine gültige Voice-ID verwenden
400 endpoint_not_supportedModel 'openai/gpt-5.4' does not support the /v1/audio/speech endpoint on this platform.Das gewählte Modell ist kein SprachsynthesemodellEin Modell aus der Tabelle oben verwenden

Eine vollständige Beschreibung der Fehlercodes finden Sie unter Fehlerbehandlung.

Zuletzt aktualisiert am