MiMo — семейство моделей Xiaomi: универсальная mimo-v2.5 и Pro-уровень, с заявленным контекстом 1M токенов и нативными OpenAI- и Anthropic-форматами. Через DaoXE вызывайте /v1/chat/completions с MiMo ID из GET /v1/models под тем же ключом, что и остальные семейства — какие именно MiMo ID есть у вашего аккаунта, решает живой список, а не этот текст. Маршрутизация по цене: гайд по дешёвым API.
Как вызвать MiMo через DaoXE#
Путь chat: /v1/chat/completions с Authorization: Bearer. MiMo думает по умолчанию: вендор документирует поле thinking (enabled/disabled) с enabled как заводским состоянием для текущих v2.5 ID. Сэмплинг при мышлении фиксирован — ваши temperature/top_p принудительно заменяются на рекомендованные 1.0/0.95 — а max_completion_tokens — это лимит, покрывающий мышление и ответ.
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/chat/completions \
-H "Authorization: Bearer ${DAOXE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_EXACT_MODEL_ID",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}'# MiMo reasoning IDs think by DEFAULT, lock temperature/top_p, and 400 if a
# tool-call round drops reasoning_content. max_completion_tokens (not max_tokens)
# is the cap that covers thinking + answer.
from openai import OpenAI
client = OpenAI(base_url="https://daoxe.com/v1", api_key="YOUR_DAOXE_KEY")
r = client.chat.completions.create(
model="YOUR_EXACT_MODEL_ID", # a mimo-* id from GET /v1/models
messages=[{"role": "user", "content": "2+2? Think briefly, then answer."}],
max_completion_tokens=2048, # thinking + answer share this budget
# thinking is ON by default; to opt out explicitly:
extra_body={"thinking": {"type": "disabled"}}, # non-standard: extra_body
)
msg = r.choices[0].message
print(getattr(msg, "reasoning_content", None)) # thinking trace
print(msg.content) # final answer
print(r.usage.completion_tokens_details.reasoning_tokens) # thinking spend
Как MiMo отдаёт рассуждения#
MiMo кладёт трассу в отдельное поле reasoning_content на сообщении — та же форма, что у DeepSeek, — а usage.completion_tokens_details.reasoning_tokens показывает расход. Два отличия делают его самым строгим семейством: мышление ВКЛючено, пока вы не отправите thinking: {"type": "disabled"}, а многошаговый контракт принудительный, а не рекомендательный — tool-call раунд, потерявший reasoning_content, получает 400, там, где API в стиле DeepSeek деградируют или в доках лишь предупреждают. Проходит ли нестандартное поле thinking через конкретный путь релея и сохраняется ли reasoning_content — ровно то, что надо проверять: один тестовый вызов, прежде чем привязывать клиент.
Нюансы именно для MiMo#
- Мышление — умолчание, а не опция. Поле
thinking({"type": "enabled"}/{"type": "disabled"}) нестандартное — отправляйте через extra-body вашего SDK, и без него мышление у v2.5 ID остаётся ВКЛюченным. Клиенты, ждущие простой текстовый ответ, должны отключать его явно или уметь парситьreasoning_content. - Потеря reasoning_content = 400 в tool-циклах. Вендор формулирует жёстко: в многошаговых агентских диалогах с tool calls каждое возвращаемое сообщение ассистента обязано нести
reasoning_contentобратно, иначе API вернёт 400. В доках перечислены затронутые клиенты по протоколам — Cursor, Roo Code, Codex, Zed, Goose и другие на стороне OpenAI; OpenCode, Kilo Code и другие на стороне Anthropic. Собирайте историю из сырых объектов сообщений, а не из урезанной сводки. - Сэмплинг принимается, но игнорируется при мышлении. Свои
temperature/top_pне вызывают ошибку — их молча заменяют на 1.0/0.95. Крутить их в thinking-запросе бессмысленно. - Бюджет — в max_completion_tokens, не max_tokens. Лимит покрывает мышление плюс ответ, поэтому заниженный лимит обрежет ответ после долгого размышления. Точные ID — всегда из
GET /v1/models.
Сколько это стоит#
Один баланс, один курс пополнения
Пополнение идёт по фиксированному курсу 1 ¥ = $1 квоты любым способом оплаты, а каждая модель тарифицируется по своей цене в USD — актуальные цены по моделям смотрите на daoxe.com/pricing. Курс одинаковый для всех способов оплаты: Alipay, WeChat Pay, USDT, банковская карта (Visa · Mastercard), Apple Pay и Google Pay — один баланс на все модели каталога, без выбора тарифа и без месячного минимума. Цены зависят от аккаунта и меняются, поэтому проверьте небольшим пополнением, а не доверяйте цифре из гайда.
Убедитесь, что отдают настоящую модель#
Сначала проверьте эндпоинт, а не клиент — если это не работает, настройки не помогут:
export DAOXE_API_KEY="your_api_key"
# List the exact model IDs your account can call
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/models \
-H "Authorization: Bearer ${DAOXE_API_KEY}"Подтвердите связь, затем сравните фиксированный промпт (MiMo при мышлении навязывает свои настройки сэмплинга) с официальным API MiMo, чтобы убедиться в совпадении уровня:
Проверяйте нас, а не верьте на слово
Направьте открытый бенчмарк на DaoXE и на официальный API и сравните при temperature 0. Затем изучите, как поймать подмену модели, чтобы дешёвый эндпоинт не подменил вам модель на меньшую.
Частые вопросы#
Как выключить мышление MiMo?
Отправьте thinking с {"type": "disabled"} в теле запроса. Поле нестандартное — используйте extra-body вашего SDK. Без него мышление у текущих v2.5 ID остаётся включённым.
Почему агент получает 400 посреди диалога?
В многошаговом tool use каждое возвращаемое сообщение ассистента должно включать reasoning_content. Если ваш фреймворк вырезает это поле при пересборке истории, API отклонит запрос — собирайте историю из сырых объектов.
Почему игнорируется моя temperature?
При включённом мышлении MiMo принудительно ставит temperature/top_p на рекомендованные значения (1.0/0.95). Параметр принимается, но перекрывается — без ошибки и без эффекта.
Сколько стоит MiMo здесь?
По модели и аккаунту — см. актуальные цены. Пополнение — фиксированные 1 ¥ = $1 квоты любым способом оплаты.
Попробуйте DaoXE — и проверьте его сами
Один ключ для GPT, Claude, Gemini, DeepSeek и других. Направьте открытый бенчмарк на нас и сравните — не верьте на слово.