TinyMCE AI Models
TinyMCE AI supports multiple AI models from different providers. Which models may be used is determined by model permissions in the JWT; the plugin configuration UI, REST API request bodies, and per-action options (for example Quick Actions custom items) then select which allowed model applies in each situation. This page covers model capabilities, configuration options, and limitations that apply to both plugin and API usage.
Recommended: Agent Models
The agent-1 model automatically selects the best AI model for requests based on speed, quality, and cost. It is the recommended choice for most use cases as it optimizes performance and cost automatically.
-
For the token scope that the Agent model needs, see Model permissions.
-
The model selector in the TinyMCE AI plugin shows the Agent model as Auto.
Available Models
TinyMCE AI supports multiple AI models from different providers. Each model has unique capabilities, performance characteristics, and cost profiles. For the model used when no model is selected, see tinymceai_default_model. The model selector lists every model that the models endpoint returns, including models that the token does not allow.
Supported Models
The following is a detailed list of available models with their capabilities. In the Status column, ✓ marks an active model and ⚠marks a deprecated model, with its removal date.
| Model | Description | Web Search | Reasoning | Configuration id | Status |
|---|---|---|---|---|---|
Agent (shown as Auto in the plugin) |
Automatically selects best model for speed, quality, and cost. |
Yes |
Yes |
|
|
✓ |
GPT-5.6 Sol |
OpenAI’s frontier model for complex professional work and advanced reasoning |
Yes |
Yes |
|
✓ |
GPT-5.6 Terra |
Balances intelligence, speed, and cost for everyday tasks |
Yes |
Yes |
|
✓ |
GPT-5.6 Luna |
OpenAI’s most cost-efficient GPT-5.6 model for high-volume tasks |
Yes |
Yes |
|
✓ |
GPT-5.5 |
OpenAI’s flagship model for advanced reasoning, creativity, and complex tasks |
Yes |
Yes |
|
✓ |
GPT-5.4 |
OpenAI’s flagship model for advanced reasoning, creativity, and complex tasks |
Yes |
Yes |
|
✓ |
GPT-5.2 |
OpenAI’s flagship model for advanced reasoning, creativity, and complex tasks |
Yes |
Yes |
|
✓ |
GPT-5.1 |
OpenAI’s flagship model for advanced reasoning, creativity, and complex tasks |
Yes |
Yes |
|
✓ |
GPT-5 |
OpenAI’s flagship model for advanced reasoning, creativity, and complex tasks |
Yes |
Yes |
|
✓ |
GPT-4.1 |
OpenAI’s model for reliable reasoning, speed, and versatility |
Yes |
No |
|
✓ |
GPT-5 Mini |
A lightweight version of GPT-5 for faster, more cost-efficient responses |
Yes |
Yes |
|
✓ |
GPT-5.4 Mini |
A lighter variant of GPT-5.4 that balances speed and cost while maintaining solid accuracy |
Yes |
Yes |
|
✓ |
GPT-4.1 Mini |
A lighter variant of GPT-4.1 that balances speed and cost while maintaining solid accuracy |
Yes |
No |
|
✓ |
Claude Opus 4.8 |
Anthropic’s most capable model for extended reasoning and complex tasks |
Yes |
Yes |
|
✓ |
Claude Opus 5 |
Anthropic’s most capable model for extended reasoning and complex tasks |
Yes |
Yes |
|
✓ |
Claude Fable 5 |
Anthropic’s most capable model for extended reasoning and complex tasks |
Yes |
Yes |
|
✓ |
Claude Opus 4.7 |
Anthropic’s most capable model for extended reasoning and complex tasks |
Yes |
Yes |
|
✓ |
Claude 5 Sonnet |
Advanced model with improved creativity, reliability, and reasoning |
Yes |
Yes |
|
✓ |
Claude 4.6 Sonnet |
Advanced model with improved creativity, reliability, and reasoning |
Yes |
Yes |
|
✓ |
Claude 4.5 Sonnet |
Advanced model with improved creativity, reliability, and reasoning |
Yes |
Yes |
|
Claude 4.5 Haiku |
Cost-efficient model for quick interactions with improved reasoning |
Yes |
Yes |
|
|
✓ |
Gemini 3.1 Pro |
Google’s advanced model for versatile problem-solving and research |
Yes |
Yes |
|
✓ |
Gemini 2.5 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
✓ |
Gemini 3 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
✓ |
Gemini 3.5 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
✓ |
Gemini 3.6 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
✓ |
Gemini 3.7 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
✓ |
Gemini 3.8 Flash |
Lightweight Gemini model for fast, cost-efficient interactions |
Yes |
Yes |
|
How Model Selection Works
The agent model (agent-1) automatically selects the best underlying model based on:
-
Request complexity: Simple queries use faster, cost-effective models
-
Content size: Larger content uses models with better context windows
-
Required capabilities: Web search and reasoning require compatible models
-
Cost optimization: Balances quality with cost efficiency
When no model can process the request, the service returns a 502 Bad Gateway error with the code no-available-models. Retry the request after a few minutes.
Model Configuration
The JWT auth.ai.permissions array includes model permissions that define which models are allowed for the token. That allowed set applies to both the plugin and the REST API.
Plugin configuration, API parameters, and per-feature options do not grant access to models that the JWT disallows; they only choose which allowed model to use in a given context:
-
JWT model permissions: Set
ai:models:*,ai:models:agent,ai:models:<provider>:*, orai:models:<provider>:<model-name>as required. See Model permissions and JWT Authentication. -
Plugin configuration:
tinymceai_default_modelsets the default model, andtinymceai_allow_model_selectioncontrols whether end users can choose among allowed models in the UI. See Chat configuration options. -
API requests: The
modelfield in request bodies selects the model for that call. See API Examples below. -
Custom Quick Actions and similar: Per-item options such as the
modelproperty on custom Quick Actions select a model for that action; the value must be among the models allowed by the JWT.
|
The set of models and capabilities can change between major TinyMCE releases. That kind of change is not treated as a breaking change for the editor. Use the plugin’s model selection dropdown or |
tinymce.init({
selector: 'textarea', // change this value according to the HTML
plugins: 'tinymceai',
toolbar: 'tinymceai-chat tinymceai-quickactions tinymceai-review',
tinymceai_default_model: 'gemini-2-5-flash',
tinymceai_allow_model_selection: true,
tinymceai_token_provider: () => fetch('/api/token').then(r => r.text()).then(token => ({ token }))
});
Model Compatibility Versions
Models are organized by compatibility versions to ensure API stability. When new models are introduced or existing models are updated, they may be added to a new compatibility version. Request paths include the version, as in GET /v1/models/1.
How It Works
Compatibility versions allow TinyMCE AI to introduce new models and capabilities without breaking existing integrations. Each version maintains a stable set of models and capabilities.
The TinyMCE AI plugin requests the models for version 1.
Checking Compatibility
To see available models for a compatibility version:
-
Through the plugin: Available models are shown in the model selection dropdown when
tinymceai_allow_model_selectionis enabled. Seetinymceai_allow_model_selectionfor configuration. -
Through the API: Check the
GET /v1/models/{version}endpoint. The API response includes model capabilities, limits, and availability. See Model Information for an example.
Verifying limits for a configured model
Follow these steps to read limits and capabilities for the model the integration uses with TinyMCE AI:
-
Align base URL and credentials
-
Call the same HTTP base URL the editor uses for TinyMCE AI requests. If the base URL and JWT do not belong to the same environment, the response is an authorization error rather than model metadata.
-
-
List models for the compatibility version
-
Request
GET /v1/models/1, the compatibility version that the TinyMCE AI plugin uses. To read a single model, requestGET /v1/models/1/{id}.
-
-
Pick the matching
items[]entry-
In the JSON
itemsarray, select the object whoseidmatches the model in configuration (tinymceai_default_model) or in API bodies (model).
-
-
Read
limitsandcapabilities-
Inspect
limitsfor numeric caps (sizes are in bytes). InspectcapabilitiesforwebSearchandreasoning, usingenabledandallowed. Compare with the example response under Model Information.
-
-
Interpret availability flags
-
Treat
allowed: falseas "the token does not include a scope for this model." Therecommendedfield indicates whether the service recommends the model; it does not alterlimits.
-
|
Ready-to-run |
Model Capabilities
Web search and reasoning are optional capabilities, and not every model supports both. In the models response, the capabilities object of each model has an entry for webSearch and for reasoning:
-
enabled: Whether the model supports the capability. -
allowed: Whether the token permits the capability, based on its scopes. This field is present only whenenabledistrue.
The TinyMCE AI plugin offers web search and reasoning in Chat only when the selected model reports the capability as allowed. For the token scopes, see Conversation permissions, or JWT permissions for the on-premises AI service for the on-premises AI service.
Web Search
Enable real-time web search to access current information during conversations. Not all models support web search. Check model capabilities to see which models support this feature.
Reasoning
The API does not return the reasoning text. The stream sends reasoning events with no text while the model is reasoning. Some models have reasoning always enabled and cannot be turned off.
Always-on reasoning models:
-
Reasoning is always active during inference.
-
Reasoning cannot be turned off through the API.
To determine if a model has always-on reasoning, check the API response when listing models or refer to the model capabilities in the plugin UI. Models with mandatory reasoning will indicate this in their capability structure.
Model names such as gpt-5, claude-4-sonnet, and similar are examples. Actual available models depend on the service compatibility version. Use the GET /v1/models/1 API endpoint or check the plugin model selection dropdown to see current available models for the environment.
|
Web Scraping
Web scraping extracts and processes content from web pages so the AI can analyze and summarize it. When users add web resources as context in Chat, the service fetches and parses the page content for the AI to use. For the token scope, see Conversation attachment permissions. Web scraping supports standard web pages and is subject to rate limits for web resource requests.
Model Limitations
Per-model caps (context length, attachment sizes, PDF page totals, and similar) are returned in the limits object for each entry in GET /v1/models/{version}. Those values are the limits the service applies at runtime and can differ by model. See Verifying limits for a configured model for how to match the integration’s model id to the correct items[] entry.
The sections below cover moderation, descriptions, and deprecation. Attachment limits are documented only under File processing limits, using the live models API so values stay aligned with the service.
File Processing Limits
TinyMCE AI supports common attachment types in Chat conversations, including PDF, DOCX, images, Markdown, HTML, and plain text. Per-file and per-conversation ceilings—including maximum sizes, attachment counts, and PDF page totals—are returned per model in the limits object from GET /v1/models/{version}. Those numbers are the current limits the service applies; they can change with the service and vary by model, so read the limits object from that response at runtime for each model the integration uses. Field names, units, and schema updates are defined in the Models API OpenAPI documentation.
For the request flow and how to match a configured model id to the correct items[] entry, see Verifying limits for a configured model. The Models API reference defines each limits key.
Content Moderation
All models include moderation for inappropriate content, harmful instructions, personal information, copyrighted material, misinformation, sensitive topics, and security threats. When moderation flags the content, the request fails with HTTP status 422 Unprocessable Content and the error code unsafe-content-detected. The data.flaggedCategories array in the error body lists the categories that were flagged. For the error body, see Error responses. For the operations that can return this error, see the API reference. Moderation is applied automatically and cannot be disabled.
Model Descriptions
Model descriptions returned by the API are provided in English by default and may be updated over time to reflect model improvements or capability changes. For applications that require translated model descriptions, see Translation and Localization below.
Translation and Localization
The models endpoints accept an optional languageCode query parameter, for example GET /v1/models/1?languageCode=de, and then return translated model descriptions. For the supported language codes, see the Models API reference.
In the TinyMCE AI plugin, model descriptions follow the primary language subtag of the editor language, for example fr for fr-FR, pt for pt-BR, and zh for zh-TW. Descriptions are in English when no editor language is set.
For a language that the endpoint does not support, maintain a translation map in the application code keyed by model.id, with fallback to the description from the API for unknown models. This allows new models to work immediately while translations are added at a custom pace.
Model Deprecation
Each model in the models response can include two dates:
-
addition: The date the model becomes available. Before this date, requests cannot use the model. -
removal: The date the model is removed, as an ISO 8601 date (for example,"removal": "2025-11-17"). After this date, API requests that name the model fail with the error codemodel-not-found, and the models endpoint stops returning that model.
Models scheduled for removal are marked with âš and their removal date in the Status column of the Supported Models table.
|
After the removal date, features that name a removed model stop working. The result depends on where the model is set:
Built-in Quick Actions and built-in reviews do not set a model and are not affected. |
Before the removal date, switch each of these settings to another model from the Supported Models table, or to 'auto'.
To check for deprecated models programmatically, read the model list from GET /v1/models/{version}. Each model scheduled for removal includes its removal date, and the same list can be used to choose a replacement model. See Model Information for an example request.
API Examples
The following examples show how to configure models when using the REST API directly. For plugin configuration, see Chat model configuration.
Model Selection
POST /v1/conversations/my-conversation-123/messages
Content-Type: application/json
Authorization: Bearer <your-token>
{
"prompt": "Analyze this document and provide insights",
"model": "agent-1",
"content": [
{
"type": "document",
"id": "doc-1234567890123"
}
]
}
Capability Configuration
POST /v1/conversations/my-conversation-123/messages
Content-Type: application/json
Authorization: Bearer <your-token>
{
"prompt": "Research the latest developments in AI",
"model": "gpt-5.1",
"capabilities": {
"webSearch": {},
"reasoning": {}
}
}
See Model capabilities for the model support and token scopes that each capability needs.
Model Information
Get all available models for compatibility version 1.
Replace <your-token> with a JWT from JWT Authentication. Use the same TinyMCE AI API base URL the integration uses for requests. For Tiny Cloud production deployments, that URL is https://tinymceai.api.tiny.cloud. A JWT is valid only for the API host and credentials it was issued for.
To try the request from a browser DevTools console (JavaScript), substitute a real token string for '<your-token>' and use the same base URL as in the application. The fetch and curl examples below use https://tinymceai.api.tiny.cloud.
fetch('https://tinymceai.api.tiny.cloud/v1/models/1', {
headers: { Authorization: 'Bearer ' + '<your-token>' }
}).then((r) => r.json()).then(console.log);
From a terminal, use curl (do not paste curl into the browser console—only fetch belongs there):
curl -sS 'https://tinymceai.api.tiny.cloud/v1/models/1' \
-H 'Authorization: Bearer <your-token>'
Equivalent HTTP request:
GET /v1/models/1
Authorization: Bearer <your-token>
If fetch fails with a CORS error in the console, run the curl example from a terminal instead, or call the API from the application backend.
|
Response (shape illustrated; field names and numeric limits follow the live service and OpenAPI for the environment):
{
"items": [
{
"id": "agent-1",
"name": "Agent",
"description": "Automatically selects best model for speed, quality, and cost.",
"provider": "Agent",
"recommended": true,
"allowed": true,
"limits": {
"maxContextLength": 256000,
"maxFiles": 100,
"maxFileSize": 25000000,
"maxTotalFileSize": 30000000,
"maxTotalPdfFilePages": 100
},
"capabilities": {
"reasoning": {
"enabled": true,
"allowed": true
},
"webSearch": {
"enabled": true,
"allowed": true
}
}
}
]
}
-
id: Model identifier fortinymceai_default_modeland APImodelfields. -
allowed: Whether the token’s scopes allow the model. -
recommended: Whether the service recommends the model. -
limits: Per-model numeric caps. Sizes are in bytes, andmaxContextLengthis a number of characters. The Models API reference defines each key. -
capabilities: ForwebSearchandreasoning, whether the model supports the capability (enabled) and whether the token permits it (allowed). -
additionandremoval(optional): The dates the model becomes available and is removed. See Model deprecation.
After locating the entry for the configured id, use these fields to validate integrations (for example before uploading large attachments or enabling reasoning in API calls).
API Reference
The Models API section of the interactive API documentation covers model listing, compatibility versions, and capability schemas, along with the rest of the TinyMCE AI endpoints.
Related Features
-
Chat: Use models in interactive AI discussions and configure model selection.
-
Review: Apply models to content analysis and improvement.
-
Quick Actions: Use models for content transformation tasks.
-
Plugin Reference: Complete plugin configuration options including model settings.