Section Component Gallery

Every section component in src/components/, rendered live.

Prop-driven

SectionHeader

Reusable eyebrow + title + lede header. Align center or left. Drop inside any section.

Props
eyebrow?, title, lede?, align?

Example eyebrow

SectionHeader (centered)

This is a lede paragraph for the SectionHeader component, shown in its default centered alignment.

Example eyebrow

SectionHeader (left)

Same component with align='left'.

Prop-driven

PageCTA

Closing call-to-action panel with eyebrow, two-line title, description, and up to two buttons.

Props
eyebrow?, titleBold, titleDim, description, primary?, secondary?

Get started

Ship faster with
Corti Models

Run frontier open-weight models on European hardware. One endpoint, zero data retention.

Get startedTalk to us
Prop-driven

FAQ

Accordion FAQ with sticky sidebar. Accepts custom title, lede, and items. Emits FAQPage JSON-LD.

Props
title?, lede?, items?

Frequently asked questions

Everything you need to know about the product.

A managed inference platform for frontier open-weight models on EU infrastructure.

No. Zero data retention. Your prompts and completions are never stored or used for training.

corti-s1, s1-instant, s1-mini, s1-mini-instant, and s1-embedding.

Prop-driven

ComplianceBadges

Strip of compliance certification logos. Default mode shows 6 core badges; full mode shows 12 with pixelation animation.

Props
full?
  • ISO 27001
  • ISO 42001
  • GDPR
  • NIS2
  • DORA
  • EU AI Act
  • BSI C5
  • ISAE 3000
  • Cyber Essentials Plus
  • GDPR
  • EU AI Act
  • EU-U.S. Privacy Shield
  • HIPAA
  • ISO 27017
  • ISO 14971
  • DORA
  • ISO 27018
  • ISO 13485
Prop-driven

TrustSplit + TrustBlock

Sticky sidebar layout with stacked feature blocks. Each TrustBlock has a kicker, body, icon, and a slot for visual content.

TrustSplit
id?, slots: copy + default
TrustBlock
kicker, body, icon, slot

Trust

Why teams choose Corti

Sovereign infrastructure with verifiable guarantees.

Compliance

Sovereignty

Your data never leaves EU jurisdiction. Every request is traceable end-to-end.

Visual content goes here (RequestTrace, chat panel, table, etc.)

Privacy

Zero data retention. No training on your prompts. Verifiable GPU attestation.

Another visual block slot.

i18n

Hero

Homepage hero with animated TUI terminal, clipboard copy, and trust badges. No props.

Used by
index.astro

Corti Models

Run frontier LLMs on sovereign EU infrastructure

One OpenAI-compatible API on EU infrastructure we own from the metal up. $50 free credits, first call in five minutes.

Start for freeSee how it works
>_Terminal
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  plan
i18n

FeatureGrid

Bento-style feature grid with animated charts, latency bars, GPU attestation, and world map. No props.

Used by
index.astro

Frontier models without the tradeoff. Open weights on sovereign EU hardware.

Pay for what runs

Pay for tokens, not seats. One credit balance from prototype to production.

Corti S1

Fast enough for a loop

180 ms to first token, 118.5 tokens a second on corti-s1.

corti-s1180ms
open-weight225ms

Provable where it ran

Attestation before inference. Isolation enforced by hardware, not policy.

AttestationGPU isolatedverifyingverified

Clears review

ISO 27001, ISO 42001, GDPR, NIS2, DORA, EU AI Act. No US cloud in the request path.

eu.corti.app
i18n

TwoWays

Two integration path cards (CLI + Python SDK) with animated code blocks. No props.

Used by
index.astro

Use Corti Models

In your coding agent, or in your app

  • Path 01

    Agentic coding in the terminal

    Point OpenCode, Crush, or Pi at Corti Models with the CLI. Same workflow.

    >_bash
    # run the setup wizardnpx @corti/cli models init # load credentials, then launch your agentset -a; . ~/.env; set +aopencode
    Read the docs →
  • Path 02

    Direct API in your product

    Point your OpenAI SDK at Corti Models with a new URL and key. Same code.

    >_python
    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)
    Read the docs →
i18n

EndpointSection

Diff-style terminal showing endpoint swap. Copy-to-clipboard. No props.

Used by
index.astro

Switching is easy

Change the endpoint. Keep the rest.

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.

>_switching.py
from openai import OpenAI
 
client = OpenAI(
− base_url="https://api.us-east/v1",
+ base_url="https://ai.eu.corti.app/v1",
api_key="<your-api-key>",
)
 
completion = client.chat.completions.create(
model="corti-s1",
messages=[{"role": "user", "content": prompt}],
)
i18n

ModelLineup

Pricing/spec table of 5 models with sticky first column. No props.

Used by
index.astro

The lineup

Frontier models hosted in Europe.

ModelReasoningInputCached inputOutput
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
i18n

TrustSection

Composes TrustSplit + 2 TrustBlocks with RequestTrace and governance panel. No props.

Used by
index.astro

Compliant

Verifiable hardware that keeps nothing after the request

Most vendors claim sovereignty in the contract, then rent the stack. EU inference runs on Kommodity, so the cluster control plane is public and auditable.

Explore compliance

Verifiable at every layer

Attestation runs before inference, so isolation is enforced by hardware, not a policy clause. There is no US cloud in the request path. Infrastructure code is open source on GitHub for anyone to review.

Request traceEU-CPH
10:24:07.004post /v1/chat/completions200 ok
10:24:07.006auth verifiedbearer token
10:24:07.009model loadedcorti-s1
10:24:07.011prompt tokens142
10:24:07.788generation startedn-04
10:24:07.789completion tokens89
10:24:07.789total latency785 ms

Private by architecture

Prompts and completions process in memory and end with the request. Nothing is retained, trains a model, or is visible to another tenant. Access, budget, and residency stay under central control, on sovereign cloud or on-prem, with ISO 27001, ISO 42001, GDPR, NIS2, DORA, and EU AI Act posture by default.

Governance
Prompt retentionnone
Training on your datanever
Data residencyyour region
Deploymentcloud / on-prem
Usage reportingper team
i18n

EconomicsSection

Interactive cost-savings calculator with range sliders. No props.

Used by
index.astro

Pricing

Pay for tokens, not seats

Per-seat coding assistants charge whether developers use them or not. We charge for what runs, at European infrastructure cost.

  • One credit balance across Corti APIs
  • Same credits for development, testing, and production
  • Per-team limits and request-level reporting
Directional estimate
500
$39
5x
Per-seat licences$234,000 / yr
Corti Models$46,800 / yr

Difference of $187,200 a year, before the procurement and compliance overhead you stop paying for.

i18n

PlatformSection

4-column grid of 12 platform feature cards with mini illustrations. "The weights are the easy part."

Used by
index.astro

Everything considered

The weights are the easy part

Anyone can download a model. Running it for regulated production is the hard part. Corti evaluates and operates the best available open weights models as the market moves, without you rebuilding integrations every leaderboard cycle.

  • Capacity management
  • LIVE
    Monitoring and observability
  • eu-cph
    standby
    Failover and resilience
  • get_record()tool
    Tool calling
  • JSON
    Structured outputs
  • HIT
    Prompt caching
  • RBAC
    Access controls
  • 12:04 attest12:04 allow12:05 complete
    Auditability
  • eval
    Model evaluation
  • managed
    Managed model upgrades
  • $2.00 / MTok
    Predictable pricing
  • Need capacity?On it.
    Enterprise support
i18n

FAQ (default)

Default FAQ with 6 built-in items from i18n messages.

Used by
index.astro

Frequently asked questions

What teams ask before they point production traffic at Corti Models.

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.

i18nOrphaned

QuickstartSection

Split grid with checklist + curl code block. Not used on any page.

Used by
—

Quickstart

First request in under five minutes

Create a key, change the base URL, make the call. OpenAI-compatible - any existing SDK works without a rewrite.

  • Generate an API key in the console, start with $50 of free credits
  • Point any OpenAI SDK or curl at ai.eu.corti.app
  • Or install the Corti CLI and connect your terminal agent
Read quickstartGet API Key
>_curl
curl https://ai.eu.corti.app/v1/chat/completions \  -H "Authorization: Bearer $CORTI_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "model": "corti-s1",    "messages": [      {"role": "user", "content": "Refactor this function"}    ]  }'