Models
Every request to CKEditor AI names a model. Use agent-1 and the service picks the model for you, or name one of the models below to make the choice yourself.
This page lists the model ids available on SaaS, the capabilities each model supports, and the response of the models endpoint.
We evaluate every model on this list on common editor tasks before we offer it.
This table is a snapshot and changes over time. For the models your environment offers, and for the models your token allows, call GET /v1/models/{compatibilityVersion}, described under The models endpoint. Do not hard-code the table into your application.
| Model ID | Name | Provider | Web Search | Reasoning | Removal date |
|---|---|---|---|---|---|
agent-1 |
Agent | Agent | Yes | Yes | - |
gpt-5 |
GPT-5 | OpenAI | Yes | Yes | - |
gpt-5.1 |
GPT-5.1 | OpenAI | Yes | Yes | 1 Apr 2027 |
gpt-5.2 |
GPT-5.2 | OpenAI | Yes | Yes | - |
gpt-5.4 |
GPT-5.4 | OpenAI | Yes | Yes | - |
gpt-5.5 |
GPT-5.5 | OpenAI | Yes | Yes | - |
gpt-5.6-sol |
GPT-5.6 Sol | OpenAI | Yes | Yes | - |
gpt-5.6-terra |
GPT-5.6 Terra | OpenAI | Yes | Yes | - |
gpt-5.6-luna |
GPT-5.6 Luna | OpenAI | Yes | Yes | - |
gpt-6-astra |
GPT-6 Astra | OpenAI | Yes | Yes | - |
gpt-6-sol |
GPT-6 Sol | OpenAI | Yes | Yes | - |
gpt-6-luna |
GPT-6 Luna | OpenAI | Yes | Yes | - |
gpt-5.4-mini |
GPT-5.4 Mini | OpenAI | Yes | Yes | - |
gpt-4.1 |
GPT-4.1 | OpenAI | Yes | No | - |
gpt-5-mini |
GPT-5 Mini | OpenAI | Yes | Yes | - |
gpt-4.1-mini |
GPT-4.1 Mini | OpenAI | Yes | No | - |
claude-4-5-sonnet |
Claude 4.5 Sonnet | Anthropic | Yes | Yes | 30 Oct 2026 |
claude-4-6-sonnet |
Claude 4.6 Sonnet | Anthropic | Yes | Yes | - |
claude-5-sonnet |
Claude 5 Sonnet | Anthropic | Yes | Yes | - |
claude-opus-4-7 |
Claude Opus 4.7 | Anthropic | Yes | Yes | - |
claude-opus-4-8 |
Claude Opus 4.8 | Anthropic | Yes | Yes | - |
claude-opus-5 |
Claude Opus 5 | Anthropic | Yes | Yes | - |
claude-fable-5 |
Claude Fable 5 | Anthropic | Yes | Yes | - |
claude-fable-5.1 |
Claude Fable 5.1 | Anthropic | Yes | Yes | - |
claude-4-5-haiku |
Claude 4.5 Haiku | Anthropic | Yes | Yes | - |
gemini-3-1-pro |
Gemini 3.1 Pro | Yes | Yes | - | |
gemini-2-5-flash |
Gemini 2.5 Flash | Yes | Yes | - | |
gemini-3-flash |
Gemini 3 Flash | Yes | Yes | - | |
gemini-3-5-flash |
Gemini 3.5 Flash | Yes | Yes | - | |
gemini-3-6-flash |
Gemini 3.6 Flash | Yes | Yes | - | |
gemini-3-7-flash |
Gemini 3.7 Flash | Yes | Yes | - | |
gemini-3-8-flash |
Gemini 3.8 Flash | Yes | Yes | - |
Models with a removal date are removed after that date, and requests that use them fail. If your configuration names such a model, switch to another model before then. If you use agent-1, you do not need to do anything, as the models behind it are updated for you. Learn more about model deprecation.
Every model supports conversations, reviews, and actions. The limits object of each model in the models response gives its limits for context length, file count, file size, and PDF page count.
Agent is a model we maintain. We evaluate models on common editor tasks and pick the one Agent runs on. When a better model becomes available, we move Agent to it, and your requests stay the same. If that model is unavailable, Agent falls back to the next one on its list.
The id of Agent depends on the compatibility version. In version 1 the id is agent-1. Grant ai:models:agent on the token to use it. We recommend Agent unless you need a specific model.
Web search and reasoning are optional capabilities, and the table above shows the models that support each one. In the models response, the capabilities object of each model states whether the model supports the capability (enabled) and whether your token may use it (allowed). To switch one on for a request, see Attachments and capabilities.
The model reads current information from the web and uses it in the reply. The response returns the pages the model used as sources. A request that uses web search takes longer to answer.
The model works through a request before it answers, which helps with complex questions. The reasoning text itself never comes back through the API. On-premises, the observability traces record it when AI spans are on. See Recording AI spans.
Some models reason on every request, and you cannot turn it off through the API.
Reading web pages attached to a conversation does not depend on the model. It needs the ai:conversations:context:urls permission.
GET /v1/models/{compatibilityVersion} returns the models your integration can use. A compatibility version is a fixed set of models. We keep older versions available and add new models to newer versions only, so you upgrade when you choose to. There is one compatibility version so far, 1. It contains every model on this page.
To list the models in compatibility version 1, send this request:
GET /v1/models/1
Authorization: Bearer <your-token>Copy codeResponse:
{
"items": [
{
"id": "agent-1",
"name": "Agent",
"provider": "Agent",
"description": "Automatically selects the best model for speed, quality, and cost",
"allowed": true,
"capabilities": {
"webSearch": {
"enabled": true,
"allowed": true
},
"reasoning": {
"enabled": true,
"allowed": true
}
},
"limits": {
"maxPromptLength": 30000,
"maxConversationLength": 256000,
"maxFiles": 100,
"maxFileSize": 7000000,
"maxTotalFileSize": 30000000,
"maxTotalPdfFilePages": 100
}
}
]
}Copy codeEvery model has a description, a one-sentence summary you can show next to the model name. To get the description in one of the supported languages, pass the languageCode parameter:
GET /v1/models/1?languageCode=pl
Authorization: Bearer <your-token>Copy codeThe languageCode parameter takes a BCP-47 code. The default is en. Supported codes:
ar, bg, bn, ca, cs, da, de, el, es, et, fa, fi, fr, he, hi, hr, hu, id, it, ja, ko, lt, lv, ms, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh, zh-TW
Only the description is translated. The id, name, and provider are the same in every language.
A model we plan to remove has a removal field with an ISO 8601 date, for example "removal": "2025-11-17T00:00:00.000Z". After that date, the models endpoint stops returning the model, and requests that name it fail with the error code model-not-found.
Read the removal field when your application starts, and move to another model before the date. If you use agent-1, you have nothing to do: we change the models behind Agent for you.
- Models section of the API reference documents the models endpoints with their full request and response schemas.
- Permissions lists the
ai:models:*scopes that decide which models a token may use. - Attachments and capabilities on the Conversations page shows how a message request switches on web search and reasoning.
- REST API covers rate limits, file limits, and error codes.