Host and credential
Pay-as-you-go OpenAI requests use https://api.xiaomimimo.com/v1 and an api-key header. Token Plan uses its dedicated host and tp-xxxxx credential.
MIMO 2.5 PRO API
A working request needs the right Xiaomi host, the api-key header, the exact model ID, and a request body MiMo accepts. This guide starts with failure symptoms, then checks thinking, streaming, context, and provider routing in a fixed order.
Official docs checked 2026-08-27. MiMo-V2.5-Pro is not currently listed in Tabbit's model picker, so Tabbit is presented as a separate supported-model route.

WHAT THE OFFICIAL DOCS SAY
Xiaomi documents two base URL families, one model ID, and both OpenAI and Anthropic compatibility. Community reports add clues about provider rejection and calls that spend input tokens without returning useful output. Those reports are debugging leads, not service guarantees.
Pay-as-you-go OpenAI requests use https://api.xiaomimimo.com/v1 and an api-key header. Token Plan uses its dedicated host and tp-xxxxx credential.
The official example uses model mimo-v2.5-pro and /chat/completions. Keep messages valid before changing sampling or agent fields.
Deep thinking returns reasoning_content. In a tool-call conversation, Xiaomi says to pass the complete field back in later assistant messages or the API can return 400.
THE SMALLEST KNOWN-GOOD REQUEST
This is the official OpenAI-compatible shape, reduced to the fields that identify the route. Set the key in your shell, never in a committed file.
COPYABLE BASELINE
curl --location --request POST 'https://api.xiaomimimo.com/v1/chat/completions' \
--header "api-key: $MIMO_API_KEY" \
--header "Content-Type: application/json" \
--data-raw '{"model":"mimo-v2.5-pro","messages":[{"role":"user","content":"Hello"}],"max_completion_tokens":1024,"stream":false}'The official docs also show max_completion_tokens, temperature 1.0, top_p 0.95, stream false, and penalty fields. Deep thinking can force the recommended sampling defaults.
For pay-as-you-go, use https://api.xiaomimimo.com/v1. For Token Plan, replace it with the exclusive Base URL shown after subscription.
Use api-key: $MIMO_API_KEY and Content-Type: application/json. Do not assume that every OpenAI client will translate Authorization into the documented header.
Set model to mimo-v2.5-pro. A provider gateway may expose a different slug, so copy the gateway model ID from its current catalog.
Begin with messages containing a single user message. Add tools, thinking, and streaming after this request returns a valid completion.
THINKING, STREAMING, CONTEXT
Use the API behavior as your test oracle. A blank final answer may be a client that reads only content while the useful text is still arriving in reasoning_content, or a budget consumed by thinking.
Send {"type":"enabled"} or {"type":"disabled"}. Xiaomi lists both mimo-v2.5-pro and mimo-v2.5 as enabled by default. In the Python SDK, put this non-standard field in extra_body.
With streaming enabled, reasoning_content chunks arrive first, then content chunks. Accumulate both streams, stop on finish_reason, and handle the final usage chunk before [DONE].
Do not guess an undocumented context-window number. Keep the complete messages array within the current model and account limit. max_completion_tokens covers thinking plus the final answer, so a long thought can leave little answer room.
In deep thinking, Xiaomi says custom temperature and top_p are not effective. Their recommended values are 1.0 and 0.95. If a client insists on sending those fields, inspect the actual server response rather than assuming the custom value won.
ROUTE DIFFERENCES
OpenAI compatibility describes the request style, not billing, model aliases, headers, quotas, moderation, or stream behavior. Record the host and provider with every failed request.
| Check | Xiaomi official | Gateway or custom provider |
|---|---|---|
| OpenAI base | https://api.xiaomimimo.com/v1 | Use the provider's current base URL |
| Token Plan | https://token-plan-cn.xiaomimimo.com/v1 with tp-xxxxx | Usually not interchangeable with a pay-as-you-go key |
| Model field | mimo-v2.5-pro | Copy the exact current provider slug |
| Auth | api-key: MIMO_API_KEY | Follow the gateway header and key format |
| Limits and policy | Check Xiaomi account usage and API console | Check provider quota, moderation, RPM, TPM, and concurrency |
STATUS CODE CHECKLIST
Change one variable at a time. Save the request host, model, response body, and timestamp before retrying.
Malformed body, unsupported field, invalid messages, or a tool-call history that omits reasoning_content.
Replay the smallest request. Check JSON, model, messages, thinking placement, and complete reasoning_content pass-through.
The key is absent, expired, copied with the wrong prefix, or sent in the wrong header.
Load the intended key from an environment variable and use the documented api-key header. Never print the secret.
The account or route is not allowed, or a gateway policy rejected the request.
Confirm Xiaomi account access, plan host, model entitlement, provider policy, and moderation result.
Host path or model alias does not exist at this route.
Check /v1/chat/completions, the exact base URL, and the current model catalog. Do not append /v1 twice.
Rate, token, concurrency, or account quota was exceeded.
Inspect usage and limits in the active console or provider. Back off with jitter and reduce parallel calls.
The request returns quickly but content is empty, or a stream appears to hang.
Log each delta, including reasoning_content and finish_reason. Raise max_completion_tokens, verify stream parsing, and test with thinking disabled.
A BROWSER PATH WHEN YOU DO NOT NEED AN API
The current Tabbit picker does not list MiMo-V2.5-Pro. That means there is no honest one-click MiMo integration to promise here. If your goal is research, page understanding, or a multi-model answer, choose a model that is actually listed in Tabbit and keep the API debugging separate.

The model picker is visible on a new tab. Use a currently available model without creating a Xiaomi key or copying a base URL.

Ask about the current page or reference pages and files from the browser prompt. This solves a different problem from sending a raw API request.

Tabbit can place supported model replies side by side, then you can use Deep Research to collect sources and execution steps.
WHICH PATH FITS?
MiMo through Xiaomi is the right tool when you own the integration. Tabbit is the shorter path when you want to read and work with web pages using a supported model.
| Need | MiMo API | Tabbit |
|---|---|---|
| Credentials | Create and protect a Xiaomi or provider key | Use the models exposed in the picker |
| Request control | Choose host, model, body, thinking, tools, and stream | Ask from the browser context |
| Tool-call state | Persist assistant reasoning_content correctly | No raw API message replay required |
| Web research | Build search, fetch, and citation plumbing | Use browser pages and Deep Research flow |
MIMO API FAQ
For pay-as-you-go OpenAI compatibility, Xiaomi documents https://api.xiaomimimo.com/v1 and the /chat/completions path. Token Plan has a separate Base URL.
The official curl uses api-key: $MIMO_API_KEY. Keep the key in an environment variable and confirm whether a gateway documents another header.
The Xiaomi example uses mimo-v2.5-pro. A gateway can publish another alias, so use the exact ID in that provider catalog.
Send thinking.type as enabled or disabled. In the OpenAI Python SDK, place the non-standard field in extra_body. Xiaomi says both V2.5 models default to enabled.
Thinking can consume the completion budget and add latency. In a stream, reasoning_content arrives before content. Accumulate both, set enough max_completion_tokens, and verify finish_reason.
When deep thinking and tool calls are used, Xiaomi requires the full prior reasoning_content in the assistant message passed to the next request. Missing it can make context incomplete.
Do not copy an undocumented number from a third-party page. Check the current Xiaomi model and account limits, then leave room for thinking and final output.
The current Tabbit picker does not list it. Use Xiaomi or a gateway for the API, or choose a model currently listed in Tabbit for browser research and page tasks.
Replay the minimal Xiaomi request, then add thinking, tools, and streaming one field at a time. For browser work, use a supported Tabbit model without setting up an API key.
Available model access and provider limits can change. Recheck the official docs before shipping.