Model fields
Models represent specific LLM models available through a provider.
Model list with capability badges, context length, and cost columns.
Field inventory
| Field | TCA type | Default | Required in TCA | Effect |
|---|---|---|---|---|
hidden | check | 0 | no | TYPO3 record visibility; separate from runtime is_active. |
identifier | input | unset in TCA | yes | Unique programmatic identifier. |
name | input | unset in TCA | yes | Backend display name. |
description | text | unset in TCA | no | Description for operators. |
provider_ | select | 0 | yes | Provider record that owns this model. |
model_ | user | unset in TCA | yes | Provider model ID or Azure deployment name. |
context_ | number | 0 | no | Context-window size; zero means unknown. |
max_ | number | 0 | no | Model output cap used as a default when the configuration inherits. |
dimensions | number | 0 | no | Embedding vector size; zero means unknown. |
default_ | number | 120 | no | Model request timeout in seconds. |
capabilities | select | "chat" | no | Declared capability vocabulary; see the table below. |
capabilities_ | input | unset in TCA | no | Last discovered capability set; provenance metadata. |
capabilities_ | number | unset in TCA | no | Operator confirmation timestamp; provenance metadata. |
capabilities_ | input | unset in TCA | no | Discovery source; does not prove the operation succeeded. |
reasoning_ | select | "" | no | Operator: reasoning model yes/no; empty defers (ADR-275). |
reasoning_ | select | "" | no | Operator: accepted reasoning efforts; empty defers. |
tool_ | select | "" | no | Operator: tool calls via Chat Completions or Responses. |
reasoning_ | input | "" | no | Discovered reasoning flag; empty means not measured. |
reasoning_ | input | "" | no | Discovered effort scale; only from the provider's own list. |
reasoning_ | input | "" | no | discovery or third_. |
reasoning_ | number | 0 | no | When the discovered reasoning profile was recorded. |
cost_ | number | 0 | no | Input price in cents per million tokens; zero is unpriced. |
cost_ | number | 0 | no | Output price in cents per million tokens; zero is unpriced. |
is_ | check | 1 | no | Whether the record is eligible for runtime use. |
is_ | check | 0 | no | Installation default configuration, or default model within its provider. |
Required
-
- Type
- string
- Required
true
Unique slug (e.g.,
gpt-,5 claude-).sonnet
-
- Type
- string
- Required
true
Display name (e.g.,
GPT-).5 (128K)
-
- Type
- reference
- Required
true
Reference to the parent provider.
-
- Type
- string
- Required
true
The API model identifier as the provider expects it (e.g.,
gpt-,5. 3- instant claude-,sonnet- 4- 6 gemini-).3- flash
Optional
-
- Type
- integer
- Default
- 0 (unknown)
Maximum context window in tokens.
-
- Type
- integer
- Default
- 0 (unknown)
Maximum output tokens. Acts as the default output cap for requests whose configuration sets max_tokens to
0and whose caller sent no per-callmax_option.tokens
-
- Type
- integer
- Default
- 0 (unknown)
Embedding vector dimensionality. Acts as the default vector size for embedding requests whose options left
dimensionsunset.
-
- Type
- string (CSV)
- Default
- chat
Stored capability declarations, not a proof that an adapter implements an operation. The vocabulary is complete below. Require only capabilities that the chosen discovery path or operator actually populated.
Capability vocabulary
| Value | Meaning and limits |
|---|---|
chat | Text conversation; seeded by discoverers. Used by chat eligibility. |
completion | Alias for chat semantics; not seeded automatically. Prefer chat. |
embeddings | Vector generation; seeded by Gemini/Ollama discovery. Verify other models. |
vision | Image input; reported or catalogue-derived. Used by vision eligibility. |
streaming | Streaming declaration; missing provenance does not prove no support. |
tools | Tool-calling declaration; used by tool-operation eligibility. |
json_ | Request-format vocabulary; not seeded or consulted as an operation gate. |
audio | Chat audio modality declaration; current message carriers do not carry arbitrary audio content parts. |
image | Specialized image generation; separate from criteria-mode text calls. |
text_ | Specialized speech synthesis; separate service API. |
transcription | Specialized audio transcription; separate service API. |
decision | Native typed decisions; populated by the decision discoverers. |
Provenance distinguishes reported values, bundled catalogue knowledge, assumptions and operator confirmation. A checkbox alone is not a successful provider test. Operation enforcement follows the configured routing policy; see Managing models.
Reasoning profile
The OpenAI adapter decides per model whether it is a reasoning model (then
temperature and the other sampling parameters are not sent), which
reasoning_ values it accepts, and whether tool calls go through
Chat Completions or Responses. Each of the three is resolved on its own, in
this order (ADR-275):
- the operator field on the model record, when set;
- the bundled table, for an exact model name or a dated snapshot of it;
- the discovered profile stored on the record;
- the family default in code (for example every other
gpt-id is a reasoning model whose tools go through Responses), else a non-reasoning model.6
The tool route skips the discovered profile: no discovery source states it. The resolved profile applies to a request for the record's own model id only; a request that names another model id is sent by the table alone.
-
- Type
- string
- Default
- empty
yesorno. Empty defers to the table, the discovered profile and the family default. Also decides whether the configuration form offers a temperature for the model.
-
- Type
- string (CSV)
- Default
- empty
The
reasoning_values the model accepts. A requested effort outside the list is moved to the nearest one. Empty defers.effort
-
- Type
- string
- Default
- empty
chat_orcompletions responses. Responses is used only onapi., and a configuration'sopenai. com openai_option still wins.tools_ transport
The four discovered fields (reasoning_,
reasoning_, reasoning_,
reasoning_) are read-only. Confirm capabilities
writes them, never the operator fields, and only when the run stated
something; empty means "not measured", not "no". See
Reasoning models the extension does not know yet.
-
- Type
- decimal
- Default
- 0
Cost per 1M input tokens in cents, with up to two decimals — 0.042 USD is
4..2 0means unpriced: no cost is recorded.
-
- Type
- decimal
- Default
- 0
Cost per 1M output tokens in cents, with up to two decimals.
-
- Type
- boolean
- Default
- false
Mark as default model for this provider.