Mistral Provider: Models, Voxtral Transcription, and Embeddings
Learn how to integrate Mistral models, Voxtral batch and realtime transcription, and memory embeddings with OpenClaw. This guide covers setup, API keys, and configuration.
Read this when
- You want to use Mistral models in OpenClaw
- You want Voxtral realtime transcription for Voice Call
- You need Mistral API key onboarding and model refs
The official external mistral plugin provides four contracts: chat completions, media understanding (Voxtral batch transcription), realtime STT for Voice Call (Voxtral Realtime), and memory embeddings (mistral-embed).
| Property | Value |
|---|---|
| Provider id | mistral |
| Plugin | @openclaw/mistral-provider |
| Auth env var | MISTRAL_API_KEY |
| Onboarding flag | --auth-choice mistral-api-key |
| Direct CLI flag | --mistral-api-key <key> |
| API | OpenAI-compatible (openai-completions) |
| Base URL | https://api.mistral.ai/v1 |
| Default model | mistral/mistral-large-latest |
| Embedding model | mistral-embed |
| Voxtral batch | voxtral-mini-latest (audio transcription) |
| Voxtral realtime | voxtral-mini-transcribe-realtime-2602 |
Getting started
Install the plugin
openclaw plugins install @openclaw/mistral-provider
openclaw gateway restart
Get your API key
Head to the Mistral Console to generate an API key.
Run onboarding
openclaw onboard --auth-choice mistral-api-key
Alternatively, supply the key directly:
openclaw onboard --mistral-api-key "$MISTRAL_API_KEY"
Set a default model
{
env: { vars: { MISTRAL_API_KEY: "sk-..." } },
agents: { defaults: { model: { primary: "mistral/mistral-large-latest" } } },
}
Verify the model is available
openclaw models list --provider mistral
Built-in LLM catalog
| Model ref | Input | Context | Max output | Notes |
|---|---|---|---|---|
mistral/mistral-large-latest | text, image | 262,144 | 16,384 | Default model |
mistral/mistral-medium-3-5 | text, image | 262,144 | 8,192 | Mistral Medium 3.5; adjustable reasoning |
mistral/mistral-small-latest | text, image | 262,144 | 16,384 | Mistral Small 4 latest; adjustable reasoning_effort |
mistral/mistral-small-2603 | text, image | 262,144 | 16,384 | Mistral Small 4 pinned; adjustable reasoning_effort |
mistral/codestral-latest | text | 128,000 | 4,096 | Coding |
mistral/mistral-medium-2508 | text, image | 128,000 | 8,192 | Deprecated; hidden; use Mistral Medium 3.5 |
mistral/devstral-medium-latest | text | 262,144 | 32,768 | Deprecated; hidden; use Mistral Medium 3.5 |
Before changing config, inspect the plugin catalog row:
openclaw models list --all --provider mistral --plain
Test a model without launching the Gateway:
openclaw infer model run --local \
--model mistral/mistral-medium-3-5 \
--prompt "Reply with exactly: mistral-ok" \
--json
Audio transcription (Voxtral)
Batch audio transcription via the media understanding pipeline is handled with Voxtral:
{
tools: {
media: {
models: [{ provider: "mistral", model: "voxtral-mini-latest", capabilities: ["audio"] }],
audio: {
enabled: true,
},
},
},
}
Tip
The media transcription path uses
/v1/audio/transcriptions. The default audio model for Mistral isvoxtral-mini-latest.
Voice Call streaming STT
Voxtral Realtime is registered as a Voice Call streaming STT provider by the mistral plugin.
| Setting | Config path | Default |
|---|---|---|
| API key | plugins.entries.voice-call.config.streaming.providers.mistral.apiKey | Falls back to MISTRAL_API_KEY |
| Model | ...mistral.model | voxtral-mini-transcribe-realtime-2602 |
| Encoding | ...mistral.encoding | pcm_mulaw |
| Sample rate | ...mistral.sampleRate | 8000 |
| Target delay | ...mistral.targetStreamingDelayMs | 800 |
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "mistral",
providers: {
mistral: {
apiKey: "${MISTRAL_API_KEY}",
targetStreamingDelayMs: 800,
},
},
},
},
},
},
},
}
Note
OpenClaw sets Mistral realtime STT to
pcm_mulawat 8 kHz by default, which lets Voice Call pass Twilio media frames straight through. Only applyencoding: "pcm_s16le"together with a matchingsampleRatewhen your upstream stream is already raw PCM.
Advanced configuration
Adjustable reasoning
mistral/mistral-small-latest, mistral/mistral-small-2603, and mistral/mistral-medium-3-5 work with adjustable reasoning on the Chat Completions API through reasoning_effort (none cuts down on extra thinking in responses; high shows complete reasoning traces before the final answer).
The session thinking level is translated by OpenClaw into Mistral's API:
| OpenClaw thinking level | Mistral reasoning_effort |
|---|---|
| off / minimal | none |
| low / medium / high / xhigh / adaptive / max | high |
Warning
Do not pair Medium 3.5 reasoning mode with
temperature: 0; the Mistral HTTP API reportedly returns a 400 error whenreasoning_effort="high"andtemperature: 0are combined. Keep temperature unset, or set thinking to off/minimal so OpenClaw sendsreasoning_effort: "none"before you apply a low temperature.
Here is an example model-scoped configuration for Medium 3.5 reasoning:
{
agents: {
defaults: {
model: { primary: "mistral/mistral-medium-3-5" },
models: {
"mistral/mistral-medium-3-5": {
params: { thinking: "high" },
},
},
},
},
}
Note
This parameter is not used by other Mistral catalog models. Mistral's native Magistral models are deprecated; for current API models, use adjustable reasoning on Mistral Small 4 or Mistral Medium 3.5.
Memory embeddings
Memory embeddings can be served by Mistral through /v1/embeddings (default model: mistral-embed):
{
memory: {
search: { provider: "mistral" },
},
}
Auth and base URL
- Authentication for Mistral relies on
MISTRAL_API_KEY(Bearer header). - The provider base URL defaults to
https://api.mistral.ai/v1and supports the standard OpenAI-compatible chat-completions request format. - The onboarding default model is
mistral/mistral-large-latest. - Only override the base URL under
models.providers.mistral.baseUrlwhen Mistral explicitly publishes a regional endpoint you require.
Related
-
Model selection, How to choose providers, model refs, and failover behavior.
-
Media understanding, Audio transcription setup and provider selection.