Model fields 

Models represent specific LLM models available through a provider.

Model list showing capabilities and pricing

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_uid select 0 yes Provider record that owns this model.
model_id user unset in TCA yes Provider model ID or Azure deployment name.
context_length number 0 no Context-window size; zero means unknown.
max_output_tokens 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_timeout number 120 no Model request timeout in seconds.
capabilities select "chat" no Declared capability vocabulary; see the table below.
capabilities_discovered input unset in TCA no Last discovered capability set; provenance metadata.
capabilities_confirmed_at number unset in TCA no Operator confirmation timestamp; provenance metadata.
capabilities_source input unset in TCA no Discovery source; does not prove the operation succeeded.
reasoning_override select "" no Operator: reasoning model yes/no; empty defers (ADR-275).
reasoning_efforts_override select "" no Operator: accepted reasoning efforts; empty defers.
tool_route_override select "" no Operator: tool calls via Chat Completions or Responses.
reasoning_discovered input "" no Discovered reasoning flag; empty means not measured.
reasoning_efforts_discovered input "" no Discovered effort scale; only from the provider's own list.
reasoning_source input "" no discovery or third_party_catalog.
reasoning_confirmed_at number 0 no When the discovered reasoning profile was recorded.
cost_input number 0 no Input price in cents per million tokens; zero is unpriced.
cost_output number 0 no Output price in cents per million tokens; zero is unpriced.
is_active check 1 no Whether the record is eligible for runtime use.
is_default check 0 no Installation default configuration, or default model within its provider.

Required 

identifier (model)
Type
string
Required

true

Unique slug (e.g., gpt-5, claude-sonnet).

name (model)
Type
string
Required

true

Display name (e.g., GPT-5 (128K)).

provider
Type
reference
Required

true

Reference to the parent provider.

model_id
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 

context_length
Type
integer
Default
0 (unknown)

Maximum context window in tokens.

max_output_tokens
Type
integer
Default
0 (unknown)

Maximum output tokens. Acts as the default output cap for requests whose configuration sets max_tokens to 0 and whose caller sent no per-call max_tokens option.

dimensions
Type
integer
Default
0 (unknown)

Embedding vector dimensionality. Acts as the default vector size for embedding requests whose options left dimensions unset.

capabilities
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_mode 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_to_speech 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_effort 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):

  1. the operator field on the model record, when set;
  2. the bundled table, for an exact model name or a dated snapshot of it;
  3. the discovered profile stored on the record;
  4. the family default in code (for example every other gpt-6 id is a reasoning model whose tools go through Responses), else a non-reasoning model.

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.

reasoning_override
Type
string
Default
empty

yes or no. Empty defers to the table, the discovered profile and the family default. Also decides whether the configuration form offers a temperature for the model.

reasoning_efforts_override
Type
string (CSV)
Default
empty

The reasoning_effort values the model accepts. A requested effort outside the list is moved to the nearest one. Empty defers.

tool_route_override
Type
string
Default
empty

chat_completions or responses. Responses is used only on api.openai.com, and a configuration's openai_tools_transport option still wins.

The four discovered fields (reasoning_discovered, reasoning_efforts_discovered, reasoning_source, reasoning_confirmed_at) 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.

cost_input
Type
decimal
Default
0

Cost per 1M input tokens in cents, with up to two decimals — 0.042 USD is 4.2. 0 means unpriced: no cost is recorded.

cost_output
Type
decimal
Default
0

Cost per 1M output tokens in cents, with up to two decimals.

is_default
Type
boolean
Default
false

Mark as default model for this provider.