Sprachausgabe mit SSML steuern
Dieser Endpunkt für Sprachausgabe nimmt den mit SSML ausgezeichneten Text entgegen, den Ihre Pipeline ohnehin erzeugt, ebenso wie reinen Text.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Er liest die gesprochenen Wörter aus dem Markup heraus und synthetisiert sie zu natürlich klingendem Audio, sodass ein bestehender SSML-Arbeitsablauf hierher zeigen kann, ohne die Tags zuvor auf reinen Text zurückzunehmen. Seien wir von Anfang an klar bei der Grenze: Dieses System spricht die Wörter, nicht die feinen akustischen Steuerungen, die SSML beschreiben kann.
Was SSML ist und warum es existiert
Speech Synthesis Markup Language ist ein W3C-Standard, damit ein Autor beschreiben kann, wie ein Sprachsystem etwas sagen soll, nicht nur was: wo eine Pause sitzt, welche Silbe betont wird, wie eine Abkürzung ausgesprochen wird, ob eine Ziffernfolge ein Datum, eine Telefonnummer oder eine schlichte Menge ist. Seit Jahren ist es die Branchenkonvention zur Steuerung synthetischer Sprache, gerade weil reiner Text wirklich mehrdeutig ist – „2/3“ kann ein Datum, ein Bruch oder ein Spielstand sein, und nur das Markup löst das im Abstrakten auf. Genau dieses Format nimmt der Endpunkt als Eingabe an; was er mit jedem Tag macht, steht klar im nächsten Abschnitt.
Wie Anfrage und Antwort ablaufen
Sie senden mit SSML ausgezeichneten Text (oder reinen Text) im Anfragetext. Der Dienst löst die gesprochenen Wörter aus dem Markup heraus und synthetisiert sie; die Tags selbst werden vor der Synthese auf ihren Text reduziert. Die Aufgabe wird asynchron in die Warteschlange gestellt und liefert sofort eine task_id zurück; das fertige Audio wird danach über einen signierten Webhook oder einen signierten, 24 Stunden gültigen Link ausgeliefert. Weil die Wörter das sind, was synthetisiert wird, ergeben SSML und der gleichwertige reine Text dieselbe natürliche Erzählung – das Markup wird aus Kompatibilität akzeptiert, nicht weil jedes Tag den Klang ändert.
Was dieses System umsetzt und was nicht
Das ist die ehrliche Grenze, damit auf dieser Seite nichts zu viel verspricht. Das aktuelle Sprachsystem liest den Textinhalt und erzeugt eine natürliche, gut getaktete Sprache. Es setzt die feinen SSML-Steuerungen nicht akustisch um: Betonung, phonetische Aussprache, Prosodie und exakte Pausendauern werden in der Eingabe akzeptiert und dann entfernt, nicht umgesetzt. So hält ein Pausen-Tag von zwei Sekunden die Zeile nicht zwei Sekunden lang an, und ein Betonungs-Tag betont dieses Wort nicht stärker, als das Modell es von sich aus täte. Wenn Ihre Nutzung davon abhängt, dass diese Steuerungen präzise umgesetzt werden, ist diese Fähigkeit auf diesem System noch nicht verfügbar – der Endpunkt existiert, damit eine SSML-Pipeline schon heute Audio erzeugt, ohne einen separaten Zweig für reinen Text.
Der Einbau in automatisierte Inhalte
SSML ist nur strukturierter Text und lässt sich daher leicht programmatisch erzeugen – eine Content-Pipeline kann Zahlen in Tags einfassen, Pausen zwischen Abschnitte setzen oder einen Namen mit einem phonetischen Hinweis versehen, alles ohne menschliches Zutun. Der Nutzen dieses Endpunkts für dieses Publikum ist, dass er das SSML, das sie ohnehin ausgeben, unverändert annimmt: Sie müssen keinen zweiten Codepfad bauen und pflegen, der ihr Markup vor dem Senden auf reinen Text reduziert. Der Preis spiegelt die leichte, gezielte Natur der Aufgabe wider – eine kleine Basis pro Anfrage plus ein Satz je 1000 Zeichen des gesendeten Textes, wobei fehlgeschlagene Aufgaben nach den automatischen Wiederholungen nie berechnet werden.
Zugang und Umgang mit den Ergebnissen
Dieser Endpunkt setzt wie jeder andere in der API ein Prepaid-Guthaben voraus; eine Anfrage ohne Guthaben liefert HTTP 402 statt eines teilweisen oder verschlechterten Ergebnisses. Gesendeter Text und erzeugtes Audio werden nach Ablauf der Aufbewahrungsfrist gelöscht und nie zum Trainieren von Modellen verwendet – die Auslieferung erfolgt ausschließlich über Ihren Webhook oder einen temporären signierten Link, und darüber hinaus wird nichts aufbewahrt.
Anwendungsfälle
Direkter Ersatz für eine bestehende SSML-Pipeline
Lassen Sie einen Arbeitsablauf, der bereits SSML ausgibt, auf diesen Endpunkt zeigen und erhalten Sie gesprochenes Audio zurück, ohne einen eigenen Schritt zu schreiben, der die Tags zuerst auf reinen Text reduziert.
Erzählung aus generierten Skripten
Verwandeln Sie algorithmisch erzeugte Skripte in natürlich klingendes gesprochenes Audio, als ein automatisierter Schritt mehr in einer Content-Pipeline.
Langtext als Audio
Wandeln Sie Artikel, Notizen oder Dokumentation in Audio um, für Zuhörer, die Inhalte lieber hören als lesen.
Mehrsprachige Sprachausgabe
Erzeugen Sie gesprochenes Audio in den unterstützten Sprachen aus derselben Anfrageform, gesteuert über das Sprachfeld.
Häufige Fragen
Was ist SSML und wie nutzt diese Sprachausgabe-api es?
SSML ist ein Auszeichnungsstandard zur Beschreibung von Sprachsynthese. Dieser Endpunkt nimmt mit SSML ausgezeichneten Text entgegen, löst die gesprochenen Wörter aus dem Markup heraus und synthetisiert sie zu natürlichem Audio. Er akzeptiert das Format aus Kompatibilität; die nächste Antwort sagt, welche SSML-Steuerungen tatsächlich umgesetzt werden.
Setzt es Betonungs-, Phonem- und Prosodie-Tags um?
Nein – nicht auf dem aktuellen Sprachsystem. Diese Tags werden zusammen mit exakten Pausendauern in der Eingabe akzeptiert und dann auf ihren Text reduziert; das Audio spricht die Wörter natürlich, statt die markierte Betonung, Aussprache oder Pausen anzuwenden. Die präzise akustische Umsetzung dieser Steuerungen ist noch nicht verfügbar.
Ist diese Sprachausgabe-api kostenlos?
Es gibt keine Gratisstufe – Gratisstufen werden missbraucht und bremsen alle aus. Der Zugang läuft über ein Prepaid-Guthaben von ForHosting KIT: ab $10.00 aufladen (es verfällt nie), und jede Anfrage wird zum veröffentlichten Preis berechnet, sodass ein Aufruf ohne Guthaben HTTP 402 zurückgibt. Kein Abo, keine Token oder erfundenen Credits, und eine fehlgeschlagene Aufgabe wird nicht berechnet.
Was kostet es?
Es kostet $0.002 pro Anfrage plus $0.0025 pro 1000 Zeichen des gesendeten Textes.
Brauche ich SSML für eine einfache Sprachausgabe?
Nein. Wenn Sie nur natürlich klingendes Audio aus reinem Text brauchen, ist der Standard-Endpunkt für Sprachausgabe einfacher und liefert dieselbe Art von Erzählung. Sowohl reiner Text als auch SSML kommen hier als natürliche Sprache heraus.
Wie erhalte ich das erzeugte Audio?
Die Aufgabe läuft asynchron und liefert sofort eine task_id zurück; das fertige Audio wird über einen signierten Webhook oder einen signierten, 24 Stunden gültigen Link ausgeliefert.
Was passiert, wenn mein SSML-Markup ungültig ist?
Da das Markup vor der Synthese auf seinen gesprochenen Text reduziert wird, lassen fehlerhafte Tags die Anfrage nicht scheitern – Sie erhalten trotzdem Audio der lesbaren Wörter. Nichts wird wegen eines falschen Tags abgelehnt, verlassen Sie sich also nicht auf diesen Endpunkt, um Ihr SSML zu prüfen.
Kann ich damit die Aussprache von Namen oder Abkürzungen steuern?
Akustisch nicht – die Phonemsteuerung wird auf diesem System nicht umgesetzt, ein Phonem-Tag erzwingt also keine bestimmte Aussprache. Muss ein Name auf eine bestimmte Weise klingen, schreiben Sie ihn phonetisch in den Text selbst, damit die Wörter die Aussprache tragen.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/voice/tts-ssml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ssml":"<speak>Hola <break time=\"500ms\"/> mundo.</speak>"}'const res = await fetch("https://api.kit.forhosting.com/voice/tts-ssml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ssml": "<speak>Hola <break time=\"500ms\"/> mundo.</speak>"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/voice/tts-ssml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ssml": "<speak>Hola <break time=\"500ms\"/> mundo.</speak>"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/voice/tts-ssml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ssml":"<speak>Hola <break time=\\"500ms\\"/> mundo.</speak>"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ssml":"<speak>Hola <break time=\"500ms\"/> mundo.</speak>"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/voice/tts-ssml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"ssml": "<speak>Hola <break time=\"500ms\"/> mundo.</speak>"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "voice.tts_ssml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 200 |
max_minutes | 180 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |