Die ElevenLabs Text-to-Speech API ist das Herzstück für Entwickler. Von einfachen REST-Aufrufen bis hin zu Streaming-Audio mit Sub-300ms-Latenz — hier lernen Sie alles, was Sie für die Integration brauchen.
const response = await fetch(
'https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM',
{
method: 'POST',
headers: {
'xi-api-key': process.env.ELEVENLABS_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Willkommen bei unserem Service.',
model_id: 'eleven_multilingual_v2',
voice_settings: {
stability: 0.5,
similarity_boost: 0.75,
style: 0.3,
use_speaker_boost: true,
},
}),
}
)
const audioBuffer = await response.arrayBuffer()
| Parameter | Bereich | Effekt |
|---|---|---|
| stability | 0.0–1.0 | Niedrig = expressiver, Hoch = konsistenter |
| similarity_boost | 0.0–1.0 | Wie nah an der Originalstimme |
| style | 0.0–1.0 | Stärke des Sprech-Stils (erhöht Latenz) |
| use_speaker_boost | true/false | Optimiert Klarheit der Stimme |
| Modell | Latenz | Qualität | Sprachen | Use Case |
|---|---|---|---|---|
| eleven_turbo_v2_5 | ~200 ms | Gut | 32 | Echtzeit-Gespräche |
| eleven_multilingual_v2 | ~400 ms | Exzellent | 29 | Höchste Qualität |
| eleven_monolingual_v1 | ~300 ms | Sehr gut | 1 (EN) | Nur Englisch |
Bei normaler API wartet der Client, bis das gesamte Audio generiert ist. Bei Streaming kommen die ersten Bytes in < 300 ms — kritisch für Echtzeit-Anwendungen.
const response = await fetch(
'https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM/stream',
{
method: 'POST',
headers: {
'xi-api-key': process.env.ELEVENLABS_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Dies wird als Stream zurückgegeben.',
model_id: 'eleven_turbo_v2_5',
output_format: 'mp3_44100_128',
}),
}
)
// Stream direkt zum Client weiterleiten
const reader = response.body.getReader()
while (true) {
const { done, value } = await reader.read()
if (done) break
// Audio-Chunks verarbeiten
}
| Format | Qualität | Größe | Use Case |
|---|---|---|---|
| mp3_44100_128 | Hoch | Mittel | Standard |
| mp3_44100_64 | Mittel | Klein | Mobile |
| pcm_16000 | Roh | Groß | Telefonie |
| pcm_44100 | Roh | Sehr groß | Postproduction |
| ulaw_8000 | Telefon | Klein | Twilio/SIP |
SSML gibt Ihnen Feinsteuerung über die Sprachausgabe:
<speak>
Willkommen bei <emphasis level="strong">EverStrategy.ai</emphasis>.
<break time="500ms"/>
Ihr Termin ist am <say-as interpret-as="date">2026-03-15</say-as>.
Das kostet <say-as interpret-as="currency">49,99 EUR</say-as>.
</speak>
<break> — Pause einfügen (time="500ms")<emphasis> — Betonung (level: strong, moderate, reduced)<say-as> — Interpretation: date, currency, telephone, cardinal<phoneme> — Exakte Aussprache per IPA<prosody> — Geschwindigkeit, Tonhöhe, LautstärkeGesamtlatenz = API-Overhead + Modell-Inferenz + Text-Länge + Netzwerk
| Szenario | Ohne Optimierung | Mit Optimierung |
|---|---|---|
| Einzelner Satz | 600 ms | 200 ms |
| Absatz (500 Zeichen) | 1.500 ms | 400 ms |
| Volle Seite | 5.000 ms | 800 ms (Streaming) |
Praxis-Tipp: Für Echtzeit-Voice-Agents verwenden Sie immer das Turbo-Modell mit Streaming. Für Offline-Produktion (Hörbücher, Podcasts) nehmen Sie das Multilingual-v2-Modell — die höhere Qualität ist die längere Wartezeit wert.