Xiaomi MiMo
Use Xiaomi MiMo models with Agno agents.
Xiaomi MiMo serves its models through an OpenAI-compatible API, so you drive them through Agno like any other OpenAI-compatible provider.
The MiMo class defaults to mimo-v2.5-pro and points at https://api.xiaomimimo.com/v1.
Installation
uv pip install -U openai agnoAuthentication
Sign in with a Xiaomi account (register at id.mi.com if you don't have one), then create a key in the console under API Keys.
Set your MIMO_API_KEY environment variable.
export MIMO_API_KEY="YOUR_API_KEY"Example
Use MiMo with your Agent:
from agno.agent import Agent
from agno.models.xiaomi import MiMo
agent = Agent(model=MiMo(id="mimo-v2.5-pro"), markdown=True)
# Print the response in the terminal
agent.print_response("Share a 2 sentence horror story.")Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id | str | "mimo-v2.5-pro" | The id of the MiMo model to use |
name | str | "MiMo" | The name of the model |
provider | str | "Xiaomi MiMo" | The provider of the model |
api_key | Optional[str] | None | The API key for MiMo (defaults to MIMO_API_KEY env var) |
base_url | str | "https://api.xiaomimimo.com/v1" | The base URL for the MiMo API |
use_thinking | Optional[bool] | None | Control thinking mode. See Thinking mode. |
MiMo extends the OpenAI-compatible interface and supports most parameters from the OpenAI model.
Note: MiMo supports JSON mode but not native json_schema structured outputs, so supports_native_structured_outputs is set to False. Use use_json_mode=True for structured output.
Thinking mode
Control thinking mode with the use_thinking flag:
| Value | Behavior |
|---|---|
None (default) | The flag is not sent; the API uses the model default. |
True | Force thinking on. The model returns reasoning_content. |
False | Force thinking off for a faster, cheaper response. |
from agno.agent import Agent
from agno.models.xiaomi import MiMo
agent = Agent(model=MiMo(id="mimo-v2.5-pro", use_thinking=True), markdown=True)