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://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:

Im Python-SDK steht das direkt am Ergebnis: audio.commercial_use und audio.license.

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.

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: