Stored data
https://api.suisse-speech.ch/v1 · X-API-KeyNo content is stored
Synthesised audio and transcripts are processed in memory and not stored:
identical texts are synthesised again each time. Every response reports
cache: "miss" (the field and the X-Suisse-Cache header stay for
compatibility), and POST /tts/prewarm stores nothing: its phrases come back
skipped, and nothing is synthesised or billed. The one exception is a key for
which you have asked us in writing to keep audio of fixed prompts (below).
Keeping audio of fixed prompts (per key, on request)
Fixed prompts (a greeting, a hold message, a handover, a goodbye) can be kept
for an API key, so that they play back without synthesis delay and sound
identical on every call. This is off for every key and is enabled by us, per
API key, on your written instruction naming the key and the longest time audio
may be kept (at most 30 days). GET /capabilities (cache.enabled) and
GET /tts/cache tell you whether it is enabled for the key you call with.
On such a key, POST /tts, POST /jobs, POST /tts/prewarm and session.start
of the realtime stream take cache: "use" (serve the kept rendering of exactly
this request, or render it and keep it), "refresh" (render anew and replace it)
or "off" (read nothing, keep nothing), and cache_ttl_s (from 60 seconds to the
key’s maximum). Without cache the key’s default applies, normally off. On a
key without it, both fields are ignored and responses report "miss", as before.
Keep audio only for fixed text: dynamic text with personal data belongs on
"off".
A kept rendering is identified by the exact text and markup, the model, the
voice, the language and dialect, the speed and the style; one rendering serves
every audio format. Answers report cache as hit, partial, miss,
refresh or off, with cache_expires_at and cache_entry (ce_…) in the
JSON envelope and X-Suisse-Cache-Expires on the audio. On the realtime stream,
segment.done carries the same fields and session.complete counts the
passages.
curl -H "X-API-Key: $SUISSE_SPEECH_KEY" https://api.suisse-speech.ch/v1/tts/cache # counts and expiries, never texts
curl -X DELETE -H "X-API-Key: $SUISSE_SPEECH_KEY" https://api.suisse-speech.ch/v1/tts/cache/ce_… # one rendering
curl -X DELETE -H "X-API-Key: $SUISSE_SPEECH_KEY" https://api.suisse-speech.ch/v1/tts/cache # everything the key keeps
A deletion takes effect at once. Kept audio is also deleted when it expires,
when the live key is rolled or a key is revoked, and when keeping audio is
switched off for the key. It is kept per key and never shared between keys or
accounts, encrypted at rest (AES-256), identified by a one-way hash (the text
itself is not stored), only on our servers in Switzerland, and in no backup.
Every second delivered is billed as before, whether rendered or served from the
cache; GET /v1/usage reports the share served from the cache in
cached_seconds.
Batch jobs keep their result only until it is collected (48 hours at most); the text of a synthesis job and the vocabulary of a recognition job are removed as soon as the job ends. An uploaded recording is deleted once its job finishes.
What is kept
Content-free metadata, for billing and security, for twelve months: when a
request was made, which service and mode, language, dialect, voice and audio
format it used, its length in seconds and characters, and whether it succeeded.
That is what GET /v1/usage and the console show.
Our web server’s access log records the address a request came from, without
its content. A ?api_key= in a WebSocket URL is masked in that log.
Our service log, kept for about two weeks to run and support the service, holds numbers per recognition stream. Where we switch it on for an account to diagnose its service, it also holds, per recognition result, when the result left, its language code, its number of words, the times of its first and last word, and its Swiss German detection result (variety, confidence, decided, source). Never the text, never audio.
Where processing takes place
Our API servers run in a data centre in Switzerland. Speech recognition runs in the European Union. Parts of speech synthesis are handled by specialised processing partners outside Switzerland and the EU, including the USA; they receive only what a request needs. Your content is not used to train models. See Security and our privacy policy; a data processing agreement is available for companies.