API-Dokumentation

Alles was du brauchst, um die schwiizerdütsch.com API zu integrieren.

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

Audioformate

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: