Quickstart
https://api.suisse-speech.ch/v1 · X-API-KeyYou need an API key. Every new account comes with 60 free minutes of speech-to-text and text-to-speech, and a sandbox key for tests. Request your key if you do not have one yet.
Keep the key in an environment variable rather than in your code:
export SUISSE_SPEECH_KEY="sv_..."
Speak a sentence
Standard German text in, Zürich German audio out:
curl -X POST https://api.suisse-speech.ch/v1/tts \
-H "X-API-Key: $SUISSE_SPEECH_KEY" -H 'Content-Type: application/json' \
-d '{"text":"Grüezi, schön sind Sie da.","voice":"anna","language":"de-CH","dialect":"zurich"}' \
--output greeting.mp3
The response body is the audio. Its length in seconds, the unit you are billed
in, is in the X-Suisse-Audio-Duration header.
Transcribe a file
curl -X POST https://api.suisse-speech.ch/v1/stt \
-H "X-API-Key: $SUISSE_SPEECH_KEY" \
-F audio=@recording.wav -F lang=de-CH
{"text":"…","lang":"de-CH","words":[{"w":"Grüezi","start":0.12,"end":0.58,"conf":0.98}],"duration_s":3.4}
Swiss German speech is written as Standard German text.
See what the service can do
curl -H "X-API-Key: $SUISSE_SPEECH_KEY" https://api.suisse-speech.ch/v1/capabilities
The answer lists every voice, language, dialect, audio format, parameter range, limit and error code. Read it at start-up rather than hard-coding lists.
Test without spending anything
A sandbox key (sv_test_…) returns audio and transcripts that are
structurally identical to the real thing, produced locally at no cost. Use it in
continuous integration:
curl -X POST https://api.suisse-speech.ch/v1/tts \
-H "X-API-Key: $SUISSE_SPEECH_SANDBOX_KEY" -H 'Content-Type: application/json' \
-d '{"text":"CI run 4711","voice":"anna","format":"mp3"}' --output ci.mp3
Next steps
- Stream replies for a voice bot: Text-to-speech → Realtime
- Transcribe a live call: Speech-to-text → Realtime
- Answer in the caller’s language: From recognition to synthesis