Intelligence that never leaves your network.
A secure multimodal model for enterprise and on-premise deployment. Advanced reasoning, native vision and document understanding, agentic tool use, and a context of up to 1M tokens — running entirely behind your own firewall.
Works with the coding agents you already use
The newest model, and the one it grew from.
Post-trained from A4B through a self-improvement loop — the strongest agentic coding, tool use and long-horizon planning in the lineup. Ahead on 52 of the 56 published benchmarks.
The 2.2 checkpoint with the general-purpose post-training: reasoning, native vision, documents and OCR, tool calling, and the full context window.
One model for the work your business actually does.
Text, images, documents and video in the same conversation — with the tool calling and long context that real workflows need.
Security-first design
Built to run fully isolated, on-premise, with complete data privacy — nothing leaves your infrastructure.
Advanced reasoning
Competitive with the strongest open-weight models on mathematics, science and complex multi-step reasoning.
Native vision
Reads images, screenshots, charts, tables and long documents, with strong OCR and video comprehension.
Agentic & tool-ready
Reliable function calling, MCP, repository-level coding and OS-level automation workflows.
Extreme long context
Up to 1,048,576 tokens — book-length references and whole codebases in one conversation. The endpoint we run is set to 200K.
Efficient MoE
~4B of ~35B parameters activate per token — roughly 9× less compute than a dense model of the same size.
Multilingual
Robust understanding and generation across a wide range of languages, including Arabic and English.
Drop-in integration
OpenAI-compatible API — slot it into the pipelines you already run, with no code changes.
Every benchmark. Every model. The protocol attached.
Every XCurOS figure but one was measured in-house at BF16
on 2× A100 80 GB — AA-LCR is provider-run, on the publisher's own infrastructure.
Competitor scores are transcribed from their publishers, so read the tables as
capability comparisons rather than controlled experiments — the full protocol is on the benchmarks page.
-- means the score was not published
Full model card →
Your weights. Your hardware. Your data — start to finish.
XCurOS is designed for the environments where sending a prompt to a third party is simply not an option: regulated industries, classified networks, and air-gapped estates.
Runs on your own GPUs
From 2× 80 GB at BF16 down to two 16 GB cards with the Q4_K_M build — which is what runs the public endpoint. No egress, no shared tenancy.
No telemetry, no retention
The serving stack writes nothing back to us. Conversations in the playground stay in the browser that made them.
Predictable economics
A sparse model with a small KV cache: ~20 KB per token against ~80 KB if all 40 layers held one.
Three lines to switch.
The endpoint speaks the OpenAI protocol, and the native Anthropic Messages API too. Point your existing SDK at it and keep the rest of your code exactly as it is.
Run it inside your network.
Open the playground and try it right now — it runs at a 200K context — or talk to us about a licence, an evaluation, or an on-premise deployment.
XCurOS 2.2 A4B Max
Our current model. Model ID XCurOS-2.2-A4B-Max; architecture
designation XCurOS-2.2-35B-A4B, shared with the base tier — a multimodal
Mixture-of-Experts causal language model with an integrated vision encoder: ~35B total parameters,
~4B active per token, and a context window of up to 1,048,576 tokens. It is post-trained from
XCurOS 2.2 A4B, the tier before it, and everything below the two cards is shared by both.
Post-trained from A4B through an end-to-end self-improvement loop: the model generates its own tasks, builds the harnesses that grade them, and improves its policy by reinforcement learning across all three. The result is the strongest terminal and repository-level engineering in the lineup.
- Agentic coding, tool use, long-horizon planning
- Ahead of A4B on 52 of the 56 published benchmarks
- The model the Playground runs and the model card reports
The 2.2 checkpoint itself — the whole platform, with the general-purpose post-training: reasoning, vision, documents, tool calling and the full context window. It is also the model the Max weights are trained from.
- Assistants, document and chart understanding, OCR, multilingual work
- Identical footprint and hardware bill to Max
- Measured on the same 56 benchmarks, under the same protocol
What the Max post-training buys
Both tiers are measured under the same protocol, so the two columns compare directly. Across all 56 published benchmarks Max leads on 52, is level on 3, and trails on one — MVBench, by 0.2. Eight of the widest gaps and the headline rows:
| Benchmark | XCurOS 2.2 A4B | XCurOS 2.2 A4B Max | Difference |
|---|---|---|---|
| Tool Decathlon | 31.8 | 49.1 | +17.3 |
| NL2Repo | 33.5 | 46.4 | +12.9 |
| Terminal-Bench 2.1 | 55.2 | 68.0 | +12.8 |
| OJBench | 46.2 | 54.3 | +8.1 |
| SWE-bench Pro | 53.2 | 59.6 | +6.4 |
| HLE | 20.7 | 24.7 | +4.0 |
| MMMU | 78.7 | 82.7 | +4.0 |
| SWE-bench Verified | 76.3 | 79.0 | +2.7 |
All 56 benchmarks, both tiers, with the protocol →
The architecture both tiers share
- Model IDs
XCurOS-2.2-A4B·XCurOS-2.2-A4B-Max- Type
- Multimodal causal LM (MoE) + vision encoder
- Parameters
- ~35B total · ~4B active per token
- Layers / hidden
- 40 layers · 2048 hidden
- Experts
- 256 routed · top-8 per token · FFN 512 · one shared expert always on
- Attention
- Hybrid Gated DeltaNet + Gated Attention
- Vision
- Integrated ViT — images and video
- Context
- 262,144 native · 1,048,576 with RoPE scaling · 200K as served
- Mode
- Thinking — always on the API, a switch in the Playground
- API
- OpenAI-compatible · Anthropic Messages
Where the parameter budget goes
| Component | Total | Active — text | Active — image/video |
|---|---|---|---|
| Routed experts — 256 × 3 × 2048 × 512 × 40 layers | 32.21B | 8/256 → 1.01B | 1.01B |
| Shared expert — 3 × 2048 × 512 × 40 layers, always active | 0.13B | 0.13B | 0.13B |
| Attention — 10 Gated Attention + 30 Gated DeltaNet layers, incl. gates & conv projections | 1.28B | 1.28B | 1.28B |
| Embeddings (input + output, untied, vocab 248,320) | 1.02B | 1.02B | 1.02B |
| Vision encoder (depth 27, hidden 1152) | 0.44B | — | 0.44B |
| Total | ~35.1B ≈ 35B | ~3.4B | ~3.9B ≈ 4B |
The vision encoder runs only when an image or video is present, so a
text-only turn activates ~3.4B. The A4B designation refers to the multimodal figure.
Hardware requirements
Memory is set by the total parameter count — every expert must be resident even though only 8 of 256 fire per token.
| Precision | Weights | KV @ 32K | KV @ 262K | Minimum GPU configuration |
|---|---|---|---|---|
BF16 | ~70 GB | ~0.6 GB | ~5 GB | 2× 80 GB (H100 / A100) |
Quantized builds are not published in the card. For reference, the
public endpoint behind the Playground serves this model as Q4_K_M (~20 GB of weights) on two
16 GB cards, at a 200K window.
Thinking mode
Reasoning is what the hard answers are worth, so the API reasons before every answer. In the Playground it is a switch — the Think button by the composer — because a greeting does not need a reasoning pass and a proof does.
Small KV cache
Only the Gated Attention layers cache; the DeltaNet layers carry a fixed recurrent state. ~20 KB per token at fp16.
Use cases
On-premise copilots, document and chart understanding, OCR extraction, agentic automation, long-context analysis.
Licensing
Every XCurOS Team product other than the open-weight releases is proprietary software — XCurOS 2.1 5B Instruct, XCurOS OCR, XCurOS 2.2 A4B, XCurOS 2.2 A4B Max and the serving stack that runs them. A valid paid licence is required for any use — personal, academic, evaluation or commercial. Access to the weights is gated on a licence reference.
The full model card for XCurOS 2.2 A4B Max
The published card for XCurOS 2.2 A4B Max (XCurOS-2.2-A4B-Max), rendered in full —
evaluation protocol, all 56 measured benchmarks across language and vision-language with the
XCurOS-2.2-A4B column beside every one of them, hardware requirements, the operating envelope
and the licence, exactly as shipped with the model.
The card is published in English.
We build AI that
enterprises can actually deploy.
XCurOS is an AI research and engineering team building secure multimodal models and the serving stack that runs them. Founded in 2022 by the XCurOS Team, our work is aimed at one thing: giving organisations frontier-grade capability without asking them to hand their data to somebody else's cloud.
Security is the product
Isolation, on-premise operation and data ownership are not features we added later — they are the reason the model is designed the way it is.
Efficiency over spectacle
A sparse architecture that gives the quality of a much larger model at the compute profile of a small one — because hardware budgets are real.
Claims you can check
We publish the evaluation protocol next to the numbers, say plainly what is self-reported, and ship a harness so licensed users can re-run it.
Models we have shipped
Five generations, six releases. The two open ones have been downloaded over 960,000 times on Hugging Face.
Download figures are Hugging Face's own, read in August 2026.
What we ship
Three things, built to work as one system:
- The models — XCurOS 2.2 A4B Max, the latest, with XCurOS 2.2 A4B before it: multimodal, long-context, agent-ready.
- The serving stack — an OpenAI-compatible endpoint with vision, documents, web search and transcription, deployable inside your network.
- The interface — a production playground your teams can use on day one, with conversations stored in the browser rather than on a server.
Timeline
Licences, pilots, partnerships.
Licences, evaluations, on-premise pilots and partnerships — the fastest route is a direct email.
Talk to the XCurOS team.
Licensing, evaluations, on-premise deployments or support — pick the line that fits and you will reach the right people directly.
Business & licensing
Quotes, licences, pilots, partnerships.
[email protected]Support
Deployment, integration and technical issues.
[email protected]General enquiries
Everything else — press, research, hiring.
[email protected]Phone
Direct line to the team.
+20 155 489 2893Fastest for quick questions.
@XCurOSTry it first
The playground is open — no account needed.
Open the Playground →Send us a message
Your email, your message, send. No mail app, no account, nothing to install — it reaches the right inbox and we reply to the address you give.
Before you write
For a licence quote, it helps to include your deployment target (cloud, on-premise or air-gapped), expected concurrency, and whether you need vision and long context.
Evaluations
Licensed users can reproduce every published figure with the bundled harness. Ask us for the evaluation notebook when you write.
Security questionnaires
Send them to [email protected] — the model runs entirely inside your perimeter, which answers most of them.
Status of the XCurOS endpoint
Live availability of the public API, the Playground and the servers behind them — each measured on its own by our orchestrator, and published from separate infrastructure, so this page keeps working when they do not.
Checking status…
Contacting the status service.
XCurOS API
—Playground
—XCurOS Servers
—Incident history
last 30 daysOne endpoint. Your own key.
XCurOS speaks the OpenAI protocol, the Anthropic Messages API and the Responses API on a single address, so the SDK and the editor you already use need a base URL and nothing further. A key is issued in about a minute, automatically, at any hour.
https://xcuros.com/v1Authorization: Bearer YOUR_KEYxcuros-2.2-maxGet your key
Your email address, a six-digit code, and the key is on screen. There is no account to create and no password to manage: the mailbox is the account, and it is also how a lost key is recovered — confirm the same address again and the same key is returned, not a new one.
Loading…
What the key opens
A verified email address opens xcuros-2.2-max — our own model, the one the Playground runs and the model card documents. That is the complete free tier, and it requires nothing further.
The phone number is optional
Verifying a phone number unlocks the hosted models. It is one confirmation on Telegram — no SMS, and nothing to pay. Skip it and your key continues to work exactly as it is.
What a free key includes
Ninety days, renewed by confirming your address again. The key's value does not
change on renewal, so nothing you have configured stops working. Within that period:
500 requests a day ·
20M tokens a calendar month.
Need more than that?
Higher limits, a longer validity period, on-premise deployment or a licence — contact us and a member of the team will reply.
How each model is unlocked
Our own model, served on hardware we operate ourselves — which is why a verified address is all it takes. Advanced reasoning, native vision, document understanding and a 200,000-token context window as served.
- Chat Completions, Messages and Responses
- Reasoning on every request
- Tool calling, streaming, images and PDFs
Hosted by other providers, on a free allowance shared across all XCurOS developers. A single confirmation on Telegram unlocks them, and no SMS is ever sent.
- Added to the key you already hold — its value does not change
- The number identifies your account and is used for nothing else
- Never required — xcuros-2.2-max remains available either way
The call
Point the SDK you already use at the base URL above. Nothing else in your code changes.
Editors and terminal agents
Pick yours. The steps open here, with your own values already in them.
Every one of these was checked against this endpoint. A client that cannot be pointed at it is not in the list.
When a request is refused
Every refusal carries an actionable reason in the response body. These are the five you are most likely to encounter.
| Status | What happened, and what resolves it |
|---|---|
400 | The request is longer than the context window it was sent to. The body names context_length_exceeded (or prompt is too long on the Anthropic route) and carries both figures — what was sent and what the model accepts — so an agent can trim and retry without guessing. POST /v1/messages/count_tokens answers the same question before the upload is spent. |
401 | The key is missing, mistyped or expired. Confirm your address again on this page — the same key is returned, and an expired key is extended without its value changing. |
403 | The key is valid, but that model is not on it. The hosted models require the phone step; xcuros-2.2-max never does. |
429 | A rate limit — either your own (500 requests a day) or the shared allowance behind a hosted model. Wait, or contact us for a key with higher limits. |
5xx | The endpoint is not answering. A 503 carrying Retry-After is ours and means the model is reloading — retry in a few seconds. Anything else was raised at the edge rather than by us, and the Uptime page reports the current state of the service. |
The same model our customers run
A free key reaches the same endpoint, the same model and the same weights as a licensed deployment. It is bounded by duration and by usage, never by capability. When those bounds become the constraint, that is a commercial conversation rather than a different product.