# MiMo V2.6 Pro: análise de código, tool calls e custo

> MiMo V2.6 Pro contra o Flash em seis tarefas de código e tool calls: o que passou, o que falhou e quanto custa cada uma nas tarifas oficiais da Xiaomi.

- Canonical HTML: https://omniakey.com/pt-BR/blog/mimo-v2-6-pro-review
- Markdown: https://omniakey.com/pt-BR/blog/mimo-v2-6-pro-review.md
- Published: 2026-11-09 (updated 2026-11-09)
- Author: Kiki, COO at OmniaKey
- Language: pt-BR
- Category: Comparison
- Reading time: 11 min
- All posts: https://omniakey.com/blog/llms.txt

---

Em seis tarefas pequenas de código e de tool calls rodadas em 9 de novembro de 2026, o [MiMo V2.6 Flash](https://omniakey.com/pt-BR/mimo-v2-6-flash) passou nas seis e o [MiMo V2.6 Pro](https://omniakey.com/pt-BR/mimo-v2-6-pro) passou em quatro. As duas falhas do Pro foram deslizes de rigor, o Pro custa cerca de 3.1 vezes mais por token e nenhum dos dois foi sempre mais rápido. Para trabalhos curtos como esses, comece pelo Flash.

- O Flash passou nas seis tarefas; o Pro, em quatro. As falhas do Pro foram uma data que ele deveria ter recusado e uma resposta JSON correta embrulhada num bloco de Markdown.
- O Pro custa cerca de 3.1 vezes mais por token. As seis tarefas ficaram abaixo de $0.01 no Pro e abaixo de $0.003 no Flash, com as tarifas oficiais da Xiaomi.
- Em trabalhos curtos, comece pelo Flash; antes de pagar o prêmio, rode suas tarefas mais difíceis no Pro.

## Como testamos

Em 9 de novembro de 2026, enviamos seis tarefas fixas para `mimo-v2.6-pro` e `mimo-v2.6-flash` pelo endpoint compatível com OpenAI da OmniaKey, `https://api.omniakey.com/v1/chat/completions`. Os dois modelos receberam `thinking: {"type": "enabled"}`, `max_completion_tokens: 4096` e nenhum temperature ou top\_p. Toda resposta terminou com finish\_reason `stop`.

Os seis prompts foram congelados antes da primeira chamada, e cada tarefa recebeu uma resposta por modelo. Respostas fracas nunca foram repetidas. O código rodou num sandbox local isolado, contra casos de teste escritos à mão que nenhum modelo viu; a mesma abordagem que usamos no [nosso teste de código do Gemini 4 Argon](https://omniakey.com/pt-BR/blog/gemini-4-argon-coding-test).

As duas tarefas de ferramenta rodaram como duas requisições cada: o modelo pedia uma ferramenta, devolvíamos um resultado simulado fixo e ele escrevia a resposta final. Todos os dados de pedido e entrega eram simulados e somente leitura; nada foi comprado, cancelado ou reservado.

Os tempos são segundos de ponta a ponta pela API, numa única execução, e as tarefas de ferramenta somam as duas requisições. Os custos são estimativas com as tarifas oficiais da Xiaomi sem cache, não preços nem faturas da OmniaKey; os tokens de saída incluem os de raciocínio. A OmniaKey vende os dois modelos, e estes testes passaram pela sua API.

Seis tarefas pequenas, uma resposta cada, num único dia dizem pouco sobre contexto longo, repositórios grandes ou execuções de agente de várias horas.

Uma chamada do Pro, a tarefa de mesclar janelas, não devolveu nada antes de a conexão estourar o tempo limite em cerca de dois minutos. Reenviada com `"stream": true`, respondeu; o Flash também rodou essa tarefa em streaming. Mande em streaming as requisições de raciocínio longo, para que um proxy não corte a conexão enquanto o modelo ainda pensa.

## Resultados em resumo

|Tarefa|Pro|Flash|
|-|-|-|
|Parser de Retry-After|Falha, 14 de 15|Passa, 15 de 15|
|Consolidado de uso|Passa, 9 de 9|Passa, 9 de 9|
|Mesclar janelas|Passa, 11 de 11|Passa, 11 de 11|
|Consulta de pedido|Passa|Passa|
|Cotação de frete|Falha (formato)|Passa|
|Extração de compra|Passa|Passa|

"Passa" quer dizer que todas as verificações passaram. As duas falhas do Pro vieram de tarefas com uma regra estrita escrita na instrução.

Outros dois modelos baratos já passaram por conjuntos parecidos de tarefas fixas aqui: a [análise do DeepSeek V4.1 Flash 1017](https://omniakey.com/pt-BR/blog/deepseek-v4-1-flash-1017-review) e a [análise do MiniMax M3.1 Flash](https://omniakey.com/pt-BR/blog/minimax-m3-1-flash-review). As tarefas deles são diferentes destas seis, então leia pelo método e pelo comportamento, não como um ranking contra o MiMo.

## As seis tarefas

Cada tarefa abaixo mostra o prompt que os dois modelos receberam, palavra por palavra, e depois o que cada um fez com ele.

### 1. Parser de Retry-After

O que importa aqui é validação estrita de entrada: a função tem que recusar o que uma data HTTP não permite.

Prompt:

> Write Python 3.9 standard-library code defining retry\_after\_seconds(value, now). Return only a Python code block, with no demo or printing. value is a string HTTP Retry-After header. now is a datetime; raise ValueError if now is naive. Strip surrounding whitespace. Accept nonnegative ASCII decimal integer seconds, or an RFC 1123 date such as Mon, 09 Nov 2026 12:00:05 GMT. Return an integer number of seconds until the date, rounded up, clamped to zero for a past date. Reject signs, decimals, Unicode digits, empty strings and invalid dates by returning None. Handle aware now values in any timezone. Do not use the current clock or mutate inputs.

- **MiMo V2.6 Pro** (33.2 s): falhou em 14 de 15 casos. Aceitou `"Mon, 09 Nov 2026 12:00:00"`, uma data sem fuso `GMT`, analisou com `email.utils.parsedate_to_datetime`, tratou o fuso ausente como UTC e devolveu `0`.
- **MiMo V2.6 Flash** (38.2 s): passou em 15 de 15 e devolveu `None` para a mesma string.

**Resultado:** Flash. Uma data HTTP RFC 1123 termina em `GMT`, então este caso espera `None`; o Pro aceitou uma data que deveria ter recusado.

### 2. Consolidado de uso

Esta tarefa mistura deduplicação, aritmética inteira e ordem de inserção, e confere se a entrada fica intacta.

Prompt:

> Write Python 3.9 standard-library code defining summarize\_usage(events). Return only a Python code block, with no demo or printing. Each event is a valid dict with event\_id (string), project (string), kind (charge or refund), and micro\_usd (nonnegative integer). Deduplicate by event\_id: only the LAST record in input order counts, even if it changes project or kind. Sum charges minus refunds per project using integers. Include every project present in the retained records even if its total is zero or negative. Return a dict inserted in sorted project-name order. Empty input returns . Do not mutate the input list or its dicts.

- **MiMo V2.6 Pro** (5.5 s): passou em 9 de 9.
- **MiMo V2.6 Flash** (3.2 s): passou em 9 de 9.

Os dois mantiveram só o último registro por `event_id`, somaram cobranças menos estornos em inteiros, mantiveram totais de projeto zerados e negativos, devolveram as chaves ordenadas e deixaram a entrada como estava.

**Resultado:** Empate.

### 3. Mesclar janelas

O difícil são os fusos horários: recusar timestamps sem deslocamento, converter o resto para UTC e mesclar janelas que se tocam ou se aninham.

Prompt:

> Write Python 3.9 standard-library code defining merge\_windows(windows). Return only a Python code block, with no demo or printing. windows is a list of two-item (start,end) sequences containing ISO 8601 timestamps at whole-second precision, with Z or an explicit timezone offset. Reject a timestamp without an offset with ValueError. Convert endpoints to UTC. Reject end earlier than start with ValueError; ignore zero-length windows. Merge overlapping OR exactly touching windows, including duplicates and nested windows. Return a list of (start,end) tuples sorted by start, with both strings formatted YYYY-MM-DDTHH:MM:SSZ. Empty input returns \[]. Do not mutate inputs.

- **MiMo V2.6 Pro** (9.2 s): passou em 11 de 11.
- **MiMo V2.6 Flash** (9.6 s): passou em 11 de 11.

Os dois recusaram timestamps sem deslocamento, converteram os deslocamentos para UTC, mesclaram janelas encostadas e aninhadas, pularam as de comprimento zero e devolveram tuplas `YYYY-MM-DDTHH:MM:SSZ`. Os 9.2 segundos do Pro são a resposta em streaming; a primeira tentativa, que estourou o tempo, não conta.

**Resultado:** Empate.

### 4. Ferramenta de consulta de pedido

Aqui o modelo tem que escolher a ferramenta somente leitura, passar o argumento certo e copiar os valores do resultado.

Prompt:

> Where is order OA-1042? Use the available tool to look up its status and delivery date. Do not cancel the order or change its address. After the tool result, return only JSON with keys order\_id, status, eta; copy those values from the tool result. Call at most one tool.

Três ferramentas foram oferecidas: `read_order`, `cancel_order` e `update_shipping_address`.

- **MiMo V2.6 Pro** (4.3 s): chamou só a `read_order` com `{"order_id": "OA-1042"}`.
- **MiMo V2.6 Flash** (6.0 s): a mesma chamada e o mesmo argumento.

Os dois devolveram `{"order_id":"OA-1042","status":"in_transit","eta":"2026-11-12"}`, copiado do resultado simulado, e nenhum tocou nas duas ferramentas que mudariam o pedido.

**Resultado:** Empate.

### 5. Ferramenta de cotação de frete

Esta tarefa acrescenta uma conversão de unidade e uma regra de saída estrita: só cotação, gramas, só JSON.

Prompt:

> Get a shipping quote for a parcel weighing 1.25 kg, from ZIP 10001 to ZIP 94105, using express service. Use the quote tool, not the booking tool. Do not buy a label. After the tool result, return only JSON with keys price\_usd and delivery\_days, copying the returned numeric values. Call at most one tool.

As duas ferramentas eram `quote_shipping`, que recebe o peso em gramas, e `book_shipment`.

- **MiMo V2.6 Pro** (5.9 s): chamou a `quote_shipping` com `{"origin_zip": "10001", "destination_zip": "94105", "weight_g": 1250, "service": "express"}`, e depois embrulhou a resposta num bloco `json` de Markdown.
- **MiMo V2.6 Flash** (4.9 s): a mesma chamada e os mesmos argumentos, com JSON puro de volta.

Os dois converteram 1.25 kg em 1250 g corretamente e devolveram os valores certos, `18.75` e `2` dias. A resposta do Flash foi lida como JSON. A do Pro era o mesmo JSON com uma cerca em volta, então um parser estrito a recusa.

**Resultado:** Flash pela instrução. A chamada e os números estavam certos; só o embrulho quebrou a regra, e dá para tirar a cerca no código.

### 6. Extração de compra

A última tarefa é texto para JSON: aplicar as correções na ordem, remover o item cancelado e não inventar nada.

Prompt:

> Extract the final purchase request below. Return raw JSON only, with exactly customer, items, shipping, promo\_code as keys. customer is a string; items is an array of objects with exactly sku and quantity; shipping is express or standard; promo\_code is a string or null. Later corrections override earlier values. Sort items by sku. Remove canceled items. Do not infer a promo code. Text: Customer: Alex Rivera. Order two units of SKU B-20 and one of SKU A-10. Ship express. Correction: make B-20 three units. Add one C-30. Cancel A-10. Final change: standard shipping. No promo code was provided.

- **MiMo V2.6 Pro** (2.9 s): passou.
- **MiMo V2.6 Flash** (3.5 s): passou.

Os dois devolveram `{"customer":"Alex Rivera","items":[{"sku":"B-20","quantity":3},{"sku":"C-30","quantity":1}],"shipping":"standard","promo_code":null}`. Os dois aplicaram a correção para três unidades, removeram o A-10 cancelado e deixaram o código promocional nulo.

**Resultado:** Empate.

## Velocidade e custo

Nenhum vencedor consistente de velocidade apareceu: a mediana foi 5.7 segundos no Pro e 5.5 no Flash, e uma execução única por um gateway tem ruído.

|Tarefa|Pro|Flash|
|-|-|-|
|Parser de Retry-After|33.2|38.2|
|Consolidado de uso|5.5|3.2|
|Mesclar janelas|9.2|9.6|
|Ferramenta de pedido|4.3|6.0|
|Ferramenta de frete|5.9|4.9|
|Extração de compra|2.9|3.5|
|Mediana|5.7|5.5|

Segundos, de ponta a ponta, uma execução; as tarefas de ferramenta somam as duas requisições.

O uso de tokens e o custo se separam mais nas duas tarefas longas de código. No Parser de Retry-After, o Pro usou 2,851 tokens de saída contra 3,697 do Flash e ainda custou mais que o dobro, cerca de $0.003 contra cerca de $0.001, porque cada token do Pro custa 3.1 vezes mais. Em Mesclar janelas, o Pro escreveu cerca de três vezes mais tokens de saída que o Flash, então o custo dele foi várias vezes maior.

|Execução|Pro|Flash|
|-|-|-|
|Retry-After|cerca de $0.003|cerca de $0.001|
|Mesclar janelas|cerca de $0.002|cerca de $0.0003|
|As seis tarefas|abaixo de $0.01|abaixo de $0.003|

Tarifas de pagamento por uso da Xiaomi no exterior, em dólares por 1 milhão de tokens ([página de preços](https://mimo.mi.com/docs/en-US/price/pay-as-you-go), consultada em 9 de novembro de 2026):

|Modelo|Entrada|Saída|
|-|-|-|
|MiMo V2.6 Pro|$0.435|$0.87|
|MiMo V2.6 Flash|$0.14|$0.28|

A tarifa de entrada é a sem cache; com cache, a entrada custa menos nos dois modelos. Os tokens de raciocínio entram na tarifa de saída: `completion_tokens` já os inclui, e a tabela de preços da Xiaomi não tem tarifa separada para eles.

## Qual usar?

Comece pelo Flash em tarefas curtas de código, extração e tool calls. Ele passou em todas as verificações deste conjunto com um preço por token de cerca de um terço do Pro.

O Pro não está fora. Suas duas falhas foram um caso de borda de validação e um bloco de Markdown, não lógica errada: na tarefa de frete, a chamada, os argumentos e os números estavam todos certos. A própria [ficha do modelo](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL) da Xiaomi (22 de setembro de 2026) coloca o Pro 4.0 pontos à frente do Flash no DeepSWE v1.1 (71.9 contra 67.9) e 3.3 pontos à frente no Toolathlon-Verified (76.9 contra 73.6). São notas rodadas pelo fabricante em tarefas de agente bem maiores que estas seis, e são o motivo para testar o Pro no seu trabalho mais difícil antes de dispensá-lo.

Os dois modelos saíram na série V2.6 que a Xiaomi lançou em 22 de setembro de 2026 ([página de lançamento](https://mimo.mi.com/docs/en-US/updates/model)).

Se você ainda chama `mimo-v2.5-pro` ou `mimo-v2.5`, troque os IDs: a Xiaomi começou a mandar essas chamadas para os modelos V2.6 em 14 de outubro de 2026 e aposentou os dois IDs em 21 de outubro de 2026 ([página de descontinuação](https://mimo.mi.com/docs/en-US/updates/deprecate)).

O próximo teste justo é um cuja resposta você já sabe. Pegue cinco tarefas do seu próprio código, mande os mesmos prompts para os dois modelos uma vez cada e compare primeiro as verificações, depois o tempo e por último o custo.

## Rode uma tarefa você mesmo

A chamada abaixo manda o prompt de extração da tarefa 6 para o Flash com os ajustes dos testes. O endpoint compatível com OpenAI da OmniaKey pega sua chave de `OMNIAKEY_API_KEY`.

```bash
curl https://api.omniakey.com/v1/chat/completions \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mimo-v2.6-flash",
    "thinking": {"type": "enabled"},
    "max_completion_tokens": 4096,
    "stream": false,
    "messages": [
      {"role": "user", "content": "Extract the final purchase request below. Return raw JSON only, with exactly customer, items, shipping, promo_code as keys. customer is a string; items is an array of objects with exactly sku and quantity; shipping is express or standard; promo_code is a string or null. Later corrections override earlier values. Sort items by sku. Remove canceled items. Do not infer a promo code. Text: Customer: Alex Rivera. Order two units of SKU B-20 and one of SKU A-10. Ship express. Correction: make B-20 three units. Add one C-30. Cancel A-10. Final change: standard shipping. No promo code was provided."}
    ]
  }'
```

Troque `model` por `mimo-v2.6-pro` para o outro modelo e acrescente `"stream": true` quando esperar um raciocínio longo. Os detalhes de cada modelo estão nas páginas do [MiMo V2.6 Pro](https://omniakey.com/pt-BR/mimo-v2-6-pro) e do [MiMo V2.6 Flash](https://omniakey.com/pt-BR/mimo-v2-6-flash), e as tarifas atuais estão em [a página de preços](https://omniakey.com/pt-BR/pricing).

## Perguntas frequentes

### O MiMo V2.6 Pro é melhor que o Flash?

Nestas seis tarefas, o Flash foi melhor: passou em 6 de 6 e o Pro em 4 de 6, com um preço por token cerca de 3.1 vezes maior. As notas da própria Xiaomi colocam o Pro à frente em tarefas de agente maiores, então teste o Pro no seu trabalho mais difícil antes de pagar por ele.

### Quanto custa o MiMo V2.6 Pro?

A Xiaomi cobra $0.435 por 1 milhão de tokens de entrada sem cache e $0.87 por 1 milhão de tokens de saída nas tarifas internacionais em tempo real (consultadas em 9 de novembro de 2026). O Flash custa $0.14 e $0.28. Nossas seis tarefas custaram menos de $0.01 no Pro.

### Por que o Pro falhou na tarefa de Retry-After?

Aceitou "Mon, 09 Nov 2026 12:00:00", uma data sem fuso horário. Tratou o fuso ausente como UTC e devolveu 0, enquanto o prompt pedia None para tudo que não fosse uma data RFC 1123 válida.

### O Pro chama ferramentas de forma confiável?

Nas duas tarefas de ferramenta ele escolheu a ferramenta somente leitura e os argumentos certos, e os valores de pedido e frete estavam corretos. Na cotação de frete devolveu os números certos dentro de um bloco de Markdown, o que quebrou a ordem de devolver só JSON.

### Preciso mudar código escrito para o MiMo V2.5?

Sim, se você ainda manda os IDs antigos. A Xiaomi aposentou `mimo-v2.5-pro` e `mimo-v2.5` em 21 de outubro de 2026, depois de mandar essas chamadas para os modelos V2.6 desde 14 de outubro de 2026. Os IDs da V2.6 são `mimo-v2.6-pro`, `mimo-v2.6-flash` e `mimo-v2.6-pro-ultraspeed`.

## Sources checked

- [Página de lançamento dos modelos MiMo](https://mimo.mi.com/docs/en-US/updates/model)
- [Página de descontinuação do MiMo](https://mimo.mi.com/docs/en-US/updates/deprecate)
- [Preços de pagamento por uso do MiMo](https://mimo.mi.com/docs/en-US/price/pay-as-you-go)
- [Ficha do modelo MiMo-V2.6-Pro-RL](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL)

Todas consultadas em 9 de novembro de 2026.

## Registro de atualizações

- 9 de novembro de 2026: primeira publicação. Seis tarefas rodadas em 9 de novembro de 2026 (UTC), uma resposta por tarefa e por modelo.
