# MiMo-v2.5-pro API Performance Profile Empirically tested on `https://token-plan-sgp.xiaomimimo.com/v1` (2026-05-29). ## Latency by Prompt Size | Prompt Size | Items | Response Time | Status | |-------------|-------|---------------|--------| | ~500 chars | 1-2 | 2-4s | ✅ Reliable | | ~4,500 chars | 15 | ~73s | ✅ OK | | ~7,400 chars | 25 | >120s | ❌ Timeout | | ~10,900 chars | 35 | >120s | ❌ Timeout | | ~19,000 chars | 65-70 | >150s | ❌ Timeout | ## Key Constraints - **Max reliable prompt size: ~5K chars / ~18 items** for structured output tasks - Output token generation is slow (~50-80 tokens/s for large JSON outputs) - Simple prompts (<1K) are fast and reliable (2-4s) - Latency is **highly variable** — same prompt can take 73s or timeout at 150s - Temperature 0.2 used for structured output consistency ## Implications for Cron Jobs - **Pre-filter aggressively** before sending to LLM: dedupe + source priority + cap at 18 items - **Cron timeout 300s** budget: ~35s data fetch + ~80s LLM = ~115s typical, but retries can push to 250s+ - Set LLM urllib timeout to **150s** (not 300s — it won't help, just wastes cron budget) - **Retry 2x max** (not 3x) to stay within 300s cron budget - If LLM consistently times out, check if API is rate-limited (test with simple prompt first) ## Workaround: Pre-filter Pattern ```python def _prefilter_items(raw_items, max_items=18): """Dedupe + prioritize before LLM call.""" seen = set() filtered = [] priority_sources = {'AI HOT': 1, '橘鸦AI早报': 1, 'InfoQ AI': 2, '量子位': 2} sorted_items = sorted(raw_items, key=lambda r: priority_sources.get(r.get('source_group', ''), 3)) for item in sorted_items: norm = re.sub(r'[^\w\u4e00-\u9fff]+', '', item['title_raw'].lower()) if not norm or len(norm) < 3 or norm in seen: continue seen.add(norm) filtered.append(item) if len(filtered) >= max_items: break return filtered ``` ## Alternative Providers (tested same day) - **Findmini (gpt-5.4)**: `https://api.findmini.top/gpt/v1` — returned 503 - **OpenRouter (free models)**: returned 429 rate limit - **MiMo small prompts**: consistently 2-4s, reliable for simple tasks