Skip to content

Capability · Speech

Transcription and speech, residency-separate.

Speech-to-text and text-to-speech on the OpenAI audio shape — PHI-eligible in CH, EU and US, general traffic in more regions, and never a cross-border failover.

POST /v1/audio/transcriptions · /v1/audio/speech

What you get

Built for regulated workloads

Transcription uses the standard /v1/audio/transcriptions multipart shape (json, text, srt, vtt, verbose_json); speech uses /v1/audio/speech. PHI speech resolves in CH, EU and US, and those regions are residency-separate — a CH request resolves to a Swiss-jurisdiction host and never fails over across a border. For general traffic, speech-to-text also resolves in WORLD and text-to-speech in UK, ASIA, ANZ, INDIA, LATAM, MENA and WORLD, on general-only hosts chosen for reach rather than residency (some process globally); X-PHI:true there returns phi_blocked. A region with no host for the task returns no_route — speech-to-text today in UK, ASIA, ANZ, INDIA, LATAM and MENA.

01 · STT

Whisper-class transcription

The whisper canonical maps to Microsoft Azure (US, CH, EU) and Scaleway (EU); Voxtral (EU) and Deepgram Nova-3 are pinnable by id. Spoken language is auto-detected when you omit `language` (or pin one for best accuracy). Returns json, text, srt, vtt or verbose_json.

02 · Diarization

Speaker labels + word timestamps

Azure STT runs speaker diarization by default: verbose_json returns segments tagged with a speaker ("speaker 1", "speaker 2"), and timestamp_granularities[]=word adds per-word start/end times. Ideal for multi-party consult recordings.

03 · TTS

Neural text-to-speech

Azure neural voices (CH / EU / US), Voxtral (EU), the Swiss voice workers and general-only global voices synthesise speech from the OpenAI speech shape — MP3, WAV, OPUS, AAC, FLAC or PCM, depending on the host.

04 · Residency

No cross-border failover

STT/TTS are pinned within a jurisdiction. A Swiss call will not silently complete on an EU host — if the resident provider is unavailable, the call fails in-region rather than crossing a border.

05 · PHI

PHI on verified hosts

PHI speech runs on Azure (CH / EU / US, under the Microsoft DPA and HIPAA BAA) and Scaleway (EU, under its GDPR DPA). In the US, speech and OCR are the only PHI modalities — US chat, vision and embeddings PHI are not available. That includes Swiss text-to-speech: it resolves to Azure Speech in Switzerland North, in-region and PHI-eligible. The two self-hosted Swiss voice workers sit alongside it for general traffic only.

Availability & pricing

Where it runs, what it costs

Every route is pinned to a region, PHI stays on resident hosts, and the PHI gate is enforced per call. Prices mirror the live /v1/pricing rate card.

RegionProviderModelTierPrice
EUMistral (Voxtral)STT · voxtralGeneral$0.30 / hour
EUScalewaySTT · whisper large-v3 (default)PHI$0.34 / hour
CHAzure SpeechSTT (default)PHI$1.67 / hour
USAzure SpeechSTTPHI$0.60 / hour
EU / US / WORLDDeepgramSTT · nova-3 (default in US, WORLD)General$0.43 / hour
EUMistral (Voxtral)TTSGeneral$26.67 / 1M chars
EU / USAzure SpeechTTS · neuralPHI$25.00 / 1M chars
CHAzure SpeechTTS · neuralPHI$25.00 / 1M chars
CH / EUSwiss voice workersTTS · chatterbox / kokoro (default)General$25.00 / 1M chars
US / WORLDInworldTTS · tts-2 flash (default)General$25.00 / 1M chars
US / WORLDElevenLabsTTS · flash v2.5General$137.50 / 1M chars
UK / ASIA / ANZ / INDIA / LATAM / MENAGoogleTTS · gemini-3.8-flash-lite (default)Generalsee /pricing

STT billed per minute of audio; TTS per character (Gemini TTS is billed on Google’s own token count — see /pricing). “(default)” marks what unpinned traffic resolves to today. Infomaniak Whisper (CH) is staged, async-batch.

Try it

A real call, end to end

Transcribe a consult recording in the EU with a residency-pinned Whisper.

Residency & coverage

  • CH speech-to-text AND text-to-speech → Azure Speech (Switzerland North), both PHI-eligible. General CH TTS can also use the self-hosted Swiss voice workers (chatterbox / kokoro), which are non-PHI.
  • Unpinned general speech-to-text: Microsoft Azure in CH, Scaleway in EU and Deepgram in US and WORLD. Text-to-speech: Vox Fast Worker in CH and EU, Inworld in US and WORLD and Google in UK, ASIA, ANZ, INDIA, LATAM and MENA. PHI speech uses the PHI-eligible host in its region (Azure in CH, EU and US).
  • WORLD → Deepgram STT and Inworld TTS, general traffic only. This is reach, not residency: no in-region guarantee, and X-PHI:true returns phi_blocked.
  • Speech-to-text has no route in UK, ASIA, ANZ, INDIA, LATAM and MENA. A named region only resolves where an in-region host exists.
curl
curl https://cloudsitus.com/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $PHI_API_KEY" \
  -H "X-Region: EU" \
  -H "X-PHI: true" \
  -F file=@consult.mp3 \
  -F model=whisper \
  -F response_format=verbose_json
response
x-phi-routed: scaleway-whisper-v3/EU/phi
x-phi-tier: phi
x-phi-usage: verified
{ "text": "Patient reports...", "duration": 184.2 }
Is Swiss text-to-speech available for PHI?
Yes. Swiss TTS resolves to Azure Speech in Switzerland North — in-region and PHI-eligible under the Microsoft BAA — so PHI audio is synthesised without crossing a border. General (non-PHI) Swiss traffic can also use the self-hosted Swiss voice workers, which are not PHI-eligible because they are reached over a TLS-terminating tunnel.
Can a Swiss request fall back to an EU host if the Swiss one is down?
No. Speech is residency-separate with no cross-border failover — that is the point. A failed CH call stays a CH error; it never completes in another jurisdiction.
What audio formats are supported?
STT accepts standard audio uploads and returns json, text, srt, vtt or verbose_json. TTS emits MP3, WAV, OPUS, AAC, FLAC or PCM via the OpenAI /audio/speech shape.

Ready when you are

Put speech (stt / tts) in production — without giving up your data.

Spin up a key in minutes. The residency and PHI posture above arrives unchanged.

Prepaid credits from $10 · No subscription · No data retained