TL;DR
MiMo-V2.5 API in CometAPI offre accesso al modello sparso mixture-of-experts di Xiaomi per coding, comprensione multimodale e carichi agentici. L’API MiMo-V2.5 è la scelta pratica predefinita quando un progetto richiede una finestra di contesto da 1 milione di token, input multimodale nativo e basso costo per token; MiMo-V2.5 Pro è più adatta quando il coding difficile, il ragionamento o l’uso di strumenti a lungo orizzonte contano più del prezzo. Questa guida mostra come chiamare l’API tramite CometAPI, eseguire lo streaming delle risposte, strutturare richieste multimodali, stimare i costi e irrobustire un’integrazione in produzione.
Key Takeaways
- Il modello MiMo-V2.5 utilizza 310B parametri totali con 15B parametri attivi per token e supporta una finestra di contesto da 1M token.
- Usa la rotta MiMo-V2.5 per lavoro multimodale, analisi con ampio contesto e agent a sensibilità di costo; scegli MiMo-V2.5 Pro per i compiti di coding e ragionamento più difficili.
- L’endpoint compatibile con OpenAI rende semplice la migrazione, ma i sistemi in produzione necessitano comunque di timeout, logica di retry, budget di token e verifiche lato provider delle capacità.
- Alle tariffe CometAPI indicate, una richiesta con 10.000 token in input e 2.000 token in output costa circa $0,001568 sulla rotta MiMo-V2.5.
MiMo-V2.5 Model Overview
Xiaomi ha presentato il modello il 22 aprile 2026. MiMo-V2.5 API in CometAPI lo espone tramite un’interfaccia di chat-completions compatibile con OpenAI, quindi i client esistenti possono in genere migrare modificando l’URL di base, la chiave API e l’identificatore del modello.
Secondo la scheda modello ufficiale, il modello combina un backbone linguistico MoE sparso con encoder dedicati per visione e audio. Accetta input di testo, immagini, video e audio, producendo output testuale. La sua ampia finestra di contesto è utile per code review a livello di repository, insiemi di documenti, lunghi trascritti e agent multi-step.
| Specification | Value | Why it matters |
|---|---|---|
| Architecture | Sparse mixture of experts | Attiva una porzione limitata della rete per ciascun token. |
| Total parameters | 310B | Offre ampia capacità senza usare ogni parametro per token. |
| Active parameters | 15B | Supporta un’inferenza efficiente rispetto alla dimensione totale. |
| Context window | 1,000,000 tokens | Gestisce grandi repository e ampie collezioni di documenti. |
| Maximum output | Up to 128K tokens through the current route | Supporta report lunghi e generazione di codice estesa. |
| Native inputs | Text, image, video, audio | Abilita flussi di lavoro multimodali unificati. |
| Output modality | Text | Le risposte vengono restituite come testo generato. |
| Vision encoder | 729M-parameter ViT | Elabora contenuti visivi per attività su immagini e video. |
| Audio encoder | 261M-parameter Transformer | Elabora parlato e altri input audio. |
| License | MIT | Consente un ampio uso commerciale e di ricerca secondo i termini. |
L’immagine ufficiale del benchmark multimodale sotto riporta i risultati su comprensione di immagini, agent multimodali e comprensione video.

Confronto ufficiale del benchmark multimodale Xiaomi MiMo-V2.5
Le rotte del provider possono esporre un set di formati media più ristretto rispetto a quanto supportato dal modello sottostante. Convalidate il formato esatto di payload per immagini, audio e video rispetto all’endpoint attivo prima di rilasciare una funzione multimodale.
MiMo-V2.5 Benchmark Performance
Xiaomi riporta risultati solidi in coding, uso del terminale e valutazioni di agent multimodali. Questi numeri sono utili per posizionare il modello, ma non sostituiscono test sui vostri prompt, strumenti, obiettivi di latenza e condizioni di errore.
| Benchmark | Reported score | Evaluation focus |
|---|---|---|
| SWE-Bench Pro | 56.1 | Software engineering a livello repo |
| Terminal-Bench 2.0 | 65.8 | Compiti di agent basati su terminale |
| Claw-Eval General | 62.1 Pass@3 | Capacità generale degli agent |
| Claw-Eval Multimodal | 23.8 Pass@3 | Compiti di agent multimodali |
| Claw-Eval Multi-Turn | 63.2 Pass@3 | Comportamento multi-turn degli agent |
| ResearchClawBench | 16.91 | Flussi di lavoro di ricerca |
Il confronto ufficiale per il coding mostra 65.8 su Terminal-Bench 2.0 e 56.1 su SWE-Bench Pro, posizionando il modello anche in un confronto più ampio sugli agent di coding.

Confronto ufficiale del benchmark di coding Xiaomi MiMo-V2.5
Cosa suggeriscono i risultati: il modello è particolarmente interessante per applicazioni che combinano codice, strumenti e media misti. Per decisioni deterministiche in produzione, eseguite una valutazione interna che misuri successo del compito, uso di token, latenza end-to-end, frequenza di retry e tasso di correzione umana.
MiMo-V2.5 vs MiMo-V2.5 Pro: A Multi-Dimensional Comparison
| Dimension | MiMo-V2.5 | MiMo-V2.5-Pro |
|---|---|---|
| Total parameters | 310B | 1.02T |
| Active parameters | 15B | 42B |
| Context window | 1M tokens | 1M tokens |
| Primary strength | Carichi agent omnimodali e generali | Agent complessi e coding impegnativo |
| Input price per 1M tokens | $0.112 | $0.348 |
| Output price per 1M tokens | $0.224 | $0.696 |
| Best fit | Sistemi multimodali, ampio contesto, sensibili ai costi | Ragionamento duro, coding e esecuzione a lungo orizzonte |
| Official API input modalities | Text, image, video, audio | Text |
| Official API output modality | Text | Text |
Risultato del confronto: iniziate con la rotta MiMo-V2.5 quando costo, throughput o copertura multimodale guidano la decisione. Spostate richieste selezionate su MiMo-V2.5 Pro quando le valutazioni interne mostrano un guadagno significativo di accuratezza su coding, ragionamento o uso di strumenti difficili. Un router a più livelli spesso offre un migliore equilibrio costo-qualità rispetto all’invio di ogni richiesta a MiMo-V2.5 Pro.
How to Call the MiMo-V2.5 API
L’API segue il familiare schema chat-completions. Conservate la chiave sul vostro server, caricatela da una variabile d’ambiente e non incorporatela mai in codice browser o mobile.
Set the API key
export COMETAPI_KEY="your_api_key_here"
$env:COMETAPI_KEY = "your_api_key_here"
### Send a cURL request
curl https://api.cometapi.com/v1/chat/completions
-H "Authorization: Bearer $COMETAPI_KEY"
-H "Content-Type: application/json"
-d '{
"model": "mimo-v2.5",
"messages": [
{"role": "system", "content": "You are a careful coding assistant."},
{"role": "user", "content": "Explain the bug and propose a minimal patch."}
],
"temperature": 0.2
}'
### Use Python with the OpenAI SDK
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1",
)
response = client.chat.completions.create(
model="mimo-v2.5",
messages=[
{"role": "system", "content": "You are a precise engineering assistant."},
{"role": "user", "content": "Review this migration plan for hidden risks."},
],
temperature=0.2,
)
print(response.choices[0].message.content)
> Non registrare chiavi API, header di autorizzazione completi o contenuti sensibili del prompt. In produzione usa un secrets manager e ruota le credenziali secondo una pianificazione definita.
## How to Stream MiMo-V2.5 API Responses
Lo streaming riduce la latenza percepita per risposte lunghe. Il servizio restituisce eventi incrementali, che l’SDK espone come chunk.
stream = client.chat.completions.create(
model="mimo-v2.5",
messages=[{"role": "user", "content": "Draft a safe database migration checklist."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
In un servizio web, inoltra i delta con Server-Sent Events o messaggi WebSocket, gestisci le disconnessioni dei client e interrompi la generazione a monte quando l’utente annulla.
## MiMo-V2.5 API Multimodal and Structured Workflows
Per attività basate su immagini, invia un’istruzione testuale più un oggetto immagine nello stesso messaggio utente. La rappresentazione esatta dei media accettata può variare per rotta del provider, quindi trattala come uno schema di payload e conferma il supporto della rotta attiva.
{
"model": "mimo-v2.5",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "Extract the visible error and suggest the next diagnostic step."},
{"type": "image_url", "image_url": {"url": "https://example.com/error.png"}}
]
}
]
}
Per un output leggibile dalla macchina, richiedi un oggetto JSON compatto e validalo rispetto al tuo schema. Non presumere che il JSON generato sia sicuro solo perché viene parsato.
import json
raw = response.choices[0].message.content
result = json.loads(raw)
required = {"summary", "risks", "next_action"}
missing = required - result.keys()
if missing:
raise ValueError(f"Missing fields: {sorted(missing)}")
## MiMo-V2.5 API Pricing on CometAPI and Cost Control
| Route | Input per 1M tokens | Output per 1M tokens | 100-request example |
| ------------------------------ | ------------------- | -------------------- | ------------------- |
| MiMo-V2.5 | $0.112 | $0.224 | $0.1568 |
| MiMo-V2.5 Pro | $0.348 | $0.696 | $0.4872 |
| Xiaomi pay-as-you-go reference | $0.14 | $0.28 | $0.1960 |
L’esempio presume 100 richieste, ciascuna con 10.000 token in input e 2.000 token in output. In base a tali assunzioni, la rotta MiMo-V2.5 è circa il 68% più economica di MiMo-V2.5 Pro. Le [tariffe a consumo pubblicate](https://platform.xiaomimimo.com/docs/zh-CN/integration/roocode) da Xiaomi forniscono un utile punto di riferimento, mentre le fatture effettive devono essere verificate rispetto al prezzo del provider attivo prima della messa in produzione.
MiMo-V2.5 input: 100 × 10,000 / 1,000,000 × $0.112 = $0.1120
MiMo-V2.5 output: 100 × 2,000 / 1,000,000 × $0.224 = $0.0448
MiMo-V2.5 total: $0.1568
Pro input: 100 × 10,000 / 1,000,000 × $0.348 = $0.3480
Pro output: 100 × 2,000 / 1,000,000 × $0.696 = $0.1392
Pro total: $0.4872
Controlla i costi con limiti di output massimo, compressione del prompt, contesto in cache, classificazione delle richieste e un router che esegue l’escalation solo per i compiti difficili. Traccia il costo per compito riuscito anziché per richiesta; una richiesta più economica che fallisce ripetutamente può risultare più costosa.
## How to Design Long-Context MiMo-V2.5 API Requests
Una finestra da 1M di token rende possibili input più grandi, ma non elimina compromessi di retrieval e attenzione. Costruisci il prompt in modo che il modello possa individuare rapidamente le evidenze pertinenti.
* Metti il compito, il contratto di output e i criteri decisionali all’inizio.
* Separa i documenti con identificatori stabili e delimitatori chiari.
* Includi solo evidenze che possono influire sulla risposta.
* Chiedi al modello di citare identificatori di documento o riferimenti di riga nel risultato.
* Misura l’accuratezza man mano che il contesto cresce; non trattare il contesto massimo come il contesto ideale.
> Un contesto lungo aumenta sia il costo dei token sia la possibilità che materiale irrilevante distragga il modello. Retrieval, sintesi e prompting gerarchico restano importanti anche quando l’intero corpus entra nel contesto.
## Production Reliability
### Retry only transient failures
Ritenta i rate limit e i fallimenti temporanei del server con backoff esponenziale e jitter. Non ritentare automaticamente autenticazioni non valide, payload malformati o errori di policy.
import random
import time
def delay_for(attempt: int) -> float:
return min(30.0, (2 ** attempt) + random.random())
for attempt in range(5):
try:
result = call_model()
break
except TransientAPIError:
if attempt == 4:
raise
time.sleep(delay_for(attempt))
### Set operational guardrails
* Usa timeout di connessione e di richiesta complessiva.
* Allega una chiave di idempotenza ai workflow con effetti collaterali esterni.
* Registra ID modello, latenza, token di input e output, conteggio retry e stato finale.
* Redigi segreti e dati personali prima del logging.
* Richiedi allowlist degli strumenti e conferme per azioni distruttive.
* Mantieni un modello di fallback o una coda per le interruzioni del provider.
## MiMo-V2.5 API Common Errors and Solutions
| Symptom | Likely cause | Recommended action |
| ------------- | ---------------------------------------------- | ---------------------------------------------------------------- |
| 401 o 403 | Chiave API mancante, non valida o non autorizzata | Verifica il secret lato server e i permessi del progetto. |
| 400 | Messaggi malformati o oggetto media non supportato | Valida il JSON e conferma il supporto della rotta specifica. |
| 413 | Body della richiesta troppo grande | Riduci la dimensione dei media o suddividi l’input. |
| 429 | Limite di rate o quota | Fai backoff con jitter e imponi limiti di concorrenza lato client. |
| 5xx | Fallimento temporaneo del provider | Ritenta entro un budget limitato o effettua failover. |
| Risposta lenta| Grande contesto, output lungo o latenza degli strumenti | Esegui streaming, limita i token e profila ogni fase. |
| JSON non valido | Deriva di generazione | Valida, ripara una volta se sicuro, e rifiuta i fallimenti persistenti. |
## Conclusion
Il modello MiMo-V2.5 è il punto di partenza più solido per team che necessitano di input multimodali, ampio contesto e controllo aggressivo dei costi. Pro dovrebbe essere un’escalation deliberata per i compiti in cui i guadagni misurati di qualità giustificano il prezzo più alto. Iniziate con un piccolo set di valutazione, strumentate ogni richiesta e promuovete l’integrazione solo dopo aver testato payload reali, comportamento con contesti lunghi, gestione dei retry e recupero dai fallimenti.
## FAQ
### What endpoint should I use?
Usa `/api.cometapi.com/v1/chat/completions`, oppure imposta `/api.cometapi.com/v1` come base URL in un SDK compatibile con OpenAI.
### What model identifier should I send?
Usa `mimo-v2.5` per la rotta MiMo-V2.5. Conferma l’identificatore corrente prima del lancio se il tuo account utilizza un alias specifico del provider.
### When should I choose MiMo-V2.5 Pro?
Scegli MiMo-V2.5 Pro quando la tua valutazione mostra un vantaggio sostanziale su compiti di coding, ragionamento o uso di strumenti di lunga durata. Mantieni il traffico routinario o multimodale sulla rotta MiMo-V2.5 quando la sua qualità è sufficiente.
### Does a 1M-token context mean I should send everything?
No. Un contesto ampio è un limite di capacità, non un obiettivo di progettazione del prompt. Recupera e organizza le evidenze che possono influire sulla risposta, quindi misura qualità e costo man mano che l’input cresce.
### Can I call the API directly from a browser?
Non esporre una chiave API segreta nel codice frontend. Chiama il provider dal tuo backend e applica autenticazione, rate limit, logging e controlli sui dati lì.
### How do I verify multimodal support?
Testa l’esatto payload dei media rispetto alla rotta attiva del provider. Le modalità native del modello sottostante non garantiscono che ogni rotta esponga ogni formato nello stesso modo.
