Model capabilities
Declare what a model can do: vision, audio, decisions, reasoning, and provider-specific parameters
Overview
Every LLM configuration in MagOneAI carries a set of declared capabilities. They tell the platform what the model behind that configuration can actually do, so MagOneAI can route work to the right configuration and refuse work the model cannot handle.
Capabilities are declared by an administrator on the configuration. MagOneAI does not infer them from the model name, because a provider can serve the same model under any alias it likes.
The provider tab says where a model comes from. Capabilities say what it can do.
These are deliberately separate. A model can have several capabilities at once, so they are independent flags rather than one "kind" field. A configuration may serve chat, accept images and answer decisions all at the same time.
The capability flags
| Flag | Field | Effect when on |
|---|---|---|
| Supports Vision | supports_vision | The configuration may receive image inputs. Workflows that pass images can select it. |
| Supports Audio | supports_audio | The configuration may be used to transcribe audio and video into text. |
| Supports Decisions | supports_decision | The configuration may answer typed decision questions. Requires a decision endpoint. |
Turning a capability off while something still relies on it does not fail at save time. It fails at run time, when the workflow that needs it runs.
Check what uses a configuration before you remove a capability from it. The configuration panel shows where a configuration is in use.
Vision
Tick Supports Vision for a model that accepts images. With the flag off, MagOneAI refuses an image request with a capability error rather than sending an image the provider will reject.
Two related settings sit beside the flag:
- Image handling → Max image size (MB): from 0.1 to 100, default 20
- Advanced → Timeouts → Vision request (sec): from 30 to 900 seconds, default 300
The vision timeout is separate from the text timeout because vision requests take longer. The text timeout defaults to 120 seconds.
Audio
Tick Supports Audio for a model that can transcribe audio. MagOneAI uses an audio-capable configuration when a workflow receives an audio or video input, and records the transcription as a step in the execution timeline. See Audio and video for the formats, limits and what happens to the transcript.
Decision
Tick Supports Decisions for a model that answers typed questions, and give it a Decision endpoint. See Decision models for the full detail, including the question and answer shapes.
How MagOneAI picks a configuration for you
Some callers cannot name a configuration themselves. A chat attachment, an API trigger and a schedule trigger all upload files without an llm_config_id, because the client has no way to know which configuration can read a scanned page or transcribe a recording.
For those cases MagOneAI resolves one, using the same preference order for every capability:
The organization default, if it already has the capability
An administrator's chosen default keeps winning whenever it can do the job.
Otherwise the oldest active configuration that has the capability
Oldest first, so the choice is stable and does not change when someone adds a new configuration.
Otherwise an error
If the organization has no configuration with that capability, MagOneAI reports a configuration error. It never guesses with a model that has not declared the capability.
Reasoning and thinking
Reasoning / thinking is the one structured capability, because exposing a model's reasoning needs provider-specific translation at the wire level. Anthropic, Qwen3 on vLLM and OpenAI's o-series all use different shapes for the same idea.
Pick the mode that matches the model:
| Mode | Use for | What MagOneAI does |
|---|---|---|
| None | A model that does not reason | Strips every thinking field from the request |
| On/off | A model that decides depth itself, such as Qwen3 | Sends chat_template_kwargs.enable_thinking |
| Effort | A model that takes a reasoning effort level | Leaves the thinking fields in place so the provider's own translation handles them |
A configuration created before this setting existed sits in an internal unverified state, which behaves like Effort and passes the fields through. The form never offers unverified as a choice, so every save moves the configuration onto a real declared mode.
On Amazon Bedrock, extended thinking is available only for the Anthropic family. MagOneAI recognises those model IDs and sends the thinking field only to them. See Amazon Bedrock.
Extra parameters
Extra parameters is a free-form set of provider-specific request parameters, stored as JSON on the configuration. MagOneAI merges them into every request as a base layer, and runtime values from the workflow override them.
Use it for anything a provider accepts that MagOneAI does not expose as its own field, such as temperature, top_p, seed or presence_penalty. No platform change is needed when a provider adds a new parameter.
Add a row with a key and a Value (JSON), then click Save.
Rejecting a parameter with null
There is one special case, and it is the reason the feature exists.
A key declared with an explicit null means this model rejects this parameter. A null value beats the runtime value instead of being overridden by it, so MagOneAI drops the key before the provider sees it.
{ "temperature": null }Omitting the key cannot express this, because several callers always send a value of their own. The agent tool loop sends temperature on every call, so a model that rejects temperature outright fails every run with a 400 unless the configuration declares it as null.
There is no per-parameter capability flag. You express what a model accepts by adding or omitting the parameter itself, and null is how you say "send this key with no value".
Token limits
Two token limits are stored per configuration, and MagOneAI fills both from its model map when you create or update a configuration without setting them. You can override either value.
| Setting | Meaning | When unset |
|---|---|---|
| Context window | Maximum input tokens, 1,024 or more | The platform default context window is used |
| Max output tokens | Maximum completion tokens for one request | The provider's own default applies |
A stale context window value is safe. Provider context windows only grow, so an out-of-date value routes to retrieval slightly early rather than overflowing the model.
Validation on save
Clicking Save runs one real test call through the full gateway pipeline before the configuration is stored. This is why a mistake in a credential, an endpoint, a region or an extra parameter surfaces at save time rather than on the first workflow run.
Troubleshooting
Cause: A workflow passed an image to a configuration with Supports Vision off.
Fix: Turn on the flag for a vision-capable model, or point the node at a configuration that has it.
Cause: The organization has no active configuration with that capability, so there was nothing for MagOneAI to resolve.
Fix: Add a configuration for a capable model and tick the flag.
Cause: An entry in Extra parameters is not supported by this model, or a caller always sends a parameter the model rejects.
Fix: Remove the row, or set its value to null so MagOneAI drops the key before the request is sent.
Cause: Reasoning / thinking does not match what the model actually does.
Fix: Set None for a model with no reasoning, On/off for a Qwen3-style model, and Effort for a model that takes an effort level.