# MiMo V2.6 Pro: análisis de código, tool calls y coste

> MiMo V2.6 Pro frente a Flash en seis tareas de código y tool calls: qué pasó en cada una, qué falló y cuánto cuesta según las tarifas oficiales de Xiaomi.

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

---

El 9 de noviembre de 2026 lanzamos seis tareas pequeñas de código y de tool calls: [MiMo V2.6 Flash](https://omniakey.com/es/mimo-v2-6-flash) pasó las seis y [MiMo V2.6 Pro](https://omniakey.com/es/mimo-v2-6-pro) pasó cuatro. Los dos fallos de Pro fueron descuidos de rigor, Pro cuesta unas 3.1 veces más por token y ninguno de los dos fue siempre más rápido. Para trabajos cortos como estos, empieza con Flash.

- Flash pasó las seis tareas; Pro pasó cuatro. Sus fallos fueron una fecha que debía rechazar y una respuesta JSON correcta envuelta en un bloque de Markdown.
- Pro cuesta unas 3.1 veces más por token. Las seis tareas salieron por menos de $0.01 con Pro y menos de $0.003 con Flash, con las tarifas oficiales de Xiaomi.
- En trabajos cortos, empieza con Flash; antes de pagar el sobreprecio, prueba Pro con tus tareas más difíciles.

## Cómo lo probamos

El 9 de noviembre de 2026 enviamos seis tareas fijas a `mimo-v2.6-pro` y `mimo-v2.6-flash` a través del endpoint compatible con OpenAI de OmniaKey, `https://api.omniakey.com/v1/chat/completions`. Los dos modelos recibieron `thinking: {"type": "enabled"}`, `max_completion_tokens: 4096` y ni temperature ni top\_p. Todas las respuestas terminaron con finish\_reason `stop`.

Los seis prompts quedaron fijados antes de la primera llamada, y cada tarea recibió una sola respuesta por modelo. Las respuestas flojas no se reintentaron. El código se ejecutó en un sandbox local aislado, contra casos de prueba escritos a mano que ningún modelo vio; el mismo método que usamos en [nuestra prueba de código de Gemini 4 Argon](https://omniakey.com/es/blog/gemini-4-argon-coding-test).

Las dos tareas con herramientas se hicieron en dos peticiones cada una: el modelo pedía una herramienta, devolvíamos un resultado simulado fijo y después escribía la respuesta final. Los datos de pedidos y envíos eran simulados y de solo lectura; no se hizo ningún pedido, cancelación ni reserva.

Los tiempos son segundos de extremo a extremo por la API en una sola ejecución, y las tareas con herramientas suman las dos peticiones. Los costes son estimaciones con las tarifas oficiales de Xiaomi sin caché, no precios ni facturas de OmniaKey; los tokens de salida incluyen los de razonamiento. OmniaKey vende los dos modelos, y estas pruebas pasaron por su API.

Seis tareas pequeñas, una respuesta por tarea y un solo día dicen poco sobre contexto largo, repositorios grandes o ejecuciones de agentes de varias horas.

Una llamada de Pro, la tarea de fusionar ventanas, no devolvió nada antes de que la conexión agotara el tiempo de espera a los dos minutos aproximadamente. Reenviada con `"stream": true`, respondió; Flash también hizo esa tarea en streaming. Manda en streaming las peticiones con razonamiento largo, para que un proxy no corte la conexión mientras el modelo sigue pensando.

## Resultados de un vistazo

|Tarea|Pro|Flash|
|-|-|-|
|Parser de Retry-After|Fallo, 14 de 15|Pasa, 15 de 15|
|Agregado de uso|Pasa, 9 de 9|Pasa, 9 de 9|
|Fusionar ventanas|Pasa, 11 de 11|Pasa, 11 de 11|
|Consulta de pedido|Pasa|Pasa|
|Cotización de envío|Fallo (formato)|Pasa|
|Extracción de compra|Pasa|Pasa|

«Pasa» significa que se superaron todas las comprobaciones. Los dos fallos de Pro llegaron en tareas donde la instrucción fijaba una regla estricta.

Otros dos modelos baratos han pasado por conjuntos parecidos de tareas fijas aquí: el [análisis de DeepSeek V4.1 Flash 1017](https://omniakey.com/es/blog/deepseek-v4-1-flash-1017-review) y el [análisis de MiniMax M3.1 Flash](https://omniakey.com/es/blog/minimax-m3-1-flash-review). Sus tareas no son estas seis, así que léelos por el método y el comportamiento, no como una clasificación frente a MiMo.

## Las seis tareas

Cada tarea muestra el prompt que recibieron los dos modelos, palabra por palabra, y después lo que hizo cada uno.

### 1. Parser de Retry-After

Lo que importa aquí es la validación estricta de la entrada: la función tiene que rechazar lo que una fecha HTTP no 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): falló 14 de 15 casos. Aceptó `"Mon, 09 Nov 2026 12:00:00"`, una fecha sin zona `GMT`, la analizó con `email.utils.parsedate_to_datetime`, trató la zona ausente como UTC y devolvió `0`.
- **MiMo V2.6 Flash** (38.2 s): pasó 15 de 15 y devolvió `None` para la misma cadena.

**Resultado:** Flash. Una fecha HTTP RFC 1123 termina en `GMT`, así que este caso espera `None`; Pro aceptó una fecha que debía rechazar.

### 2. Agregado de uso

Esta tarea mezcla deduplicación, aritmética entera y orden de inserción, y comprueba que la entrada quede 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): pasó 9 de 9.
- **MiMo V2.6 Flash** (3.2 s): pasó 9 de 9.

Los dos conservaron solo el último registro de cada `event_id`, sumaron cargos menos reembolsos en enteros, mantuvieron los totales de proyecto en cero y negativos, devolvieron las claves ordenadas y dejaron la entrada como estaba.

**Resultado:** Empate.

### 3. Fusionar ventanas

La parte difícil son las zonas horarias: rechazar las marcas de tiempo sin desplazamiento, convertir el resto a UTC y fusionar las ventanas que se tocan o se anidan.

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): pasó 11 de 11.
- **MiMo V2.6 Flash** (9.6 s): pasó 11 de 11.

Los dos rechazaron las marcas de tiempo sin desplazamiento, convirtieron los desplazamientos a UTC, fusionaron las ventanas que se tocan y las anidadas, se saltaron las de longitud cero y devolvieron tuplas `YYYY-MM-DDTHH:MM:SSZ`. Los 9.2 segundos de Pro son la respuesta en streaming; el primer intento, que agotó el tiempo, no cuenta.

**Resultado:** Empate.

### 4. Herramienta de consulta de pedido

Aquí el modelo tiene que elegir la herramienta de solo lectura, pasar el argumento correcto y copiar los valores del 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.

Se ofrecieron tres herramientas: `read_order`, `cancel_order` y `update_shipping_address`.

- **MiMo V2.6 Pro** (4.3 s): llamó solo a `read_order` con `{"order_id": "OA-1042"}`.
- **MiMo V2.6 Flash** (6.0 s): la misma llamada y el mismo argumento.

Los dos devolvieron `{"order_id":"OA-1042","status":"in_transit","eta":"2026-11-12"}`, copiado del resultado simulado, y ninguno tocó las dos herramientas que cambiarían el pedido.

**Resultado:** Empate.

### 5. Herramienta de cotización de envío

Esta tarea añade una conversión de unidades y una regla de salida estricta: solo cotización, gramos, solo 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.

Las dos herramientas eran `quote_shipping`, que recibe el peso en gramos, y `book_shipment`.

- **MiMo V2.6 Pro** (5.9 s): llamó a `quote_shipping` con `{"origin_zip": "10001", "destination_zip": "94105", "weight_g": 1250, "service": "express"}`, y luego envolvió la respuesta en un bloque `json` de Markdown.
- **MiMo V2.6 Flash** (4.9 s): la misma llamada y los mismos argumentos, con JSON limpio de vuelta.

Los dos convirtieron 1.25 kg a 1250 g correctamente y devolvieron los valores correctos, `18.75` y `2` días. La respuesta de Flash se pudo leer como JSON. La de Pro era el mismo JSON con un bloque alrededor, así que un parser estricto la rechaza.

**Resultado:** Flash por la instrucción. La llamada y los números eran correctos; solo el envoltorio incumplió la regla, y ese envoltorio se quita con código.

### 6. Extracción de compra

La última tarea pasa texto a JSON: aplicar las correcciones en orden, quitar el artículo cancelado y no 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): pasó.
- **MiMo V2.6 Flash** (3.5 s): pasó.

Los dos devolvieron `{"customer":"Alex Rivera","items":[{"sku":"B-20","quantity":3},{"sku":"C-30","quantity":1}],"shipping":"standard","promo_code":null}`. Los dos aplicaron la corrección a tres unidades, quitaron el A-10 cancelado y dejaron el código promocional en null.

**Resultado:** Empate.

## Velocidad y coste

No hubo un ganador claro en velocidad: la mediana fue de 5.7 segundos para Pro y 5.5 para Flash, y una sola ejecución a través de una pasarela tiene mucho ruido.

|Tarea|Pro|Flash|
|-|-|-|
|Parser de Retry-After|33.2|38.2|
|Agregado de uso|5.5|3.2|
|Fusionar ventanas|9.2|9.6|
|Herramienta de pedido|4.3|6.0|
|Herramienta de envío|5.9|4.9|
|Extracción de compra|2.9|3.5|
|Mediana|5.7|5.5|

Segundos, de extremo a extremo, una ejecución; las tareas con herramientas suman las dos peticiones.

El uso de tokens y el coste se separan más en las dos tareas largas de código. En Parser de Retry-After, Pro usó 2,851 tokens de salida frente a 3,697 de Flash y aun así costó más del doble, unos $0.003 frente a unos $0.001, porque cada token de Pro cuesta 3.1 veces más. En Fusionar ventanas, Pro escribió unas tres veces más tokens de salida que Flash, así que su coste fue varias veces mayor.

|Ejecución|Pro|Flash|
|-|-|-|
|Retry-After|unos $0.003|unos $0.001|
|Fusionar ventanas|unos $0.002|unos $0.0003|
|Las seis tareas|menos de $0.01|menos de $0.003|

Tarifas de pago por uso de Xiaomi en el extranjero, en dólares estadounidenses por 1 millón de tokens ([página de precios](https://mimo.mi.com/docs/en-US/price/pay-as-you-go), consultada el 9 de noviembre de 2026):

|Modelo|Entrada|Salida|
|-|-|-|
|MiMo V2.6 Pro|$0.435|$0.87|
|MiMo V2.6 Flash|$0.14|$0.28|

La tarifa de entrada es la que no usa caché; con caché, la entrada cuesta menos en los dos modelos. Los tokens de razonamiento se cuentan a la tarifa de salida: `completion_tokens` ya los incluye y la tabla de precios de Xiaomi no tiene una tarifa aparte para ellos.

## ¿Cuál conviene usar?

Empieza con Flash para tareas cortas de código, extracción y tool calls. Pasó todas las comprobaciones de esta serie con un precio por token de aproximadamente un tercio del de Pro.

Pro no está descartado. Sus dos fallos fueron un caso límite de validación y un bloque de Markdown, no lógica incorrecta: en la tarea de envío, la llamada, los argumentos y los números eran correctos. La propia [ficha del modelo](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL) de Xiaomi (22 de septiembre de 2026) sitúa a Pro 4.0 puntos por delante de Flash en DeepSWE v1.1 (71.9 frente a 67.9) y 3.3 puntos por delante en Toolathlon-Verified (76.9 frente a 73.6). Son puntuaciones del fabricante en tareas de agente mucho más grandes que estas seis, y son el motivo para probar Pro con tu trabajo más difícil antes de descartarlo.

Los dos modelos forman parte de la serie V2.6 que Xiaomi lanzó el 22 de septiembre de 2026 ([página del lanzamiento](https://mimo.mi.com/docs/en-US/updates/model)).

Si todavía llamas a `mimo-v2.5-pro` o `mimo-v2.5`, cambia los ID: Xiaomi empezó a enviar esas llamadas a los modelos V2.6 el 14 de octubre de 2026 y retiró ambos ID el 21 de octubre de 2026 ([página de retirada](https://mimo.mi.com/docs/en-US/updates/deprecate)).

La siguiente prueba justa es una cuya respuesta ya conoces. Toma cinco tareas de tu propio código, envía los mismos prompts a los dos modelos una vez a cada uno y compara primero las comprobaciones, luego el tiempo y por último el coste.

## Ejecuta una tarea tú mismo

La llamada de abajo envía el prompt de extracción de la tarea 6 a Flash con los ajustes de las pruebas. El endpoint compatible con OpenAI de OmniaKey toma tu clave 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."}
    ]
  }'
```

Cambia `model` a `mimo-v2.6-pro` para el otro modelo y añade `"stream": true` cuando esperes un razonamiento largo. Los detalles de cada modelo están en las páginas de [MiMo V2.6 Pro](https://omniakey.com/es/mimo-v2-6-pro) y [MiMo V2.6 Flash](https://omniakey.com/es/mimo-v2-6-flash), y las tarifas actuales en [la página de precios](https://omniakey.com/es/pricing).

## Preguntas frecuentes

### ¿MiMo V2.6 Pro es mejor que Flash?

En estas seis tareas rindió mejor Flash: pasó 6 de 6 y Pro 4 de 6, con un precio por token unas 3.1 veces mayor. Las puntuaciones de Xiaomi sitúan a Pro por delante en tareas de agente más grandes, así que prueba Pro con tu trabajo más difícil antes de pagarlo.

### ¿Cuánto cuesta MiMo V2.6 Pro?

Xiaomi cobra $0.435 por 1 millón de tokens de entrada sin caché y $0.87 por 1 millón de tokens de salida en sus tarifas internacionales en tiempo real (consultadas el 9 de noviembre de 2026). Flash cuesta $0.14 y $0.28. Nuestras seis tareas con Pro costaron menos de $0.01.

### ¿Por qué falló Pro en la tarea de Retry-After?

Aceptó "Mon, 09 Nov 2026 12:00:00", una fecha sin zona horaria. Trató la zona ausente como UTC y devolvió 0, mientras que el prompt pedía None para todo lo que no fuera una fecha RFC 1123 válida.

### ¿Pro llama a las herramientas de forma fiable?

En las dos tareas con herramientas eligió la herramienta de solo lectura y los argumentos correctos, y los valores de pedido y envío eran correctos. En la cotización de envío devolvió los números correctos dentro de un bloque de Markdown, lo que incumplió la orden de devolver solo JSON.

### ¿Tengo que cambiar el código escrito para MiMo V2.5?

Sí, si todavía envías los ID antiguos. Xiaomi retiró `mimo-v2.5-pro` y `mimo-v2.5` el 21 de octubre de 2026, después de enviar esas llamadas a los modelos V2.6 desde el 14 de octubre de 2026. Los ID de V2.6 son `mimo-v2.6-pro`, `mimo-v2.6-flash` y `mimo-v2.6-pro-ultraspeed`.

## Sources checked

- [Página de lanzamiento de los modelos MiMo](https://mimo.mi.com/docs/en-US/updates/model)
- [Página de retirada de MiMo](https://mimo.mi.com/docs/en-US/updates/deprecate)
- [Precios de pago por uso de MiMo](https://mimo.mi.com/docs/en-US/price/pay-as-you-go)
- [Ficha del modelo MiMo-V2.6-Pro-RL](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL)

Todas consultadas el 9 de noviembre de 2026.

## Registro de cambios

- 9 de noviembre de 2026: primera publicación. Seis tareas ejecutadas el 9 de noviembre de 2026 (UTC), una respuesta por tarea y modelo.
