STT & TTS vendors
VoiceThere cloud runners synthesize and transcribe speech using providers you pick per project. Configure STT and TTS independently — for example, Deepgram STT with OpenAI TTS, or on-cluster Sherpa for both with no API keys.
Where to configure
- Dashboard: Project overview → Voice (STT / TTS) — choose providers, models, and voices. Third-party keys go in project secrets (see Agent environment & secrets).
- Control plane API: Patch project voice settings (
stt_provider,tts_provider, model ids) before deploy — see Control plane API.
Changes apply to new sessions after you Deploy to cloud on the project overview. Cloud speech from third-party vendors is billed by that vendor; on-cluster Sherpa STT/TTS usage is metered in VoiceThere usage credits.
STT providers
Sherpa (on-cluster) (local-sherpa)
Uses preloaded Sherpa models on the runner volume — no API keys.
Required project secrets
Optional env fields
OpenAI (openai)
Whisper STT and OpenAI TTS share OPENAI_API_KEY.
Defaults: model: whisper-1, language: en
STT models
whisper-1— Whisper v1gpt-4o-mini-transcribe— GPT-4o mini transcribe
Required project secrets
AGENT_OPENAI_API_KEY— OpenAI API key
Optional env fields
Deepgram (deepgram)
Deepgram is STT-only in the SDK — pair with an OpenAI (or other) TTS provider.
Defaults: model: nova-2, language: en
STT models
nova-2— Nova 2nova-3— Nova 3
Required project secrets
AGENT_DEEPGRAM_API_KEY— Deepgram API key
Optional env fields
AssemblyAI (assemblyai)
AssemblyAI is STT-only — pair with a TTS provider such as OpenAI.
Defaults: model: universal-streaming-english, language: en
STT models
universal-streaming-english— Universal streaming (English)
Required project secrets
AGENT_ASSEMBLYAI_API_KEY— AssemblyAI API key
Optional env fields
Google Cloud Speech (google)
Uses Application Default Credentials or an API key. Store credentials as encrypted project secrets — they are mapped to the runner at deploy.
Defaults: model: latest_long, language: en-US
STT models
latest_long— Latest long
Required project secrets
AGENT_GOOGLE_APPLICATION_CREDENTIALS— Service account credentialsAGENT_GOOGLE_API_KEY— Google API key
Optional env fields
TTS providers
Sherpa (on-cluster) (local-sherpa)
Uses preloaded Sherpa models on the runner volume — no API keys.
Required project secrets
Optional env fields
OpenAI (openai)
Whisper STT and OpenAI TTS share OPENAI_API_KEY.
Defaults: model: tts-1, voice: alloy
TTS models
tts-1— TTS standardtts-1-hd— TTS HD
TTS voices
alloy— Alloyecho— Echofable— Fableonyx— Onyxnova— Novashimmer— Shimmer
Required project secrets
AGENT_OPENAI_API_KEY— OpenAI API key
Optional env fields
ElevenLabs (elevenlabs)
ElevenLabs is TTS-only — pair with an OpenAI (or other) STT provider.
Defaults: model: eleven_multilingual_v2, voice: EXAVITQu4vr4xnSDxMaL
TTS models
eleven_multilingual_v2— Multilingual v2
TTS voices
EXAVITQu4vr4xnSDxMaL— Rachel (default)
Required project secrets
AGENT_ELEVENLABS_API_KEY— ElevenLabs API key
Optional env fields
AGENT_ELEVENLABS_VOICE_ID— Voice id
Cartesia (cartesia)
Cartesia is TTS-only — pair with an OpenAI (or other) STT provider.
Defaults: model: sonic-english, voice: default
TTS models
sonic-english— Sonic English
TTS voices
default— Default
Required project secrets
AGENT_CARTESIA_API_KEY— Cartesia API key
Optional env fields
AGENT_CARTESIA_VOICE_ID— Voice id
Google Cloud Speech (google)
Uses Application Default Credentials or an API key. Store credentials as encrypted project secrets — they are mapped to the runner at deploy.
Defaults: model: en-US-Neural2-A, voice: en-US-Neural2-A
TTS models
en-US-Neural2-A— en-US Neural2 A
TTS voices
en-US-Neural2-A— en-US Neural2 A
Required project secrets
AGENT_GOOGLE_APPLICATION_CREDENTIALS— Service account credentialsAGENT_GOOGLE_API_KEY— Google API key
Optional env fields
Sherpa STT models (on-cluster)
When stt_provider is local-sherpa, the runner loads the selected bundle from the preloaded Sherpa volume. Models below are the full catalog — pick one by stt_model_id in project voice settings.
| Id | Label | Description |
|---|---|---|
| en | English (Kroko) | Streaming Zipformer transducer (transducer) for English. English (Kroko) |
| en-legacy | English (2023 baseline) | Streaming Zipformer transducer (transducer) for English. English (2023 baseline) |
| en-small | English (20M, small) | Streaming Zipformer transducer (transducer) for English. English (20M, small) |
| es | Spanish | Streaming Zipformer transducer (transducer) for Spanish. Spanish |
| fr | French | Streaming Zipformer transducer (transducer) for French. French |
| de | German | Streaming Zipformer transducer (transducer) for German. German |
| zh | Chinese (Mandarin) | Streaming Zipformer transducer (transducer) for Chinese. Chinese (Mandarin) |
| zh-en | Chinese + English (bilingual) | Streaming Zipformer transducer (transducer) for Chinese. Chinese + English (bilingual) |
| ja | Japanese | Streaming Zipformer transducer (transducer) for Japanese. Japanese Shares the same on-cluster bundle as catalog ids: ar, id, ja, th, vi. |
| ar | Arabic | Streaming Zipformer transducer (transducer) for Arabic. Arabic Shares the same on-cluster bundle as catalog ids: ar, id, ja, th, vi. |
| id | Indonesian | Streaming Zipformer transducer (transducer) for Indonesian. Indonesian Shares the same on-cluster bundle as catalog ids: ar, id, ja, th, vi. |
| th | Thai | Streaming Zipformer transducer (transducer) for Thai. Thai Shares the same on-cluster bundle as catalog ids: ar, id, ja, th, vi. |
| vi | Vietnamese | Streaming Zipformer transducer (transducer) for Vietnamese. Vietnamese Shares the same on-cluster bundle as catalog ids: ar, id, ja, th, vi. |
| ko | Korean | Streaming Zipformer transducer (transducer) for Korean. Korean |
| ru | Russian | Streaming Zipformer transducer (transducer) for Russian. Russian |
| fr-legacy | French (2023 baseline) | Streaming Zipformer transducer (transducer) for French. French (2023 baseline) |
| en-2023-02 | English (2023-02 LibriSpeech) | Streaming Zipformer transducer (transducer) for English. English (2023-02 LibriSpeech) |
| bn | Bengali (South Asia) | Streaming Zipformer transducer (transducer) for Bengali. Bengali (South Asia) |
Sherpa TTS models (on-cluster)
When tts_provider is local-sherpa, synthesis uses on-cluster neural TTS voices (mostly Piper VITS; Chinese uses Melo). Pick one by tts_model_id.
| Id | Label | Description |
|---|---|---|
| en | English (Amy, Piper medium) | Piper VITS neural TTS (vits) for English — English (Amy, Piper medium). |
| en-amy-low | English (Amy, Piper low) | Piper VITS neural TTS (vits) for English — English (Amy, Piper low). |
| en-lessac | English (Lessac, Piper medium) | Piper VITS neural TTS (vits) for English — English (Lessac, Piper medium). |
| en-lessac-high | English (Lessac, Piper high) | Piper VITS neural TTS (vits) for English — English (Lessac, Piper high). |
| en-lessac-low | English (Lessac, Piper low) | Piper VITS neural TTS (vits) for English — English (Lessac, Piper low). |
| en-glados | English (GLaDOS) | Piper VITS neural TTS (vits) for English — English (GLaDOS). |
| en-glados-high | English (GLaDOS high) | Piper VITS neural TTS (vits) for English — English (GLaDOS high). |
| en-ryan | English (Ryan, Piper medium) | Piper VITS neural TTS (vits) for English — English (Ryan, Piper medium). |
| en-ryan-high | English (Ryan, Piper high) | Piper VITS neural TTS (vits) for English — English (Ryan, Piper high). |
| en-ryan-low | English (Ryan, Piper low) | Piper VITS neural TTS (vits) for English — English (Ryan, Piper low). |
| en-joe | English (Joe, Piper medium) | Piper VITS neural TTS (vits) for English — English (Joe, Piper medium). |
| en-bryce | English (Bryce, Piper medium) | Piper VITS neural TTS (vits) for English — English (Bryce, Piper medium). |
| en-john | English (John, Piper medium) | Piper VITS neural TTS (vits) for English — English (John, Piper medium). |
| en-kristin | English (Kristin, Piper medium) | Piper VITS neural TTS (vits) for English — English (Kristin, Piper medium). |
| en-norman | English (Norman, Piper medium) | Piper VITS neural TTS (vits) for English — English (Norman, Piper medium). |
| en-danny-low | English (Danny, Piper low) | Piper VITS neural TTS (vits) for English — English (Danny, Piper low). |
| en-kathleen-low | English (Kathleen, Piper low) | Piper VITS neural TTS (vits) for English — English (Kathleen, Piper low). |
| en-ljspeech | English (LJSpeech, Piper medium) | Piper VITS neural TTS (vits) for English — English (LJSpeech, Piper medium). |
| en-ljspeech-high | English (LJSpeech, Piper high) | Piper VITS neural TTS (vits) for English — English (LJSpeech, Piper high). |
| en-arctic | English (Arctic multi-speaker, Piper medium) | Piper VITS neural TTS (vits) for English — English (Arctic multi-speaker, Piper medium). |
| en-hfc-female | English (HFC female, Piper medium) | Piper VITS neural TTS (vits) for English — English (HFC female, Piper medium). |
| en-hfc-male | English (HFC male, Piper medium) | Piper VITS neural TTS (vits) for English — English (HFC male, Piper medium). |
| en-gb-alan | English GB (Alan, Piper medium) | Piper VITS neural TTS (vits) for English — English GB (Alan, Piper medium). |
| en-gb-cori | English GB (Cori, Piper medium) | Piper VITS neural TTS (vits) for English — English GB (Cori, Piper medium). |
| en-gb-jenny | English GB (Jenny, Piper medium) | Piper VITS neural TTS (vits) for English — English GB (Jenny, Piper medium). |
| es | Spanish (GLaDOS medium) | Piper VITS neural TTS (vits) for Spanish — Spanish (GLaDOS medium). |
| de | German (Thorsten medium) | Piper VITS neural TTS (vits) for German — German (Thorsten medium). |
| de-thorsten-high | German (Thorsten high) | Piper VITS neural TTS (vits) for German — German (Thorsten high). |
| de-glados | German (GLaDOS medium) | Piper VITS neural TTS (vits) for German — German (GLaDOS medium). |
| fr | French (Siwis, Piper medium) | Piper VITS neural TTS (vits) for French — French (Siwis, Piper medium). |
| it | Italian (Paola, Piper medium) | Piper VITS neural TTS (vits) for Italian — Italian (Paola, Piper medium). |
| pt | Portuguese BR (Faber, Piper medium) | Piper VITS neural TTS (vits) for Portuguese — Portuguese BR (Faber, Piper medium). |
| nl | Dutch (Pim, Piper medium) | Piper VITS neural TTS (vits) for Dutch — Dutch (Pim, Piper medium). |
| pl | Polish (Gosia, Piper medium) | Piper VITS neural TTS (vits) for Polish — Polish (Gosia, Piper medium). |
| ru | Russian (Irina, Piper medium) | Piper VITS neural TTS (vits) for Russian — Russian (Irina, Piper medium). |
| hi | Hindi (Priyamvada, Piper medium) | Piper VITS neural TTS (vits) for Hindi — Hindi (Priyamvada, Piper medium). |
| zh | Chinese + English (Melo TTS) | Melo TTS (vits) for Chinese — Chinese + English (Melo TTS). |
See also
- Advanced voice settings — VAD, barge-in, and speech event tuning
- Agent environment & secrets — storing
AGENT_*credentials - Billing & usage credits — Sherpa speech metering