Pay for what runs
Pay for tokens, not seats. One credit balance from prototype to production.
Corti Models
One OpenAI-compatible API on EU infrastructure we own from the metal up. $50 free credits, first call in five minutes.
corti · v1.4.2 · models init ◆ Which models should Corti offer? ranked; the top selected model is the default ▸ ■ corti-s1 256K default ■ corti-s1-instant 256K ■ corti-s1-mini 256K ■ corti-s1-mini-instant 256K ■ corti-s1-embedding 16K ✓ creds model 2/5 tools scope planCorti runs the strongest open weights on EU infrastructure you can audit.
Corti Models, for work that can't fail.
Pay for tokens, not seats. One credit balance from prototype to production.
180 ms to first token, 118.5 tokens a second on corti-s1.
Attestation before inference. Isolation enforced by hardware, not policy.
ISO 27001, ISO 42001, GDPR, NIS2, DORA, EU AI Act. No US cloud in the request path.
Not convinced?
The engine
An open-weight model is a starting point, not a product. Three things happen before your request (evaluate, harden, serve), and Corti owns all three.
The strongest open weights change every few months. We don't care which lab.
A download isn't a product. We tune it, break it. If it doesn't hold, it doesn't ship.
Hardware, cluster, serving stack, API: one operator owns every layer.
Running 1M+ interactions a week
We spent ten years building AI for clinical work, where a model that's wrong five percent of the time is a liability. The same standard backs every call you make to Corti Models.
Use Corti Models
Path 01
Point OpenCode, Crush, or Pi at Corti Models with the CLI. Same workflow.
# run the setup wizardnpx @corti/cli models init # load credentials, then launch your agentset -a; . ~/.env; set +aopencodePath 02
Point your OpenAI SDK at Corti Models with a new URL and key. Same code.
client = OpenAI( base_url="https://ai.eu.corti.app/v1", api_key="<your-api-key>") r = client.chat.completions.create( model="corti-s1", messages=msgs)The lineup
| Model | Reasoning | Input | Cached input | Output |
|---|---|---|---|---|
corti-s1recommended Complex agentic coding and repo-wide refactors | Yes | $2.00 / MTok | $0.20 / MTok | $8.00 / MTok |
corti-s1-instant Fast interactive coding and inline completion | No | $2.00 / MTok | $0.20 / MTok | $8.00 / MTok |
corti-s1-mini High-volume review, tests, and refactors | Yes | $1.00 / MTok | $0.10 / MTok | $4.00 / MTok |
corti-s1-mini-instant Cost-sensitive completion at scale | No | $1.00 / MTok | $0.10 / MTok | $4.00 / MTok |
corti-s1-embedding Codebase search, retrieval, and indexing | n/a | $0.03 / MTok | — | no output charge |
Switching is easy
SDK, prompts, and evals stay. A new base URL and key put inference on EU hardware. The compatibility that makes arriving cheap makes leaving cheap.
Pricing
Per-seat coding assistants charge whether developers use them or not. We charge for what runs, at European infrastructure cost.
Difference of $187,200 a year, before the procurement and compliance overhead you stop paying for.
Five endpoints. corti-s1 is the flagship reasoning model. corti-s1-instant is the same weights tuned for low latency. corti-s1-mini and corti-s1-mini-instant are the smaller, cheaper variants. A separate endpoint handles embeddings.
A reseller changes who invoices you. The inference still runs under US jurisdiction. Corti operates the hardware, so your request is processed on machines we run, in Europe, under European law.
Yes. Most teams swap a base URL and an API key and are running in an afternoon. The compatibility that makes adoption cheap also makes exit cheap.
On some work it is, and we'll tell you where. For most production volume (coding, extraction, classification, routing) the gap has closed and the economics haven't. Most teams run both and send us the volume.
An open-weight model is a starting point, not a product. Before your request touches it, three things happen: we evaluate candidate models against defined suites, harden the ones that pass through tuning, compression, and grading, and serve them on infrastructure we operate. If selection, tuning, serving, and hardware were easy, self-hosting would work. Mostly it doesn't. The teams who try spend months on it and still ship a model that fails on real work. That's the layer Corti owns.
No. Prompts and completions are never stored, logged, or used for training. Hardware attestation verifies isolation before every inference. When the request finishes, the data is gone.
You keep calling corti-s1. We upgrade the weights behind that ID when a stronger model clears our bar. No code change. We tell you what changed.
A base URL and a key. Teams typically have a working integration in an afternoon and a governance model in a few weeks.
Moving off Corti is the same base URL change as moving on. We don't hold your prompts, completions, or tuning data. The compatibility that makes adoption cheap makes exit cheap.
Sovereignty is about who operates the infrastructure, not where the research was done. Open weights are a static artefact. No data reaches the original developer.
Install the CLI, keep the agent you already use. First call in five minutes, $50 free.