From 941791d2f55e0b62ebeb2d48e6e17e363184de2a Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Fri, 22 May 2026 16:33:49 +0200 Subject: [PATCH 1/3] Add xAI model parameter coverage --- models/xai/grok-4.20-0309-non-reasoning.yaml | 58 ++++++++++++++++++ models/xai/grok-4.20-0309-reasoning.yaml | 53 ++++++++++++++++ models/xai/grok-4.3.yaml | 64 ++++++++++++++++++++ models/xai/grok-build-0.1.yaml | 53 ++++++++++++++++ src/data/display.ts | 1 + tests/catalog.test.ts | 1 + 6 files changed, 230 insertions(+) create mode 100644 models/xai/grok-4.20-0309-non-reasoning.yaml create mode 100644 models/xai/grok-4.20-0309-reasoning.yaml create mode 100644 models/xai/grok-4.3.yaml create mode 100644 models/xai/grok-build-0.1.yaml diff --git a/models/xai/grok-4.20-0309-non-reasoning.yaml b/models/xai/grok-4.20-0309-non-reasoning.yaml new file mode 100644 index 0000000..9e387fc --- /dev/null +++ b/models/xai/grok-4.20-0309-non-reasoning.yaml @@ -0,0 +1,58 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: xai +authType: api_key +model: grok-4.20-0309-non-reasoning +params: + - path: max_completion_tokens + type: integer + label: Max completion tokens + description: Upper bound for visible output tokens generated in the chat completion. + range: + min: 1 + group: generation_length + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. + default: 1 + range: + min: 0 + max: 2 + step: 0.1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. + default: 1 + range: + min: 0 + max: 1 + step: 0.01 + group: sampling + - path: seed + type: integer + label: Seed + description: Optional seed used for decoding when reproducible sampling is desired. + group: sampling + - path: stop + type: string + label: Stop sequence + description: Stops generation when this sequence is produced. xAI accepts up to four stop sequences. + group: generation_length + - path: response_format.type + type: enum + label: Response format + description: Controls whether the model returns text, JSON mode output, or structured JSON schema output. + default: text + values: + - text + - json_object + - json_schema + group: output_format + - path: parallel_tool_calls + type: boolean + label: Parallel tool calls + description: Controls whether the model may perform more than one tool call in a response. + default: true + group: tooling diff --git a/models/xai/grok-4.20-0309-reasoning.yaml b/models/xai/grok-4.20-0309-reasoning.yaml new file mode 100644 index 0000000..9f307eb --- /dev/null +++ b/models/xai/grok-4.20-0309-reasoning.yaml @@ -0,0 +1,53 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: xai +authType: api_key +model: grok-4.20-0309-reasoning +params: + - path: max_completion_tokens + type: integer + label: Max completion tokens + description: Upper bound for visible output tokens generated in the chat completion. + range: + min: 1 + group: generation_length + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. + default: 1 + range: + min: 0 + max: 2 + step: 0.1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. + default: 1 + range: + min: 0 + max: 1 + step: 0.01 + group: sampling + - path: seed + type: integer + label: Seed + description: Optional seed used for decoding when reproducible sampling is desired. + group: sampling + - path: response_format.type + type: enum + label: Response format + description: Controls whether the model returns text, JSON mode output, or structured JSON schema output. + default: text + values: + - text + - json_object + - json_schema + group: output_format + - path: parallel_tool_calls + type: boolean + label: Parallel tool calls + description: Controls whether the model may perform more than one tool call in a response. + default: true + group: tooling diff --git a/models/xai/grok-4.3.yaml b/models/xai/grok-4.3.yaml new file mode 100644 index 0000000..96e7621 --- /dev/null +++ b/models/xai/grok-4.3.yaml @@ -0,0 +1,64 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: xai +authType: api_key +model: grok-4.3 +params: + - path: max_completion_tokens + type: integer + label: Max completion tokens + description: Upper bound for visible output tokens generated in the chat completion. + range: + min: 1 + group: generation_length + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. + default: 1 + range: + min: 0 + max: 2 + step: 0.1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. + default: 1 + range: + min: 0 + max: 1 + step: 0.01 + group: sampling + - path: seed + type: integer + label: Seed + description: Optional seed used for decoding when reproducible sampling is desired. + group: sampling + - path: reasoning_effort + type: enum + label: Reasoning effort + description: Controls how much reasoning Grok performs before responding. Set to none for non-reasoning requests. + default: low + values: + - none + - low + - medium + - high + group: reasoning + - path: response_format.type + type: enum + label: Response format + description: Controls whether the model returns text, JSON mode output, or structured JSON schema output. + default: text + values: + - text + - json_object + - json_schema + group: output_format + - path: parallel_tool_calls + type: boolean + label: Parallel tool calls + description: Controls whether the model may perform more than one tool call in a response. + default: true + group: tooling diff --git a/models/xai/grok-build-0.1.yaml b/models/xai/grok-build-0.1.yaml new file mode 100644 index 0000000..b8dd598 --- /dev/null +++ b/models/xai/grok-build-0.1.yaml @@ -0,0 +1,53 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: xai +authType: api_key +model: grok-build-0.1 +params: + - path: max_completion_tokens + type: integer + label: Max completion tokens + description: Upper bound for visible output tokens generated in the chat completion. + range: + min: 1 + group: generation_length + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. + default: 1 + range: + min: 0 + max: 2 + step: 0.1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. + default: 1 + range: + min: 0 + max: 1 + step: 0.01 + group: sampling + - path: seed + type: integer + label: Seed + description: Optional seed used for decoding when reproducible sampling is desired. + group: sampling + - path: response_format.type + type: enum + label: Response format + description: Controls whether the model returns text, JSON mode output, or structured JSON schema output. + default: text + values: + - text + - json_object + - json_schema + group: output_format + - path: parallel_tool_calls + type: boolean + label: Parallel tool calls + description: Controls whether the model may perform more than one tool call in a response. + default: true + group: tooling diff --git a/src/data/display.ts b/src/data/display.ts index e4e2b2c..65ffbd0 100644 --- a/src/data/display.ts +++ b/src/data/display.ts @@ -5,6 +5,7 @@ const PROVIDER_LABELS: Record = { openai: "OpenAI", google: "Google", "x-ai": "xAI", + xai: "xAI", meta: "Meta", mistral: "Mistral", deepseek: "DeepSeek", diff --git a/tests/catalog.test.ts b/tests/catalog.test.ts index 2a31be7..29b9474 100644 --- a/tests/catalog.test.ts +++ b/tests/catalog.test.ts @@ -74,6 +74,7 @@ describe("display helpers", () => { it("knows the canonical provider names", () => { expect(providerLabel("anthropic")).toBe("Anthropic"); expect(providerLabel("openai")).toBe("OpenAI"); + expect(providerLabel("xai")).toBe("xAI"); }); it("uses overrides for known model display names", () => { From fad54a2978ef17020272b9045841a1df4c3532a1 Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Sun, 24 May 2026 09:46:41 +0200 Subject: [PATCH 2/3] Add xAI multi-agent response parameters --- models/xai/grok-4.20-multi-agent-0309.yaml | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 models/xai/grok-4.20-multi-agent-0309.yaml diff --git a/models/xai/grok-4.20-multi-agent-0309.yaml b/models/xai/grok-4.20-multi-agent-0309.yaml new file mode 100644 index 0000000..d7b1322 --- /dev/null +++ b/models/xai/grok-4.20-multi-agent-0309.yaml @@ -0,0 +1,52 @@ +# yaml-language-server: $schema=https://modelparams.dev/api/v1/schema.json +provider: xai +authType: api_key +model: grok-4.20-multi-agent-0309 +params: + - path: max_output_tokens + type: integer + label: Max output tokens + description: Upper bound for output tokens generated in the Responses API response. + range: + min: 1 + group: generation_length + - path: temperature + type: number + label: Temperature + description: Controls randomness. Lower values make outputs more focused; higher values make them more varied. + default: 0.7 + range: + min: 0 + max: 2 + step: 0.1 + group: sampling + - path: top_p + type: number + label: Top P + description: Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. + default: 0.95 + range: + min: 0 + max: 1 + step: 0.01 + group: sampling + - path: reasoning.effort + type: enum + label: Reasoning effort + description: Controls whether the Responses API request uses the 4-agent or 16-agent multi-agent setup. + values: + - low + - medium + - high + - xhigh + group: reasoning + - path: text.format.type + type: enum + label: Text format + description: Controls whether the Responses API returns free-form text, JSON mode output, or structured JSON schema output. + default: text + values: + - text + - json_object + - json_schema + group: output_format From a3b34009cf08de7929496d99f2bfe113dbe4a305 Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Sun, 24 May 2026 09:48:09 +0200 Subject: [PATCH 3/3] Remove xAI tooling capability params --- models/xai/grok-4.20-0309-non-reasoning.yaml | 6 ------ models/xai/grok-4.20-0309-reasoning.yaml | 6 ------ models/xai/grok-4.3.yaml | 6 ------ models/xai/grok-build-0.1.yaml | 6 ------ 4 files changed, 24 deletions(-) diff --git a/models/xai/grok-4.20-0309-non-reasoning.yaml b/models/xai/grok-4.20-0309-non-reasoning.yaml index 9e387fc..ea8fc59 100644 --- a/models/xai/grok-4.20-0309-non-reasoning.yaml +++ b/models/xai/grok-4.20-0309-non-reasoning.yaml @@ -50,9 +50,3 @@ params: - json_object - json_schema group: output_format - - path: parallel_tool_calls - type: boolean - label: Parallel tool calls - description: Controls whether the model may perform more than one tool call in a response. - default: true - group: tooling diff --git a/models/xai/grok-4.20-0309-reasoning.yaml b/models/xai/grok-4.20-0309-reasoning.yaml index 9f307eb..d086c8a 100644 --- a/models/xai/grok-4.20-0309-reasoning.yaml +++ b/models/xai/grok-4.20-0309-reasoning.yaml @@ -45,9 +45,3 @@ params: - json_object - json_schema group: output_format - - path: parallel_tool_calls - type: boolean - label: Parallel tool calls - description: Controls whether the model may perform more than one tool call in a response. - default: true - group: tooling diff --git a/models/xai/grok-4.3.yaml b/models/xai/grok-4.3.yaml index 96e7621..b2296f2 100644 --- a/models/xai/grok-4.3.yaml +++ b/models/xai/grok-4.3.yaml @@ -56,9 +56,3 @@ params: - json_object - json_schema group: output_format - - path: parallel_tool_calls - type: boolean - label: Parallel tool calls - description: Controls whether the model may perform more than one tool call in a response. - default: true - group: tooling diff --git a/models/xai/grok-build-0.1.yaml b/models/xai/grok-build-0.1.yaml index b8dd598..13a85e8 100644 --- a/models/xai/grok-build-0.1.yaml +++ b/models/xai/grok-build-0.1.yaml @@ -45,9 +45,3 @@ params: - json_object - json_schema group: output_format - - path: parallel_tool_calls - type: boolean - label: Parallel tool calls - description: Controls whether the model may perform more than one tool call in a response. - default: true - group: tooling