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/modelsThe 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.
Response shape
Section titled “Response shape”{ "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.
Naming a model in a request
Section titled “Naming a model in a request”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.
How prices are calculated
Section titled “How prices are calculated”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.
Human-readable catalog
Section titled “Human-readable catalog”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.