ElevenLabs-Reihe
Die Sprachmodelle von ElevenLabs, insgesamt zwei: Eleven v4 für die Sprachsynthese und Scribe v2 für die Transkription. Beide werden über die OpenAI-kompatiblen Audio-Endpunkte aufgerufen.
elevenlabs/eleven_v4POST /v1/audio/speechelevenlabs/scribe_v2POST /v1/audio/transcriptionsDie allgemeinen Parameter der Endpunkte finden Sie unter Audio Speech API und Audio Transcriptions API. Aktuelle Preise stehen auf der Modellseite : Die Sprachsynthese wird nach Zeichen abgerechnet, die Transkription nach Audiodauer.
Sprachsynthese mit Eleven v4
Python
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="elevenlabs/eleven_v4",
voice="21m00Tcm4TlvDq8ikWAM",
input="Hallo und willkommen bei der Sprachsynthese von OfoxAI.",
response_format="mp3",
) as resp:
resp.stream_to_file("speech.mp3")In unseren Tests kam ein chinesischer Satz mit etwa 20 Zeichen nach rund 2 Sekunden zurück; das erzeugte Audio war etwa 4 Sekunden lang.
Transkription mit Scribe v2
Scribe v2 liefert neben dem transkribierten Text auch Start- und Endzeit jedes Wortes und kann verschiedene Sprecher unterscheiden.
Python
import json
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
with open("meeting.mp3", "rb") as f:
result = client.audio.transcriptions.create(
model="elevenlabs/scribe_v2",
file=f,
extra_body={"provider_options": json.dumps({"elevenlabs": {"diarize": True}})},
)
print(result.text)
for w in (result.model_extra or {}).get("words", [])[:10]:
print(w.get("speaker"), w["start"], w["end"], w["word"])Antwortstruktur:
- Die Sprechertrennung wird über
provider_optionsaktiviert:{"elevenlabs": {"diarize": true}}, als JSON-Zeichenkette in einem Formularfeld übergeben. response_formatunterstütztjsonundverbose_json; beide liefern denselben Inhalt. Wenn Sie eine Untertiteldatei benötigen, erzeugen Sie diese selbst anhand der Zeitstempel inwords.
Häufige Fehler
Weitere Fehler finden Sie unter Audio Speech API und Audio Transcriptions API.
Offizielle Dokumentation
FAQ
Was gebe ich bei ElevenLabs für voice an?
Die Stimmen-ID (20 Zeichen), z. B. 21m00Tcm4TlvDq8ikWAM; Sie finden sie in der ElevenLabs Voice Library. Ein Stimmenname (z. B. Rachel) oder die OpenAI-Stimme alloy liefert 404 voice_id not found.
Welche Audioformate unterstützt Eleven v4?
mp3 (Standard), opus, wav und pcm. aac und flac werden nicht unterstützt.
Kann Scribe v2 Sprecher unterscheiden?
Ja. Übergeben Sie über provider_options {"elevenlabs": {"diarize": true}}; jedes Wort in words der Antwort enthält dann das Feld speaker, z. B. speaker_0 oder speaker_1.
Kann Scribe v2 direkt srt-Untertitel ausgeben?
Nein, response_format unterstützt nur json und verbose_json. Untertitel lassen sich anhand der Zeitstempel start und end in words der Antwort selbst erzeugen.
Wie wird die Sprachausgabe von ElevenLabs abgerechnet?
Eleven v4 wird nach der Anzahl der Eingabezeichen abgerechnet, Scribe v2 nach Audiodauer. Die Preise finden Sie auf der Modellseite.