uttapen

Mistral Medium 3 vs Devstral 2 2512

Both sit behind the same key and the same code on uttapen — the only thing that changes is the model string, so you can run each of them against your own workload without touching anything else.

FeatureMistral Medium 3Devstral 2 2512
ProviderMistralMistral
Model idmistralai/mistral-medium-3mistralai/devstral-2512
Context131,072 tokens262,144 tokens
Max output104,857 tokens209,715 tokens
Input / 1M tokens116,050 toman116,050 toman
Output / 1M tokens580,250 toman580,250 toman
≈ one 1,000-word request905 toman905 toman
Input caching11,605 toman / 1M11,605 toman / 1M
Image inputYesNo
File inputYesYes
Tool callingYesYes
JSON outputYesYes
Reasoning modeNoNo

Which one for what?

Mistral Medium 3

  • Reading screenshots, invoices, and scanned forms
  • Agents that call your own APIs and database
905 toman per 1,000 words · Model page

Devstral 2 2512

  • Whole documents or a codebase in a single request
  • Agents that call your own APIs and database
905 toman per 1,000 words · Model page

Run both with the same code

Swap the model value between the two ids and send the same request twice; what each answer cost comes back in the X-Uttapen-Cost-Toman header.

curl https://api.uttapen.ir/v1/chat/completions \
  -H "Authorization: Bearer sk-up-…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistralai/mistral-medium-3",
    "messages": [{"role": "user", "content": "Introduce yourself in one sentence."}],
    "stream": true
  }'

model = "mistralai/devstral-2512"

More comparisons: all pairs · model rankings · full catalogue

base_url = https://api.uttapen.ir/v1