Authentifizierung
Alle API-Anfragen erfordern einen API-Schlüssel. Übergib ihn als Bearer Token im Authorization-Header.
Authorization: Bearer sk_...
API-Schlüssel können im Dashboard erstellt und verwaltet werden.
Base URL
https://api.schwiizerdütsch.com
Endpunkte
POST /v1/speak
Erzeugt eine Audiodatei aus Text.
# Anfrage
curl -X POST https://api.schwiizerdütsch.com/v1/speak \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"text": "Grüezi, wie gaats Ihne?",
"voice": "marco",
"speed": 1.0,
"output_format": "mp3"
}' \
--output greeting.mp3
Parameter:
text erforderlichstringDer zu sprechende Text. Max. 10'000 Zeichen.
voicestringStimme. Aktuell marco (Züritüütsch). Verfügbare Stimmen via /v1/voices.
speedfloatGeschwindigkeit. 0.5 bis 2.0, Standard 1.0.
output_formatstringAudioformat: mp3, wav, ogg, flac, pcm. Standard mp3.
sample_rateintegerAbtastrate in Hz: 8000, 16000, 24000, 48000. Standard 24000.
Antwort: Audiodatei im gewählten Format.
POST /v1/batch
Synchrone Stapelverarbeitung: mehrere Texte in einer Anfrage. Gibt pro Text ein base64-kodiertes Audio zurück (gleiche Reihenfolge). Die ganze Charge zählt einmal aufs Kontingent. Max. 100 Texte pro Anfrage.
curl -X POST https://api.schwiizerdütsch.com/v1/batch \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"texts": ["Erste Satz.", "Zweite Satz."],
"voice": "marco",
"output_format": "mp3"
}'
Zusätzliche Parameter:
texts erforderlicharrayArray von Texten (max. 100). Jeder max. 10'000 Zeichen.
Antwort: JSON mit count, total_chars und results — pro Text {index, char_count, format, audio_b64}.
GET /v1/voices
Listet alle verfügbaren Stimmen mit Dialekt, Geschlecht und Beschreibung auf.
curl https://api.schwiizerdütsch.com/v1/voices \
-H "Authorization: Bearer sk_..."
GET /v1/usage
Zeigt den aktuellen Zeichenverbrauch und Kontingent an.
curl https://api.schwiizerdütsch.com/v1/usage \
-H "Authorization: Bearer sk_..."
Parameter-Referenz
textstringEingabetext. Max. 10'000 Zeichen pro Anfrage.
voicestringStimmen-ID. Aktuell marco. Abrufbar via /v1/voices.
speedfloat0.5 bis 2.0. Standard: 1.0
output_formatstringmp3 · wav · ogg · flac · pcm
sample_rateinteger8000 · 16000 · 24000 · 48000
MP3audio/mpegKomprimiert. Ideal für Web und Mobile.
WAVaudio/wavUnkomprimiert. Höchste Qualität.
OGGaudio/oggKomprimiert. Open-Source-Alternative zu MP3.
FLACaudio/flacVerlustfrei komprimiert.
PCMaudio/pcmRohdaten für die Weiterverarbeitung (z. B. Telefonie).
Fehlercodes
400Bad RequestUngültige Parameter oder fehlende Pflichtfelder.
401UnauthorizedFehlender oder ungültiger API-Schlüssel.
403ForbiddenKein Zugriff auf diese Ressource.
429Too Many RequestsRate Limit überschritten.
500Server ErrorInterner Serverfehler.
Rate Limits
Gratis10 Anf./Min.1'000 Zeichen pro Tag.
Pro100 Anf./Min.100'000 Zeichen pro Monat.
EnterpriseIndividuellIndividuelle Limits nach Vereinbarung.
SDKs
Offizielle SDKs für die gängigsten Programmiersprachen.
Python
Installation:
pip install schwiizerduetsch
Verwendung:
import schwiizerduetsch
client = schwiizerduetsch.Client("sk_...")
# Sprache generieren
audio = client.speak(
text="Grüezi, wie gaats Ihne?",
voice="marco",
speed=1.0,
format="mp3"
)
audio.save("greeting.mp3")
Unterstützte Methoden:
client.speak(), Sprache generieren
client.batch(), Synchrone Stapelverarbeitung
client.voices(), Verfügbare Stimmen auflisten
client.usage(), Kontingent abfragen