Xiaomi MiMo Provider Setup and API Integration
This page explains how to use Xiaomi MiMo models through OpenClaw, covering both usage-based and Token Plan providers, including setup, authentication, and regional endpoints.
Read this when
- You want Xiaomi MiMo models in OpenClaw
- You need Xiaomi MiMo auth or Token Plan setup
Xiaomi MiMo serves as the API gateway for MiMo models. Through the official external xiaomi plugin, two text providers and one speech (TTS) provider are exposed:
xiaomi: usage-based billing keys (sk-...)xiaomi-token-plan: Token Plan keys (tp-...) that come with predefined regional endpoints
| Property | Value |
|---|---|
| Provider ids | xiaomi (usage-based), xiaomi-token-plan (Token Plan) |
| Auth env vars | XIAOMI_API_KEY, XIAOMI_TOKEN_PLAN_API_KEY |
| Onboarding flags | --auth-choice xiaomi-api-key, --auth-choice xiaomi-token-plan-cn, --auth-choice xiaomi-token-plan-sgp, --auth-choice xiaomi-token-plan-ams |
| Direct CLI flags | --xiaomi-api-key <key>, --xiaomi-token-plan-api-key <key> |
| API | Chat completions compatible with OpenAI (openai-completions) |
| Speech contract | speechProviders: ["xiaomi"] |
| Base URLs | Usage-based: https://api.xiaomimimo.com/v1; Token Plan: token-plan-{cn,sgp,ams}.xiaomimimo.com/v1 |
| Default models | xiaomi/mimo-v2.5, xiaomi-token-plan/mimo-v2.5-pro |
| TTS default | mimo-v2.5-tts, voice mimo_default; voicedesign model mimo-v2.5-tts-voicedesign |
Getting started
Install the plugin
openclaw plugins install @openclaw/xiaomi-provider
openclaw gateway restart
Get the right key
To get a usage-based key, head to the Xiaomi MiMo console and create one. For Token Plan access, go to your subscription page, copy the OpenAI-compatible base URL for your region, and grab the associated tp-... key.
Run onboarding
Usage-based billing:
openclaw onboard --auth-choice xiaomi-api-key
Token Plan:
openclaw onboard --auth-choice xiaomi-token-plan-sgp
Keys can also be supplied directly:
openclaw onboard --auth-choice xiaomi-api-key --xiaomi-api-key "$XIAOMI_API_KEY"
openclaw onboard --auth-choice xiaomi-token-plan-sgp --xiaomi-token-plan-api-key "$XIAOMI_TOKEN_PLAN_API_KEY"
Verify the model is available
openclaw models list --provider xiaomi
openclaw models list --provider xiaomi-token-plan
Tip
During onboarding, key format is checked. You will be alerted if a
tp-...key ends up in the usage-based flow, or ansk-...key is placed in the Token Plan flow.
Pay-as-you-go catalog
| Model ref | Input | Context | Max output | Reasoning | Notes |
|---|---|---|---|---|---|
xiaomi/mimo-v2.5 | text, image | 1,048,576 | 131,072 | Yes | Default model |
xiaomi/mimo-v2.5-pro | text | 1,048,576 | 131,072 | Yes | Flagship |
Token Plan catalog
Pick the Token Plan auth option that lines up with the regional base URL displayed in Xiaomi's subscription interface:
| Auth choice | Base URL |
|---|---|
xiaomi-token-plan-cn | https://token-plan-cn.xiaomimimo.com/v1 |
xiaomi-token-plan-sgp | https://token-plan-sgp.xiaomimimo.com/v1 |
xiaomi-token-plan-ams | https://token-plan-ams.xiaomimimo.com/v1 |
| Model ref | Input | Context | Max output | Reasoning | Notes |
|---|---|---|---|---|---|
xiaomi-token-plan/mimo-v2.5-pro | text | 1,048,576 | 131,072 | Yes | Default model |
xiaomi-token-plan/mimo-v2.5 | text, image | 1,048,576 | 131,072 | Yes | Multimodal |
Resolving xiaomi-token-plan depends on having a regional base URL. Either a Token Plan onboarding choice or an explicit models.providers.xiaomi-token-plan config block with baseUrl set will satisfy this; without one of those, the provider is simply not available.
Reasoning models
mimo-v2.5 and mimo-v2.5-pro are both supported.
OpenClaw's /think directive accepts the levels off,
minimal, low, medium, high, xhigh, and max, with high
as the default.
Text-to-speech
Through the xiaomi plugin, Xiaomi MiMo is also registered as a speech provider for tts. The plugin invokes Xiaomi's chat-completions TTS endpoint, passing the text as an assistant message and, when provided, style guidance as a user message.
| Property | Value |
|---|---|
| TTS id | xiaomi (mimo alias) |
| Auth | XIAOMI_API_KEY |
| API | POST /v1/chat/completions with audio |
| Default | mimo-v2.5-tts, voice mimo_default |
| Output | MP3 by default; WAV when configured |
{
tts: {
auto: "always",
provider: "xiaomi",
providers: {
xiaomi: {
apiKey: "xiaomi_api_key",
model: "mimo-v2.5-tts",
speakerVoice: "mimo_default",
format: "mp3",
style: "Bright, natural, conversational tone.",
},
},
},
}
The built-in voice options are mimo_default, default_zh, default_en, Mia, Chloe,
Milo, and Dean. For the preset-voice model mimo-v2.5-tts, the voice audio.voice is used, which means OpenClaw sends speakerVoice when that model is active.
With the voicedesign model mimo-v2.5-tts-voicedesign, the voice is derived from a natural-language style prompt rather than a preset voice id. Assign style to the desired voice description; OpenClaw then transmits it as the user message, the spoken text as the assistant message, and audio.voice is not sent for this model.
{
tts: {
provider: "xiaomi",
providers: {
xiaomi: {
model: "mimo-v2.5-tts-voicedesign",
format: "wav",
style: "Warm, natural female voice with clear pronunciation.",
},
},
},
}
When a channel requests a voice-note synthesis target (Discord, Feishu, Matrix, Telegram, and WhatsApp), OpenClaw converts Xiaomi output to 48kHz mono Opus using ffmpeg before it is delivered.
Config example
{
env: { vars: { XIAOMI_API_KEY: "your-key" } },
agents: { defaults: { model: { primary: "xiaomi/mimo-v2.5" } } },
models: {
mode: "merge",
providers: {
xiaomi: {
baseUrl: "https://api.xiaomimimo.com/v1",
api: "openai-completions",
apiKey: "XIAOMI_API_KEY",
models: [
{
id: "mimo-v2.5",
name: "Xiaomi MiMo V2.5",
reasoning: true,
input: ["text", "image"],
contextWindow: 1048576,
maxTokens: 131072,
},
{
id: "mimo-v2.5-pro",
name: "Xiaomi MiMo V2.5 Pro",
reasoning: true,
input: ["text"],
contextWindow: 1048576,
maxTokens: 131072,
},
],
},
},
},
}
Since pricing and compatibility flags are sourced from the plugin manifest, the config example leaves out cost and compat to stay consistent with runtime behavior.
Token Plan:
{
env: { vars: { XIAOMI_TOKEN_PLAN_API_KEY: "tp-your-key" } },
agents: { defaults: { model: { primary: "xiaomi-token-plan/mimo-v2.5-pro" } } },
models: {
mode: "merge",
providers: {
"xiaomi-token-plan": {
baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
api: "openai-completions",
apiKey: "XIAOMI_TOKEN_PLAN_API_KEY",
models: [
{
id: "mimo-v2.5-pro",
name: "Xiaomi MiMo V2.5 Pro",
reasoning: true,
input: ["text"],
contextWindow: 1048576,
maxTokens: 131072,
},
{
id: "mimo-v2.5",
name: "Xiaomi MiMo V2.5",
reasoning: true,
input: ["text", "image"],
contextWindow: 1048576,
maxTokens: 131072,
},
],
},
},
},
}
Token Plan billing draws from a fixed subscription's Credits instead of per-token USD pricing, so its catalog rows carry zero USD cost and the config example omits cost.
Auto-injection behavior
The xiaomi provider activates automatically when XIAOMI_API_KEY is present in your environment or an auth profile exists. xiaomi-token-plan requires a regional base URL, so the supported route is the Token Plan onboarding choice or an explicit models.providers.xiaomi-token-plan config block.
Model details
- mimo-v2.5 - the default pay-as-you-go option and the Token Plan multimodal V2.5 route.
- mimo-v2.5-pro - the flagship reasoning model and the Token Plan default.
Note
Pay-as-you-go models carry the
xiaomi/prefix. Token Plan models carry thexiaomi-token-plan/prefix.
Troubleshooting
- If models are missing, verify that the relevant key env var or auth profile is present and valid.
- For Token Plan, check that the chosen onboarding region matches the subscription page base URL and that the key begins with
tp-. - When the Gateway runs as a daemon, make sure the key is accessible to that process (for instance in
~/.openclaw/.envor throughenv.shellEnv).
Warning
Environment variables defined exclusively within your interactive shell won't be seen by gateway processes managed by the daemon. To ensure they persist, set them through
~/.openclaw/.envorenv.shellEnvconfiguration.
Related
-
Provider and model setup, How to pick providers, reference models, and configure failover.
-
Reasoning depth, The
/thinkdirective syntax and how levels are mapped. -
Config options, Complete OpenClaw configuration reference.
-
Xiaomi MiMo portal, Manage your Xiaomi MiMo dashboard and API keys.