> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corti.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Models

> Compare Corti's text generation and embedding models by capability, reasoning, speed, and price, and pick the right one for your workload.

Corti Models exposes four text-generation variants that combine two dimensions, **model tier** and **reasoning mode**, so you can balance capability, speed, and cost for each use case. A dedicated embedding model is also available for vector generation.

`corti-s1` and `corti-s1-mini` are products, not just relabeled models. Corti takes the strongest available open-weight models and turns them into production-grade AI through tuning, inference optimization, and continuous improvement. See [How Corti models work](/models/how-models-work) for details.

<Info>
  US projects: `corti-s1` model IDs are served by Azure-hosted OpenAI models. See [Regions](/models/regions).
</Info>

|               | **With reasoning** | **Instant (no reasoning)** |
| ------------- | ------------------ | -------------------------- |
| **Frontier**  | `corti-s1`         | `corti-s1-instant`         |
| **Efficient** | `corti-s1-mini`    | `corti-s1-mini-instant`    |

## Current foundation models

The specific foundation models behind each S1 tier are implementation choices that evolve as the frontier moves.

<Note>
  These figures are a point-in-time snapshot. The model IDs stay the same even when the underlying foundation model changes. See [How Corti models work](/models/how-models-work).
</Note>

### `corti-s1` (frontier tier)

* **Current foundation**: GLM 5.2
* **Built for**: complex multi-step reasoning, agentic coding tasks, deep analysis and synthesis
* **AA Intelligence Index**: 53 ([Artificial Analysis](https://artificialanalysis.ai), an independent benchmark)
* **Throughput**: 118.5 tokens/s
* **Time to first token**: 180 ms

### `corti-s1-mini` (efficient tier)

* **Current foundation**: Qwen 3.6
* **Built for**: latency-sensitive generation, high-throughput workloads, OCR and image analysis
* **AA Intelligence Index**: 31
* **Throughput**: coming soon
* **Time to first token**: coming soon
* **Image input**: yes

## Beyond S1: the Corti Models platform

Corti Models is not limited to the `corti-s1` family. Over time, Corti is building the platform into an access layer to the frontier, where you can run leading models next to S1 and benchmark them on your own workloads through the same OpenAI-compatible API.

Available on request:

* **OpenAI GPT models**: available at the same price as OpenAI, so you can mix and match from a single provider.
* **Open-weight models**: Corti can host and serve leading open-weight models (such as GLM, DeepSeek, Kimi, and others) directly on its European infrastructure. You get the same sovereign hosting, compliance, and observability as the `corti-s1` family.

These models require separate provisioning and may use different model IDs than the `corti-s1` family. [Contact us](https://www.corti.ai/contact-us?products=corti-models,api\&use_case=I'd%20like%20to%20discuss%20access%20to%20additional%20models%20beyond%20the%20corti-s1%20family.) to get started.

Model choice is part of the product. Run your workload on `corti-s1`, run the same workload on a frontier alternative, and choose what works best. S1 is designed to win on performance, not lock-in.

<Card title="Request additional models" icon="envelope" href="https://www.corti.ai/contact-us?products=corti-models,api&use_case=I'd%20like%20to%20discuss%20access%20to%20additional%20models%20beyond%20the%20corti-s1%20family." arrow="true">
  Contact us to discuss your model requirements.
</Card>

## Reasoning vs. instant

Standard models produce a **chain-of-thought reasoning** trace before the final answer. The trace is visible in the `reasoning` field of chat-completion responses and as structured `type: "reasoning"` output items in the Responses API. The `-instant` variants skip this step and return only the answer, making them faster and cheaper per token.

<Tip>
  Choose a reasoning model for complex multi-step problems, debugging, or when you need transparency into the model's thinking. Choose an `-instant` variant for straightforward generation, classification, or high-throughput workloads where speed and cost matter more than an auditable thought process.
</Tip>

## Image input

The `corti-s1-mini` and `corti-s1-mini-instant` models accept image inputs alongside text. Use the standard OpenAI multimodal content format: pass an array of content parts to the `messages` field, including `image_url` parts with base64-encoded data URIs.

Image input works well for:

* **OCR**: extracting text from screenshots and documents
* **Image descriptions**: generating alt text or summarizing visual content
* **UI analysis**: identifying layout, hierarchy, or accessibility issues in a screenshot
* **Simple design tasks**: suggesting layout, color, or typography improvements against a mockup

<Info>
  The total request payload is limited to approximately 50 KB. Compress larger images to JPEG before encoding. Images are tokenized as multimodal input tokens, billed at the standard input rate for the model in use.
</Info>

Pass the image as a base64 data URI in the `messages` array:

```json theme={null}
{
  "model": "corti-s1-mini",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Describe this image."},
      {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,<base64-encoded-image>"}}
    ]
  }]
}
```

For complete, runnable examples in JavaScript, Python, and cURL, see [Replace your LLM provider](/models/quickstart).

## Embeddings

`corti-s1-embedding` is Corti's dedicated embedding model for converting text into high-dimensional vectors. Use it for semantic search, clustering, classification, and retrieval-augmented generation (RAG) pipelines.

## Pricing

Prices are per **million tokens**.

| Model                   | Input  | Cached input | Output |
| ----------------------- | ------ | ------------ | ------ |
| `corti-s1`              | \$2.00 | \$0.20       | \$8.00 |
| `corti-s1-instant`      | \$2.00 | \$0.20       | \$8.00 |
| `corti-s1-mini`         | \$1.00 | \$0.10       | \$4.00 |
| `corti-s1-mini-instant` | \$1.00 | \$0.10       | \$4.00 |
| `corti-s1-embedding`    | \$0.03 | —            | —      |

<Note>
  **Cached input** applies when the same prompt prefix is reused across requests. Corti caches those tokens and charges them at a 90% discount, so long conversations and repeated system prompts cost significantly less.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Replace your LLM provider" icon="rocket" href="/models/quickstart">
    Make your first API call with any OpenAI SDK.
  </Card>

  <Card title="API Reference" icon="square-terminal" href="/api-reference/welcome">
    Explore the Chat Completions and Responses endpoints.
  </Card>
</CardGroup>
