Text model
MiMo V2.6 Pro
xiaomi/mimo-v2.6-pro
xiaomi/mimo-v2.6-pro is a language model from Xiaomi you can call on the OceanToken API, with a 1.05M-token context window and up to 131K output tokens; it supports reasoning, tool calling, image input, video input, audio input.
Price card, similar models and questions answered: MiMo V2.6 Pro on oceantoken.ai.
At a glance
| Model ID | xiaomi/mimo-v2.6-pro |
|---|---|
| Type | Text |
| Publisher | Xiaomi |
| Context window | 1,050,000 tokens |
| Max output | 131,072 tokens |
| Price | On oceantoken.ai |
| Capabilities | reasoning, tool calling, image input, video input, audio input |
| Endpoint | /v1/chat/completions, /v1/responses |
| API shape | OpenAI-compatible |
| In the catalog since | 2026-09-21 |
API
POST /v1/chat/completions (also /v1/responses and /v1/messages). Base URL https://api.oceantoken.ai, your OceanToken key as the bearer token. The OpenAI SDKs work unchanged; see the Quickstart.
Download this spec (JSON) · llms.txt for AI assistants
Basic
- curl
- Python
- JavaScript
curl https://api.oceantoken.ai/v1/chat/completions \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xiaomi/mimo-v2.6-pro",
"messages": [
{
"role": "user",
"content": "Write a haiku about the ocean."
}
]
}'
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.oceantoken.ai/v1", api_key=os.environ["OCEANTOKEN_API_KEY"])
response = client.chat.completions.create(
model="xiaomi/mimo-v2.6-pro",
messages=[
{
"role": "user",
"content": "Write a haiku about the ocean.",
},
],
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({baseURL: 'https://api.oceantoken.ai/v1', apiKey: process.env.OCEANTOKEN_API_KEY});
const response = await client.chat.completions.create({
"model": "xiaomi/mimo-v2.6-pro",
"messages": [
{
"role": "user",
"content": "Write a haiku about the ocean."
}
]
});
console.log(response.choices[0].message.content);
Video input
- curl
- Python
- JavaScript
curl https://api.oceantoken.ai/v1/chat/completions \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xiaomi/mimo-v2.6-pro",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What happens in this video?"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/clip.mp4"
}
}
]
}
]
}'
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.oceantoken.ai/v1", api_key=os.environ["OCEANTOKEN_API_KEY"])
response = client.chat.completions.create(
model="xiaomi/mimo-v2.6-pro",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What happens in this video?"},
{
"type": "video_url",
"video_url": {"url": "https://example.com/clip.mp4"},
},
],
},
],
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({baseURL: 'https://api.oceantoken.ai/v1', apiKey: process.env.OCEANTOKEN_API_KEY});
const response = await client.chat.completions.create({
"model": "xiaomi/mimo-v2.6-pro",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What happens in this video?"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/clip.mp4"
}
}
]
}
]
});
console.log(response.choices[0].message.content);
Request parameters
Only what this model takes. Anything else in the request is left out before it reaches the model.
| Parameter | Type | Description |
|---|---|---|
modelrequired | string | This model's ID. |
messagesrequired | array | The conversation so far: objects with a role (system, user, assistant or tool) and a content, a string or a list of content parts: text, and images, video, audio or files on models that take them. |
stream | boolean default false | Send the answer as server-sent events as it is written. |
stream_options | object | With stream: {"include_usage": true} adds a last event with the token counts. |
max_tokens | integer 1 to 131072 | The most tokens to write, reasoning included. max_completion_tokens is accepted as the same thing. |
temperature | number 0 to 2 default 1 | Randomness: lower is more focused, higher more varied. |
top_p | number 0 to 1 default 0.95 | Nucleus sampling: only the most likely tokens whose probabilities add up to this are considered. |
top_k | integer 1 or more | Only the top_k most likely tokens are considered at each step. |
min_p | number 0 to 1 | Drop tokens less likely than this fraction of the most likely one. |
frequency_penalty | number -2 to 2 default 0 | Positive values make the model less likely to repeat the same words. |
presence_penalty | number -2 to 2 | Positive values make the model more likely to move to new topics. |
repetition_penalty | number 0 to 2 | Above 1 discourages repeating tokens already in the text. |
stop | string or array | Up to 4 strings; the answer ends before any of them. |
seed | integer | Ask for the same answer to the same request (best effort). |
response_format | object json_object, json_schema | {"type": "json_object"} for JSON output, or {"type": "json_schema", "json_schema": {"name": ..., "schema": {...}}} for output that matches your schema. |
tools | array | Functions the model may call: {"type": "function", "function": {"name", "description", "parameters"}}. |
tool_choice | string or object | auto (default), none, required, or {"type": "function", "function": {"name": ...}}. |
parallel_tool_calls | boolean | false asks for at most one tool call per turn. |
reasoning_effort | string none, low, medium, high | How much the model thinks before answering. none no reasoning; low less reasoning, faster; medium balanced; high more reasoning, slower. |
logprobs | boolean | Return the log probability of each output token. |
top_logprobs | integer 0 to 20 | With logprobs: how many alternatives to return per token. |
logit_bias | object | Token ID to a bias from -100 to 100. |
user | string | Your own ID for the end user, for your records. |
Message content
Besides a plain string, a message's content can be a list of parts:
image_url
An image, as a public https:// URL or a data URL.
| Field | Type | Description |
|---|---|---|
image_url.urlrequired | string | https:// URL or data:image/...;base64,.... |
{
"type": "image_url",
"image_url": {
"url": "https://example.com/photo.jpg"
}
}
input_audio
Audio, base64-encoded.
| Field | Type | Description |
|---|---|---|
input_audio.datarequired | string | The audio, base64-encoded. |
input_audio.formatrequired | string mp3, wav | The audio format. |
{
"type": "input_audio",
"input_audio": {
"data": "<base64>",
"format": "mp3"
}
}
video_url
A video, as a public https:// URL (a YouTube link works on models that take one) or a data URL.
| Field | Type | Description |
|---|---|---|
video_url.urlrequired | string | https:// URL or data:video/mp4;base64,.... |
{
"type": "video_url",
"video_url": {
"url": "https://example.com/clip.mp4"
}
}
Response
| Field | Type | Description |
|---|---|---|
id | string | The request's ID. |
choices[].message.content | string | The answer. |
choices[].message.reasoning_content | string | The model's reasoning, on models that return it. |
choices[].message.tool_calls | array | The tools the model wants called, with JSON arguments. |
choices[].finish_reason | string | stop, length (hit max_tokens), tool_calls or content_filter. |
usage.prompt_tokens | integer | Input tokens, media included. |
usage.completion_tokens | integer | Output tokens, reasoning included. |
usage.prompt_tokens_details.cached_tokens | integer | Input tokens read from the prompt cache. |
usage.completion_tokens_details.reasoning_tokens | integer | Output tokens spent reasoning. |
With stream: true, chat.completion.chunk events carry choices[].delta; the stream ends with data: [DONE].
Example response
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1792000000,
"model": "xiaomi/mimo-v2.6-pro",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "...",
"reasoning_content": null,
"tool_calls": null
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 20,
"total_tokens": 32,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}
More examples and how errors and billing work: Text generation.
Compared with similar models
Text models on OceanToken in the same price range as xiaomi/mimo-v2.6-pro. Compare their prices on oceantoken.ai.
| Model | Publisher | Context |
|---|---|---|
MiMo V2.6 Proxiaomi/mimo-v2.6-pro | Xiaomi | 1,050,000 |
L3.1 Euryale 70Bsao10k/l3.1-euryale-70b | Sao10k | 131K |
Dolphin Mistral 24B Venice Editioncognitivecomputations/dolphin-mistral-24b-venice-edition | Cognitivecomputations | 128K |
Llama 3.3 70B Instructmeta-llama/llama-3.3-70b-instruct | Meta | 131K |
More from Xiaomi
- MiMo V2.5
xiaomi/mimo-v2.5 - MiMo V2.5 Pro
xiaomi/mimo-v2.5-pro - MiMo V2.6 Flash
xiaomi/mimo-v2.6-flash - MiMo V2.6 Pro Ultraspeed
xiaomi/mimo-v2.6-pro-ultraspeed
All Xiaomi models on OceanToken
Use it
Create an account Price on oceantoken.ai
The facts on this page were read from the live OceanToken catalog on 2026-11-05 (UTC), when the documentation was built. Prices are published on oceantoken.ai.