Catalog
Models
The two Thinker models, Enterprise gates, EUR pricing and fixed DKK reference.
Updated 2026-10-27 · MainAI Compute docs
The catalog is deliberately narrow: two Thinker models, both Enterprise-only. Coder serves professional IT service and reverse engineering; Cyber serves offence-aware review. Both use private EU compute, one published EUR price and a 1M-token context.
CatalogLink to this section
| Model | Line | ID | Context | Max output | Input / M | Cached input / M | Cache write / M | Output / M |
|---|---|---|---|---|---|---|---|---|
| MainAI Coder | Thinker · Enterprise | mainai-coder | 1,000,000 | 393,216 | €0.60 | €0.12 | Free | €1.80 |
| MainAI Cyber | Thinker · Enterprise | mainai-cyber | 1,000,000 | 393,216 | €0.60 | €0.12 | Free | €1.80 |
MainAI Coder
- Line
- Thinker · Enterprise
- ID
mainai-coder- Context
- 1,000,000
- Max output
- 393,216
- Input / M
- €0.60
- Cached input / M
- €0.12
- Cache write / M
- Free
- Output / M
- €1.80
MainAI Cyber
- Line
- Thinker · Enterprise
- ID
mainai-cyber- Context
- 1,000,000
- Max output
- 393,216
- Input / M
- €0.60
- Cached input / M
- €0.12
- Cache write / M
- Free
- Output / M
- €1.80
context_window in the API is the same combined budget. If input plus requested output can exceed it, the engine returns a context-length error before generating. The long output ceiling is real capacity, not a target: set max_tokens to the report or patch size you need.
AccessLink to this section
- Both IDs need approved KYC and an active Enterprise contract.
- They unlock together after staff record the contract; there is no trial model.
GET /v1/models returns access and available for the calling organization. An unapproved request returns 403 kyc_required; an approved organization without a contract gets 403 contract_required.
Choose by taskLink to this section
| Workload | Model | Why |
|---|---|---|
| Decompile, recover a protocol or diff firmware | mainai-coder | Binary and packet context, long artifact output, service notes. |
| Root-cause an incident and write the handover | mainai-coder | Holds logs, source and ticket together; outputs a patch and runbook. |
| Threat-model an estate or triage a finding | mainai-cyber | Attacker's view, evidence trail and defender's report. |
| Secure review of the reverse-engineered fix | mainai-cyber | Checks exploit paths, trust boundaries and residual risk. |
| IT service migration and field documentation | mainai-coder | Professional service voice, structured output and tool loops. |
Decompile, recover a protocol or diff firmware
- Model
mainai-coder- Why
- Binary and packet context, long artifact output, service notes.
Root-cause an incident and write the handover
- Model
mainai-coder- Why
- Holds logs, source and ticket together; outputs a patch and runbook.
Threat-model an estate or triage a finding
- Model
mainai-cyber- Why
- Attacker's view, evidence trail and defender's report.
Secure review of the reverse-engineered fix
- Model
mainai-cyber- Why
- Checks exploit paths, trust boundaries and residual risk.
IT service migration and field documentation
- Model
mainai-coder- Why
- Professional service voice, structured output and tool loops.
Cost is output-heavyLink to this section
Output dominates. A call with 20,000 input tokens and 2,000 output tokens on mainai-coder costs about €0.0156 before VAT: €0.0120 input plus €0.0036 output. A 300,000-token reverse-engineering report costs €0.54 in output alone.
- Set
max_tokensclose to the real report, diff or patch size. - Send the relevant binary slice, capture or file tree; 1M context is a ceiling, not a reason to resend everything.
- Use Coder for discovery and service work, then Cyber for the security pass.
- Off-peak batch runs still consume the same public per-token price.
List models for a keyLink to this section
curl -s https://cloud.mainai.dk/v1/models \
-H "Authorization: Bearer $MAINAI_API_KEY" | jq '.data[].id'The result is already filtered by the key allow-list. A key with an empty allow-list sees both public models. Private deployments and hidden models do not appear.
EmbeddingsLink to this section
There is no separate embedding model in the two-model catalog. The embeddings endpoint remains available when the selected backend serves an embedding head; batch inputs and record the model ID next to every vector.
Not in the catalog yetLink to this section
- A standalone embedding model.
- Vision and audio models.
- Image generation.
- Fine-tuning and dedicated adapters.
- Batch jobs with a separate discount.