Mistral speech on VoiceThere
Mistral Voxtral TTS and realtime STT on VoiceThere cloud with AGENT_MISTRAL_API_KEY. STT streams partial transcripts.
Overview of all vendors: STT & TTS vendors.
What it is
Mistral covers both legs with Voxtral models: Voxtral TTS streams audio over HTTP and Voxtral realtime STT runs over a WebSocket. Use Mistral for either leg and pair it with another vendor for the other.
Set up on VoiceThere
- Dashboard: Project Settings → Voice (STT / TTS). Pick
mistralon the leg this vendor supports. Add project secrets from the list below, then Deploy to cloud. - Secrets: Store keys as
AGENT_*project secrets (see Agent environment & secrets). - API: Patch
stt_provider/tts_provideron the project before deploy. See Control plane API.
Project secrets for this vendor
AGENT_MISTRAL_API_KEY: Mistral API key. Mistral STT and TTS on the runner.
Optional env fields
AGENT_MISTRAL_VOICE_ID: Voice id. Voxtral voice id (preset, workspace or cloned voice). Leave empty for the default voice.AGENT_MISTRAL_BASE_URL: Regional endpoint. https://api.eu.mistral.ai or https://api.us.mistral.ai. Leave empty for the global endpoint. Other values are ignored.
CLI (after secrets exist):
voicethere projects voice set --project YOUR_PROJECT_ID \ --stt-provider mistral --tts-provider mistral \ --stt-model voxtral-mini-transcribe-realtime-3-0 --tts-model voxtral-mini-tts-3-0
Models and voices you can pick
Project Voice settings in the dashboard lists every model and voice id VoiceThere accepts for this vendor. The same allowlists ship in the npm package @node-webrtc-rust/voice-catalog (pinned on your platform release).
STT examples: voxtral-mini-transcribe-realtime-3-0, voxtral-mini-transcribe-realtime-3
TTS model examples: voxtral-mini-tts-3-0, voxtral-mini-tts-3
TTS voice examples: voice_478
Optional AGENT_MISTRAL_VOICE_ID sets the Mistral voice id. Leave it unset and the default voice voice_478is used. Preset voices, workspace voices and cloned voices all work. An id Mistral does not know fails the turn with Mistral's 404 error.
Optional AGENT_MISTRAL_BASE_URL points calls at a regional endpoint. Only https://api.eu.mistral.ai and https://api.us.mistral.ai are accepted (the default is https://api.mistral.ai); any other value is ignored. A regional endpoint serves only the models hosted there.
What the implementation does
- STT sends partial transcripts while the caller talks, so barge-in works the usual way.
- The STT language is sent only as a two-letter code such as
enorfr. For anything else Mistral detects the language itself.
Limitations
- Voxtral 3 models are in preview at Mistral and can change.
- Mistral bills your own key, not VoiceThere speech credits.
- Whether Mistral may use preview-model data for training is controlled in your Mistral workspace settings. Check them before you send customer audio.