Skip to content

Models and pricing

The catalog comes from GET /v1/models. No key required — you can call it from your frontend to show users a current list.

curl https://api.mixen.ai/v1/models

The catalog holds around a hundred models across every modality. Both the line-up and the prices change, so read them from the API rather than from this page.

{
"object": "list",
"data": [
{
"id": "anthropic/claude-opus-4.8",
"object": "model",
"owned_by": "mixen",
"type": "text",
"display_name": "Claude Opus 4.8",
"pricing": {
"prompt_rub": 527.6,
"completion_rub": 2637.8,
"prompt_usd": 6.0,
"completion_usd": 30.0,
"currency_note": "per 1M tokens"
},
"capabilities": {
"vision": true,
"file": true,
"reasoning": true,
"reasoning_efforts": ["low", "medium", "high", "xhigh", "max"],
"can_disable_reasoning": true
}
}
]
}

The type field tells you which endpoint accepts the model:

type Endpoint Priced per
text /chat/completions 1M tokens
search /chat/completions 1M tokens
image /images/generations, /images/edits image
video /videos second of video
music /audio/music request
tts /audio/speech 1000 input characters
stt /audio/transcriptions minute of audio
embeddings /embeddings 1M input tokens

The unit is always spelled out in pricing.currency_note, so a client never has to infer it from the model type.

Image and video models carry extra fields with the values they accept: aspect_ratios, resolutions, sizes, seconds, and references (how many reference images the model takes). Read them from the catalog instead of guessing — anything else returns 400. Speech models carry a voices list.

The model field accepts:

  • the full catalog identifier — openai/gpt-5.6-luna;
  • the short suffix — gpt-5.6-luna;
  • a familiar name from another vendor — gpt-4o, claude-opus, dall-e-3, gpt-image-1, whisper-1, tts-1, text-embedding-3-small, sora-2.

Those aliases exist so a drop-in swap works: code written for OpenAI runs unchanged and lands on a comparable Mixen model. If nothing matches, the response is a 404 listing similar identifiers.

Rouble prices are not static — they are derived from the upstream cost:

price ₽ = upstream $ × USD/RUB rate × (1 + margin)

The exchange rate comes from a live quote and updates on its own, so prompt_rub can differ week to week while prompt_usd stays put. You are charged exactly what the catalog shows at the time of the request — no hidden multipliers.

Charges come off your Mixen balance, the same one the bot and the web account use.

A browsable catalog with filters, descriptions and sample output lives at api.mixen.ai/models. It also shows which models accept images, take files, and support reasoning effort.