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://schwiizerdütsch.com
Endpunkte
POST /v1/speak
Erzeugt eine Audiodatei aus Text.
# Anfrage
curl -X POST https://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, 13 zur Auswahl, alle kommerziell nutzbar (siehe Stimmen-Lizenzen). Vollständige Liste via /v1/voices. Standard marco.
dialectstringBei allen Stimmen ausser marco pro Anfrage wählbar: zh, be, gr, lu. Standard zh. Bei marco ist der Dialekt fest (Züridütsch).
speedfloatGeschwindigkeit. 0.5 bis 2.0, Standard 1.0.
output_formatstringAudioformat: mp3, wav, ogg, flac, pcm. Standard mp3.
sample_rateintegerAbtastrate in Hz (Resampling): 8000, 16000, 24000, 48000. Standard: nativ 22050.
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://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 Lizenz auf. Pro Stimme sagen commercial_use, license und attribution, was mit dem Output erlaubt ist, siehe Stimmen-Lizenzen.
curl https://schwiizerdütsch.com/v1/voices \
-H "Authorization: Bearer sk_..."
GET /v1/usage
Zeigt den aktuellen Zeichenverbrauch und Kontingent an.
curl https://schwiizerdütsch.com/v1/usage \
-H "Authorization: Bearer sk_..."
Parameter-Referenz
textstringEingabetext. Max. 10'000 Zeichen pro Anfrage.
voicestringStimmen-ID, 13 zur Auswahl, alle kommerziell nutzbar. Liste via /v1/voices. Standard marco.
speedfloat0.5 bis 2.0. Standard: 1.0
output_formatstringmp3 · wav · ogg · flac · pcm
sample_rateinteger8000 · 16000 · 24000 · 48000 · nativ 22050 (Standard)
Stimmen-Lizenzen
Alle angebotenen Stimmen sind kommerziell nutzbar. Der erzeugte Output darf kommerziell verwendet, bearbeitet und in eigene Produkte integriert werden. Nicht gestattet ist, die Stimmen selbst weiterzuverkaufen, als eigenen Sprachsynthese-Dienst anzubieten oder daraus Modelle zu trainieren.
Zur Bestätigung liefert die API die Freigabe an drei Stellen mit:
GET /v1/voices, Felder commercial_use, license und license_note pro Stimme.
POST /v1/speak, Antwort-Header X-Voice-License und X-Commercial-Use.
POST /v1/batch, Objekt license in der JSON-Antwort.
Im Python-SDK steht das direkt am Ergebnis: audio.commercial_use und audio.license.
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.
Guthaben und Limits
AbrechnungGuthabenKein Abo. 1 Zeichen Text kostet 1 Zeichen Guthaben, abgerechnet wird die Länge des Eingabetexts.
PreisCHF 0.40pro 1000 Zeichen. Guthaben verfällt nicht.
Startguthaben600 ZeichenEinmalig für jedes neue Konto, zum Ausprobieren. Guthaben-Pakete ab CHF 10.
Anfragen10 Anf./Min.Max. 10 000 Zeichen pro Anfrage, max. 100 Texte pro Batch.
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