Mistral Medium 3.1 is Mistral AI's mid-size enterprise model, released 2025-08, an update to Mistral Medium 3 that targets strong reasoning and multimodal performance at lower operational cost. It is built for coding, STEM work, and enterprise adaptation, and its accuracy is competitive with larger models such as Claude Sonnet 3.7 and Llama 4 Maverick.
This model is not routed on MirAPI yet — prices shown are the official list prices. Create an account to get notified when it goes live.
Capabilities
Benchmarks
bar = score (0–100) · ▏ medianScores from vendor reports and public leaderboards. No private evals.
Showcase
Three fixed prompts, identical for every chat model. Outputs are archived verbatim — copy the prompt to reproduce.
Build a single-file HTML page using three.js from a CDN: a low-poly planet with a tilted ring of ~200 orbiting particles, a soft key light plus rim light, slow auto-rotation, and drag-to-orbit controls. No build tools — one file only.
Every model will run this exact prompt; the output lands here verbatim, with tokens and per-run cost.
Find the sum of all positive integers n such that n² + 85n + 2017 is a perfect square. Show your reasoning, then give only the final answer on the last line.
Every model will run this exact prompt; the output lands here verbatim, with tokens and per-run cost.
Extract strict JSON {vendor, invoice_no, issue_date, currency, total, line_items:[{desc, qty, unit_price}]} from the invoice text. Output JSON only.
"Northwind Cloud Ltd. — Invoice NW-20847, issued 12 Mar 2026. 3× GPU-hour bundle at $18.40, 1× object storage 2TB at $9.90. Total $65.10 (USD)."Every model will run this exact prompt; the output lands here verbatim, with tokens and per-run cost.
Quick Start
import os from openai import OpenAI client = OpenAI( base_url="https://api.mirapi.ai/v1", # changed api_key=os.environ["MIRAPI_API_KEY"], # changed ) resp = client.chat.completions.create( model="mistralai/mistral-medium-3.1", messages=[{"role": "user", "content": "Hello"}], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.mirapi.ai/v1", // changed apiKey: process.env.MIRAPI_API_KEY, // changed }); const res = await client.chat.completions.create({ model: "mistralai/mistral-medium-3.1", messages: [{ role: "user", content: "Hello" }], });
curl https://api.mirapi.ai/v1/chat/completions \ -H "Authorization: Bearer $MIRAPI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mistralai/mistral-medium-3.1", "messages": [{"role": "user", "content": "Hello"}] }'
# ~/.zshrc export ANTHROPIC_BASE_URL="https://api.mirapi.ai" export ANTHROPIC_AUTH_TOKEN="$MIRAPI_API_KEY" # start as usual — model names unchanged claude --model mistralai/mistral-medium-3.1
# ~/.codex/config.toml model_provider = "mirapi" model = "mistralai/mistral-medium-3.1" [model_providers.mirapi] name = "MirAPI" base_url = "https://api.mirapi.ai/v1" env_key = "MIRAPI_API_KEY" wire_api = "responses"
Links
1M free tokens to start · no card · OpenAI-compatible, one base_url change