{
  "$schema": "https://modelparams.dev/api/v1/schema.json",
  "generatedAt": "2026-10-19T10:07:55.351Z",
  "count": 497,
  "models": [
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v3.2",
      "status": "retired",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash",
      "status": "retired",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash-0731",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro-0813",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4.1-flash",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4.1-flash-1017",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.1",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.2",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.2-fast-preview",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3-prime",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.7-code",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k3",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "pre-mock_new_gateway_session_affinity",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qvq-max",
      "status": "retired",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-coder-plus",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-flash-character",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-max",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-plus",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-plus-character",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-plus-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-turbo",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-vl-max",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen-vl-plus",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-14b",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.6-flash",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-235b-a22b",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-235b-a22b-instruct-2507",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-235b-a22b-thinking-2507",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-30b-a3b",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.7-plus",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-30b-a3b-instruct-2507",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-30b-a3b-thinking-2507",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-8b",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.6-flash",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-coder-480b-a35b-instruct",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-coder-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-coder-next",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-coder-plus",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.7-plus",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-max",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-max-preview",
      "status": "deprecated",
      "replacement": "alibaba/qwen3-max",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-next-80b-a3b-instruct",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-next-80b-a3b-thinking",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-omni-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-omni-flash-2025-09-15",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-omni-flash-2025-12-01",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-235b-a22b-instruct",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-235b-a22b-thinking",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-flash",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.6-flash",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-flash-2026-01-22",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.6-flash",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-plus",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-plus-2025-09-23",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-vl-plus-2025-12-19",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-122b-a10b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-27b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-35b-a3b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-397b-a17b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-omni-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-omni-flash-2026-03-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-omni-plus",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-omni-plus-2026-03-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-plus",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-plus-2026-02-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.5-plus-2026-04-20",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        },
        {
          "path": "extra_body.chat_template_kwargs.enable_thinking",
          "label": "Enable thinking",
          "description": "Controls Qwen3 thinking mode when using OpenAI-compatible clients that pass provider-specific extra body fields.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-27b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-35b-a3b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-flash",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-max-preview",
      "status": "deprecated",
      "replacement": "alibaba/qwen3.7-max",
      "shutdownOn": "2026-10-10",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-plus",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.7-flash",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.7-max",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.7-max-preview",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.7-plus",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-2.4t-a95b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-27b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-flash",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-max",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-max-0902",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-omni-flash",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, including both reasoning and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens. Values above 100 disable top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 0
          }
        },
        {
          "path": "extra_body.enable_thinking",
          "label": "Enable thinking",
          "description": "Toggles the model's hybrid thinking mode, sent as a provider-specific extra body field on OpenAI-compatible clients.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "extra_body.thinking_budget",
          "label": "Thinking budget",
          "description": "Maximum number of tokens the model may spend on reasoning before it starts the final answer; defaults to the model's maximum reasoning length.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "extra_body.enable_thinking": true
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "alibaba",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwq-plus",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "extra_body.top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 20,
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-5-haiku-20241022",
      "status": "retired",
      "replacement": "anthropic/claude-haiku-4-5-20251001",
      "shutdownOn": "2026-02-19",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-5-haiku-latest",
      "status": "retired",
      "replacement": "anthropic/claude-haiku-4-5-20251001",
      "shutdownOn": "2026-02-19",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-5-sonnet-20241022",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2025-10-28",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-5-sonnet-latest",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-4-6",
      "shutdownOn": "2025-10-28",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-7-sonnet-20250219",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2026-02-19",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-7-sonnet-latest",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-4-6",
      "shutdownOn": "2026-02-19",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-opus-20240229",
      "status": "retired",
      "replacement": "anthropic/claude-opus-4-8",
      "shutdownOn": "2026-01-05",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-3-opus-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-fable-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Only adaptive thinking is supported; omit the parameter entirely to run without thinking (an explicit disabled value is rejected).",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-fable-5-1",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Only adaptive thinking is supported; omit the parameter entirely to run without thinking (an explicit disabled value is rejected).",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-fable-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Only adaptive thinking is supported; omit the parameter entirely to run without thinking (an explicit disabled value is rejected).",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4-5-20251001",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4-5-20251001",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-haiku-5-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-1-20250805",
      "status": "deprecated",
      "replacement": "anthropic/claude-opus-4-8",
      "shutdownOn": "2026-08-05",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-1-20250805",
      "status": "deprecated",
      "replacement": "anthropic/claude-opus-4-8",
      "shutdownOn": "2026-08-05",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-20250514",
      "status": "retired",
      "replacement": "anthropic/claude-opus-4-8",
      "shutdownOn": "2026-06-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-20250514",
      "status": "retired",
      "replacement": "anthropic/claude-opus-4-8",
      "shutdownOn": "2026-06-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-5-20251101",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-5-20251101",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled",
                "adaptive"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled",
                "adaptive"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-7",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-7",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-8",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4-8",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "output_config.effort": [
                "xhigh",
                "max"
              ]
            }
          },
          "type": "enum",
          "default": "adaptive",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-5-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "adaptive",
          "values": [
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-opus-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "output_config.effort": [
                "xhigh",
                "max"
              ]
            }
          },
          "type": "enum",
          "default": "adaptive",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "omitted",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-20250514",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2026-06-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-20250514",
      "status": "retired",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2026-06-15",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-5-20250929",
      "status": "deprecated",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2026-11-30",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-5-20250929",
      "status": "deprecated",
      "replacement": "anthropic/claude-sonnet-5-5",
      "shutdownOn": "2026-11-30",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled",
                "adaptive"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4-6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "top_p": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "enabled",
                  "adaptive"
                ]
              },
              {
                "temperature": {
                  "not": null
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled",
                "adaptive"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "applicability": {
            "except": [
              {
                "thinking.type": [
                  "adaptive",
                  "enabled"
                ]
              },
              {
                "temperature": {
                  "not": 1
                }
              }
            ]
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "adaptive",
                "enabled"
              ]
            }
          },
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive",
            "enabled"
          ]
        },
        {
          "path": "thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget Anthropic may use for extended thinking before producing the final answer.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "api_key",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-5-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "anthropic",
      "authType": "subscription",
      "apiSurface": "anthropic-messages",
      "model": "claude-sonnet-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls the Anthropic thinking mode values supported by this model.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "adaptive"
          ]
        },
        {
          "path": "thinking.display",
          "label": "Thinking display",
          "description": "Controls whether Anthropic returns summarized or omitted thinking content.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": [
                "adaptive"
              ]
            }
          },
          "type": "enum",
          "default": "summarized",
          "values": [
            "summarized",
            "omitted"
          ]
        },
        {
          "path": "output_config.effort",
          "label": "Effort",
          "description": "Controls Anthropic response thoroughness and token spend.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "claude-haiku-4-5",
      "wireId": "{scope}.anthropic.claude-haiku-4-5-20251001-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "claude-opus-4-5-20251101",
      "wireId": "{scope}.anthropic.claude-opus-4-5-20251101-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "claude-opus-4-6",
      "wireId": "{scope}.anthropic.claude-opus-4-6-v1",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "claude-sonnet-4-5",
      "wireId": "{scope}.anthropic.claude-sonnet-4-5-20250929-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "claude-sonnet-4-6",
      "wireId": "{scope}.anthropic.claude-sonnet-4-6",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "deepseek-r1",
      "wireId": "{scope}.deepseek.r1-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "deepseek-v3.2",
      "wireId": "deepseek.v3.2",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "devstral-2-123b",
      "wireId": "mistral.devstral-2-123b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gemma-3-12b-it",
      "wireId": "google.gemma-3-12b-it",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gemma-3-27b-it",
      "wireId": "google.gemma-3-27b-it",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gemma-3-4b-it",
      "wireId": "google.gemma-3-4b-it",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "glm-4.7",
      "wireId": "zai.glm-4.7",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "glm-4.7-flash",
      "wireId": "zai.glm-4.7-flash",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "glm-5",
      "wireId": "zai.glm-5",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gpt-oss-120b",
      "wireId": "openai.gpt-oss-120b-1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gpt-oss-20b",
      "wireId": "openai.gpt-oss-20b-1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gpt-oss-safeguard-120b",
      "wireId": "openai.gpt-oss-safeguard-120b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "gpt-oss-safeguard-20b",
      "wireId": "openai.gpt-oss-safeguard-20b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "kimi-k2-thinking",
      "wireId": "moonshot.kimi-k2-thinking",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "kimi-k2.5",
      "wireId": "moonshotai.kimi-k2.5",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "llama3-1-70b-instruct",
      "wireId": "{scope}.meta.llama3-1-70b-instruct-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "llama3-1-8b-instruct",
      "wireId": "{scope}.meta.llama3-1-8b-instruct-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "llama3-3-70b-instruct",
      "wireId": "{scope}.meta.llama3-3-70b-instruct-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "llama3-70b-instruct",
      "wireId": "meta.llama3-70b-instruct-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "llama3-8b-instruct",
      "wireId": "meta.llama3-8b-instruct-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "magistral-small-2509",
      "wireId": "mistral.magistral-small-2509",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "minimax-m2",
      "wireId": "minimax.minimax-m2",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "minimax-m2.1",
      "wireId": "minimax.minimax-m2.1",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "minimax-m2.5",
      "wireId": "minimax.minimax-m2.5",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "ministral-3-14b-instruct",
      "wireId": "mistral.ministral-3-14b-instruct",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "additionalModelRequestFields.thinking.type",
          "label": "Thinking mode",
          "description": "Controls Anthropic extended thinking on Bedrock. Bedrock rejects the adaptive mode the first-party Anthropic API accepts, so only disabled and enabled are listed here.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        },
        {
          "path": "additionalModelRequestFields.thinking.budget_tokens",
          "label": "Budget tokens",
          "description": "Maximum token budget the model may use for extended thinking before producing the final answer. Must be less than inferenceConfig.maxTokens.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "additionalModelRequestFields.thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1024
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "ministral-3-3b-instruct",
      "wireId": "mistral.ministral-3-3b-instruct",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "ministral-3-8b-instruct",
      "wireId": "mistral.ministral-3-8b-instruct",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "mistral-7b-instruct",
      "wireId": "mistral.mistral-7b-instruct-v0:2",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "mistral-large-2402",
      "wireId": "mistral.mistral-large-2402-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "mistral-large-3-675b-instruct",
      "wireId": "mistral.mistral-large-3-675b-instruct",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "mistral-small-2402",
      "wireId": "mistral.mistral-small-2402-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "mixtral-8x7b-instruct",
      "wireId": "mistral.mixtral-8x7b-instruct-v0:1",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Converse carries it through additionalModelRequestFields; it is not part of inferenceConfig.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nemotron-nano-12b",
      "wireId": "nvidia.nemotron-nano-12b-v2",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nemotron-nano-3-30b",
      "wireId": "nvidia.nemotron-nano-3-30b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nemotron-nano-9b",
      "wireId": "nvidia.nemotron-nano-9b-v2",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nemotron-super-3-120b",
      "wireId": "nvidia.nemotron-super-3-120b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nova-2-lite",
      "wireId": "{scope}.amazon.nova-2-lite-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.inferenceConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Nova nests it under an inferenceConfig object inside additionalModelRequestFields.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nova-lite",
      "wireId": "amazon.nova-lite-v1:0",
      "status": "active",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.inferenceConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Nova nests it under an inferenceConfig object inside additionalModelRequestFields.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nova-micro",
      "wireId": "amazon.nova-micro-v1:0",
      "status": "active",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.inferenceConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Nova nests it under an inferenceConfig object inside additionalModelRequestFields.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "nova-pro",
      "wireId": "amazon.nova-pro-v1:0",
      "status": "active",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "additionalModelRequestFields.inferenceConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens. Nova nests it under an inferenceConfig object inside additionalModelRequestFields.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "palmyra-vision-7b",
      "wireId": "writer.palmyra-vision-7b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "palmyra-x4",
      "wireId": "{scope}.writer.palmyra-x4-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "palmyra-x5",
      "wireId": "{scope}.writer.palmyra-x5-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "pixtral-large-2502",
      "wireId": "{scope}.mistral.pixtral-large-2502-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "qwen3-32b",
      "wireId": "qwen.qwen3-32b-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "qwen3-coder-30b-a3b",
      "wireId": "qwen.qwen3-coder-30b-a3b-v1:0",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "qwen3-coder-next",
      "wireId": "qwen.qwen3-coder-next",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "qwen3-next-80b-a3b",
      "wireId": "qwen.qwen3-next-80b-a3b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "qwen3-vl-235b-a22b",
      "wireId": "qwen.qwen3-vl-235b-a22b",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "voxtral-mini-3b-2507",
      "wireId": "mistral.voxtral-mini-3b-2507",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "bedrock",
      "authType": "api_key",
      "apiSurface": "amazon-bedrock-converse",
      "model": "voxtral-small-24b-2507",
      "wireId": "mistral.voxtral-small-24b-2507",
      "params": [
        {
          "path": "inferenceConfig.maxTokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "inferenceConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Bedrock rejects values above 1 for this model.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "inferenceConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "inferenceConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "cerebras",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "zai-glm-4.7",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate, including reasoning tokens.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Adjust this or top_p, not both.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Cerebras accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model performs before answering. 'none' disables reasoning.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "none",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "clear_thinking",
          "label": "Clear thinking",
          "description": "When true, the model's thinking from previous turns is excluded from the conversation context; when false, it is preserved, which is useful for agentic workflows.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-a-03-2025",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-a-plus-05-2026",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-a-reasoning-08-2025",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether the model reasons step by step before producing its final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "thinking.token_budget",
          "label": "Thinking token budget",
          "description": "Maximum number of tokens the model may spend on reasoning before answering.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-a-translate-08-2025",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-a-vision-07-2025",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-r-08-2024",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT",
            "OFF"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-r-plus-08-2024",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT",
            "OFF"
          ]
        }
      ]
    },
    {
      "provider": "cohere",
      "authType": "api_key",
      "apiSurface": "cohere-chat",
      "model": "command-r7b-12-2024",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop_sequences",
          "label": "Stop sequences",
          "description": "Stops generation when one of these sequences is detected; up to five are allowed.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "step": 0.1
          }
        },
        {
          "path": "p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.75,
          "range": {
            "min": 0.01,
            "max": 0.99,
            "step": 0.01
          }
        },
        {
          "path": "k",
          "label": "Top K",
          "description": "Limits sampling to the K most likely tokens; 0 disables top-k sampling.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 500
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens proportional to how often they have already appeared to reduce repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON object output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Forces the model to either call a tool or skip tool calls for this request.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "REQUIRED",
            "NONE"
          ]
        },
        {
          "path": "safety_mode",
          "label": "Safety mode",
          "description": "Controls Cohere's built-in safety instructions applied to the generation.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "CONTEXTUAL",
          "values": [
            "CONTEXTUAL",
            "STRICT"
          ]
        }
      ]
    },
    {
      "provider": "deepseek",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-chat",
      "status": "retired",
      "replacement": "deepseek/deepseek-v4-flash",
      "shutdownOn": "2026-07-24",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether DeepSeek uses thinking mode before producing the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "disabled",
          "values": [
            "disabled",
            "enabled"
          ]
        }
      ]
    },
    {
      "provider": "deepseek",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-reasoner",
      "status": "retired",
      "replacement": "deepseek/deepseek-v4-flash",
      "shutdownOn": "2026-07-24",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether DeepSeek uses thinking mode before producing the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls DeepSeek thinking effort when thinking mode is enabled.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "enum",
          "default": "high",
          "values": [
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "deepseek",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether DeepSeek uses thinking mode before producing the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls DeepSeek thinking effort when thinking mode is enabled. For compatibility, low, medium, and xhigh are also accepted, but low and medium are mapped to high, and xhigh is mapped to max.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "enum",
          "default": "high",
          "values": [
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "deepseek",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling. In DeepSeek thinking mode this parameter is accepted for compatibility but has no effect.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": [
                "enabled"
              ]
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether DeepSeek uses thinking mode before producing the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls DeepSeek thinking effort when thinking mode is enabled.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "enum",
          "default": "high",
          "values": [
            "high",
            "max"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash-0731",
      "wireId": "accounts/fireworks/models/deepseek-v4-flash-0731",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash-vision-exp",
      "wireId": "accounts/fireworks/models/deepseek-v4-flash-vision-exp",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro",
      "wireId": "accounts/fireworks/models/deepseek-v4-pro",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro-0813",
      "wireId": "accounts/fireworks/models/deepseek-v4-pro-0813",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4p1-flash",
      "wireId": "accounts/fireworks/models/deepseek-v4p1-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4p1-flash-1017",
      "wireId": "accounts/fireworks/models/deepseek-v4p1-flash-1017",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ember-1",
      "wireId": "accounts/fireworks/models/ember-1",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5p2",
      "wireId": "accounts/fireworks/models/glm-5p2",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5p3",
      "wireId": "accounts/fireworks/models/glm-5p3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5p3-flash",
      "wireId": "accounts/fireworks/models/glm-5p3-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-120b",
      "wireId": "accounts/fireworks/models/gpt-oss-120b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-20b",
      "wireId": "accounts/fireworks/models/gpt-oss-20b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "inkling",
      "wireId": "accounts/fireworks/models/inkling",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2p6",
      "wireId": "accounts/fireworks/models/kimi-k2p6",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2p7-code",
      "wireId": "accounts/fireworks/models/kimi-k2p7-code",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k3",
      "wireId": "accounts/fireworks/models/kimi-k3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "minimax-m2p7",
      "wireId": "accounts/fireworks/models/minimax-m2p7",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "minimax-m3",
      "wireId": "accounts/fireworks/models/minimax-m3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "muse-glimmer-30b",
      "wireId": "accounts/fireworks/models/muse-glimmer-30b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "muse-spark-open",
      "wireId": "accounts/fireworks/models/muse-spark-open",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-ultra-nvfp4",
      "wireId": "accounts/fireworks/models/nemotron-3-ultra-nvfp4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-lightning-3p5-30b-a3b",
      "wireId": "accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3p7-plus",
      "wireId": "accounts/fireworks/models/qwen3p7-plus",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3p8-2p4t-a95b",
      "wireId": "accounts/fireworks/models/qwen3p8-2p4t-a95b",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "fireworks",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3p8-max",
      "wireId": "accounts/fireworks/models/qwen3p8-max",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 100
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-flash",
      "status": "active",
      "replacement": "google/gemini-3.6-flash",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; 0 disables thinking and -1 uses dynamic thinking.",
          "group": "reasoning",
          "type": "integer",
          "default": -1,
          "range": {
            "min": -1,
            "max": 24576
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-flash-lite",
      "status": "active",
      "replacement": "google/gemini-3.1-flash-lite",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-flash-lite",
      "status": "active",
      "replacement": "google/gemini-3.1-flash-lite",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-flash",
      "status": "active",
      "replacement": "google/gemini-3.6-flash",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; 0 disables thinking and -1 uses dynamic thinking.",
          "group": "reasoning",
          "type": "integer",
          "default": -1,
          "range": {
            "min": -1,
            "max": 24576
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-pro",
      "status": "active",
      "replacement": "google/gemini-3.1-pro-preview",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Maximum number of thinking tokens Gemini should use before producing the final answer.",
          "group": "reasoning",
          "type": "integer",
          "range": {
            "min": 128,
            "max": 32768
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-2.5-pro",
      "status": "active",
      "replacement": "google/gemini-3.1-pro-preview",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Maximum number of thinking tokens Gemini should use before producing the final answer.",
          "group": "reasoning",
          "type": "integer",
          "range": {
            "min": 128,
            "max": 32768
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3-flash-preview",
      "status": "active",
      "replacement": "google/gemini-3.6-flash",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-3-flash-preview",
      "status": "active",
      "replacement": "google/gemini-3.6-flash",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3 Flash reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-flash-lite",
      "status": "active",
      "replacement": "google/gemini-3.5-flash-lite",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-flash-lite-preview",
      "status": "retired",
      "replacement": "google/gemini-3.1-flash-lite",
      "shutdownOn": "2026-05-25",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-flash-lite-preview",
      "status": "retired",
      "replacement": "google/gemini-3.1-flash-lite",
      "shutdownOn": "2026-05-25",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-flash-lite",
      "status": "active",
      "replacement": "google/gemini-3.5-flash-lite",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-pro-preview",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-pro-preview-customtools",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "subscription",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.1-pro-preview",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3 Pro reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.5-flash",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.5 Flash reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.5-flash-lite",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.5 Flash reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.6-flash",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.7-flash",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-3.8-flash",
      "status": "retired",
      "replacement": "google/gemini-3.1-flash-lite",
      "shutdownOn": "2026-05-25",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-4-argon",
      "status": "active",
      "replacement": "google/gemini-3.1-flash-lite",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemini-flash-latest",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3-12b-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 128K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3-1b-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 32K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3-27b-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 128K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3-4b-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 128K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3n-E2B-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 32K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-3n-E4B-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate; output shares the 32K context window with the input.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-4-12B-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Google's standardized Gemma 4 sampling uses 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-4-26b-a4b-it",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Toggles Gemma 4 reasoning; high enables thinking and minimal disables it.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "minimal",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-4-31b-it",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Number of thinking tokens Gemini should use; -1 uses dynamic thinking, 0 disables thinking, and fixed budgets start at 512 tokens.",
          "group": "reasoning",
          "type": "integer",
          "default": 0
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Toggles Gemma 4 reasoning; high enables thinking and minimal disables it.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "minimal",
            "high"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-4-E2B-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Google's standardized Gemma 4 sampling uses 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "google",
      "authType": "api_key",
      "apiSurface": "google-generate-content",
      "model": "gemma-4-E4B-it",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Google's standardized Gemma 4 sampling uses 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 0
          }
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "allam-2-7b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.",
          "group": "reasoning",
          "type": "enum",
          "default": "default",
          "values": [
            "none",
            "default"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-120b",
      "wireId": "openai/gpt-oss-120b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-20b",
      "wireId": "openai/gpt-oss-20b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-safeguard-20b",
      "wireId": "openai/gpt-oss-safeguard-20b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.",
          "group": "reasoning",
          "type": "enum",
          "default": "default",
          "values": [
            "none",
            "default"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3-32b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.",
          "group": "reasoning",
          "type": "enum",
          "default": "default",
          "values": [
            "none",
            "default"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "raw",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.6-27b",
      "wireId": "qwen/qwen3.6-27b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.",
          "group": "reasoning",
          "type": "enum",
          "default": "default",
          "values": [
            "none",
            "default"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "raw",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "groq",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-27b",
      "wireId": "qwen/qwen3.8-27b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Seed used for best-effort deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. Groq accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.",
          "group": "reasoning",
          "type": "enum",
          "default": "default",
          "values": [
            "none",
            "default"
          ]
        },
        {
          "path": "reasoning_format",
          "label": "Reasoning format",
          "description": "Controls how reasoning tokens are returned — hidden from the response, raw within the content, or parsed into a separate field.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "hidden",
            "raw",
            "parsed"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "Llama-3.3-70B-Instruct",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "repetition_penalty",
          "label": "Repetition penalty",
          "description": "Penalizes tokens that have already appeared to reduce repetition in the output.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "Llama-3.3-8B-Instruct",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "repetition_penalty",
          "label": "Repetition penalty",
          "description": "Penalizes tokens that have already appeared to reduce repetition in the output.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "Llama-4-Maverick-17B-128E-Instruct-FP8",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "repetition_penalty",
          "label": "Repetition penalty",
          "description": "Penalizes tokens that have already appeared to reduce repetition in the output.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "Llama-4-Scout-17B-16E-Instruct-FP8",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits generation to the selected number of highest-probability tokens.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "repetition_penalty",
          "label": "Repetition penalty",
          "description": "Penalizes tokens that have already appeared to reduce repetition in the output.",
          "group": "sampling",
          "type": "number"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "muse-spark-1.1",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness; use this or Top P, but not both.",
          "group": "sampling",
          "applicability": {
            "except": {
              "top_p": {
                "not": 1
              }
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling; use this or Temperature, but not both.",
          "group": "sampling",
          "applicability": {
            "except": {
              "temperature": {
                "not": 1
              }
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have appeared, reducing repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Random seed",
          "description": "Requests best-effort deterministic sampling for repeated requests.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON, or schema-constrained JSON.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "prompt_cache_retention",
          "label": "Prompt cache retention",
          "description": "Controls whether the prompt cache stays in memory or persists for up to 24 hours.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "in_memory",
            "24h"
          ]
        }
      ]
    },
    {
      "provider": "meta",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "muse-spark-1.2-contributor",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness; use this or Top P, but not both.",
          "group": "sampling",
          "applicability": {
            "except": {
              "top_p": {
                "not": 1
              }
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling; use this or Temperature, but not both.",
          "group": "sampling",
          "applicability": {
            "except": {
              "temperature": {
                "not": 1
              }
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have appeared, reducing repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "seed",
          "label": "Random seed",
          "description": "Requests best-effort deterministic sampling for repeated requests.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON, or schema-constrained JSON.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "prompt_cache_retention",
          "label": "Prompt cache retention",
          "description": "Controls whether the prompt cache stays in memory or persists for up to 24 hours.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "in_memory",
            "24h"
          ]
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.1",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.1-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.1-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.1",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.5-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.5-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.7",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.7-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.7-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M2.7",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M3",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_split",
          "label": "Split reasoning",
          "description": "Returns the model's reasoning in a separate reasoning_details field instead of inline with the response.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "minimax",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "MiniMax-M3",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Values must be greater than 0 and at most 1.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "codestral-2508",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "codestral-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "devstral-2512",
      "status": "retired",
      "replacement": "mistral/mistral-medium-3-5-26-04",
      "shutdownOn": "2026-07-31",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "devstral-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5-2",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "magistral-medium-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "magistral-small-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-14b-2512",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-14b-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-3b-2512",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-3b-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-8b-2512",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "ministral-8b-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-code-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-large-2512",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-large-4",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.1,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-large-4-0",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.1,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-large-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-medium",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-medium-2604",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-medium-3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-medium-3.5",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-medium-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-small-2603",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-small-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "open-mistral-nemo",
      "status": "deprecated",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this string is detected.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or JSON mode output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "voxtral-small-2507",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "voxtral-small-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "zai-glm-5",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "zai-glm-5-2",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "zai-glm-5-3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "mistral",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "zai-glm-latest",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.5,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "random_seed",
          "label": "Random seed",
          "description": "Seed used for deterministic sampling when reproducible outputs are desired.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes repeated words or phrases to encourage a wider variety of generated content.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes words based on how often they already appear in the generated text.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "prompt_mode",
          "label": "Prompt mode",
          "description": "Enables Mistral's reasoning system prompt; leave unset to disable the default reasoning behavior.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "reasoning"
          ]
        },
        {
          "path": "safe_prompt",
          "label": "Safe prompt",
          "description": "Controls whether Mistral injects its safety prompt before the conversation.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.5",
      "status": "deprecated",
      "replacement": "moonshot/kimi-k2.6",
      "shutdownOn": "2026-08-31",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether Kimi reasons step by step before answering. Thinking is enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide and none blocks tool calls. Moonshot rejects required while thinking is enabled, which is the default on this model.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.6",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether Kimi reasons step by step before answering. Thinking is enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "thinking.keep",
          "label": "Keep prior reasoning",
          "description": "Set to all to carry reasoning content from earlier assistant turns into the request; leave null to send only the final answers.",
          "group": "reasoning",
          "type": "enum",
          "default": null,
          "values": [
            "all",
            null
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide and none blocks tool calls. Moonshot rejects required while thinking is enabled, which is the default on this model.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.6",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether Kimi reasons step by step before answering. Thinking is enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "thinking.keep",
          "label": "Keep prior reasoning",
          "description": "Set to all to carry reasoning content from earlier assistant turns into the request; leave null to send only the final answers.",
          "group": "reasoning",
          "type": "enum",
          "default": null,
          "values": [
            "all",
            null
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.7-code",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion, including reasoning tokens.",
          "group": "generation_length",
          "type": "integer",
          "default": 32768,
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text, a JSON object, or JSON matching a provided schema.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide and none blocks tool calls. Moonshot rejects required while thinking is enabled, which is the default on this model.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.7-code-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion, including reasoning tokens.",
          "group": "generation_length",
          "type": "integer",
          "default": 32768,
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text, a JSON object, or JSON matching a provided schema.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide and none blocks tool calls. Moonshot rejects required while thinking is enabled, which is the default on this model.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.7-code-highspeed",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion, covering both thinking and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k2.7-code",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion, covering both thinking and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Thinking is always on for this model. Enabled is the only accepted value; disabled returns an error.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k3",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether Kimi reasons step by step before answering, or responds directly when set to disabled.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Kimi performs before answering. Thinking is always on for this model, so it cannot be turned off.",
          "group": "reasoning",
          "type": "enum",
          "default": "max",
          "values": [
            "low",
            "high",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text, a JSON object, or JSON matching a provided schema.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "moonshot-v1-128k",
      "status": "deprecated",
      "replacement": "moonshot/kimi-k2.6",
      "shutdownOn": "2026-08-31",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "n",
          "label": "Number of completions",
          "description": "How many chat completion choices to generate for the request.",
          "group": "generation_length",
          "type": "integer",
          "default": 1,
          "range": {
            "min": 1,
            "max": 5
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none",
            "required"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "moonshot-v1-32k",
      "status": "deprecated",
      "replacement": "moonshot/kimi-k2.6",
      "shutdownOn": "2026-08-31",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "n",
          "label": "Number of completions",
          "description": "How many chat completion choices to generate for the request.",
          "group": "generation_length",
          "type": "integer",
          "default": 1,
          "range": {
            "min": 1,
            "max": 5
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none",
            "required"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "moonshot",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "moonshot-v1-8k",
      "status": "deprecated",
      "replacement": "moonshot/kimi-k2.6",
      "shutdownOn": "2026-08-31",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. Moonshot accepts up to 5 sequences of at most 32 bytes each.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.3,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "n",
          "label": "Number of completions",
          "description": "How many chat completion choices to generate for the request.",
          "group": "generation_length",
          "type": "integer",
          "default": 1,
          "range": {
            "min": 1,
            "max": 5
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens by how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls tool calling: auto lets the model decide, none blocks tool calls, and required forces one.",
          "group": "tooling",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "none",
            "required"
          ]
        },
        {
          "path": "logprobs",
          "label": "Log probabilities",
          "description": "Controls whether the response includes log probabilities for the generated tokens.",
          "group": "observability",
          "type": "boolean",
          "default": false
        },
        {
          "path": "top_logprobs",
          "label": "Top log probabilities",
          "description": "Number of most likely tokens to return a log probability for at each position.",
          "group": "observability",
          "applicability": {
            "only": {
              "logprobs": true
            }
          },
          "type": "integer",
          "range": {
            "min": 0,
            "max": 20
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash-0731",
      "wireId": "deepseek-ai/deepseek-v4-flash-0731",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-pro-0813",
      "wireId": "deepseek-ai/deepseek-v4-pro-0813",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "diffusiongemma-26b-a4b-it",
      "wireId": "google/diffusiongemma-26b-a4b-it",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gemma-4-31b-it",
      "wireId": "google/gemma-4-31b-it",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gliner-pii",
      "params": [
        {
          "path": "threshold",
          "label": "Threshold",
          "description": "Confidence threshold for entity detection. Lower values detect more entities but may include false positives.",
          "group": "sampling",
          "type": "number",
          "default": 0.5,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "chunk_length",
          "label": "Chunk length",
          "description": "Context window size for processing. Longer texts are automatically split into chunks with overlap for complete coverage. Must be greater than overlap.",
          "group": "provider_metadata",
          "type": "integer",
          "default": 384,
          "range": {
            "min": 1,
            "max": 2048
          }
        },
        {
          "path": "overlap",
          "label": "Overlap",
          "description": "Token overlap between chunks to prevent entity clipping. Must be less than chunk_length.",
          "group": "provider_metadata",
          "type": "integer",
          "default": 128,
          "range": {
            "min": 0,
            "max": 512
          }
        },
        {
          "path": "flat_ner",
          "label": "Flat NER",
          "description": "When true, prevents overlapping entity spans. When false, may return nested entities such as both a full name and its constituent first name.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3-flash",
      "wireId": "z-ai/glm-5.3-flash",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-120b",
      "wireId": "openai/gpt-oss-120b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-20b",
      "wireId": "openai/gpt-oss-20b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "kimi-k3",
      "wireId": "moonshotai/kimi-k3",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "laguna-xs-2.1",
      "wireId": "poolside/laguna-xs-2.1",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.1-nemoguard-8b-topic-control",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.5,
          "range": {
            "min": 0,
            "max": 2
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 1024,
          "range": {
            "min": 1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.1-nemotron-nano-8b-v1",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.1-nemotron-safety-guard-8b-v3",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.1-nemotron-ultra-253b-v1",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.2-11b-vision-instruct",
      "wireId": "meta/llama-3.2-11b-vision-instruct",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.2-90b-vision-instruct",
      "wireId": "meta/llama-3.2-90b-vision-instruct",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.3-nemotron-super-49b-v1",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "llama-3.3-nemotron-super-49b-v1.5",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "minimax-m3",
      "wireId": "minimaxai/minimax-m3",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mistral-nemotron",
      "wireId": "mistralai/mistral-nemotron",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "muse-glimmer-30b",
      "wireId": "meta/muse-glimmer-30b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Changing the seed produces a different response with similar characteristics. Fix the seed to reproduce results.",
          "group": "sampling",
          "type": "integer",
          "default": 0,
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemoguard-jailbreak-detect",
      "params": []
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-nano-30b-a3b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Repeated requests with the same seed and parameters should return the same result.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-nano-omni-30b-a3b-reasoning",
      "wireId": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-super-120b-a12b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls the reasoning mode. 'none' disables reasoning tokens, 'low' enables low-effort reasoning, and 'high' enables full reasoning.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "low",
            "high"
          ]
        },
        {
          "path": "reasoning_budget",
          "label": "Reasoning budget",
          "description": "Maximum number of tokens the model may use for internal reasoning before being forced to end the reasoning trace. Use -1 to disable budget enforcement.",
          "group": "reasoning",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": -1,
            "max": 32768
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Repeated requests with the same seed and parameters should return the same result.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-ultra-550b-a55b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls the reasoning mode. 'none' disables reasoning tokens, 'medium' enables efficient reasoning, and 'high' enables full reasoning.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "medium",
            "high"
          ]
        },
        {
          "path": "reasoning_budget",
          "label": "Reasoning budget",
          "description": "Maximum number of tokens the model may use for internal reasoning before being forced to end the reasoning trace. Use -1 to disable budget enforcement.",
          "group": "reasoning",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": -1,
            "max": 32768
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Repeated requests with the same seed and parameters should return the same result.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3-ultra",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls the reasoning mode. 'none' disables reasoning tokens, 'medium' enables efficient reasoning, and 'high' enables full reasoning.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "medium",
            "high"
          ]
        },
        {
          "path": "reasoning_budget",
          "label": "Reasoning budget",
          "description": "Maximum number of tokens the model may use for internal reasoning before being forced to end the reasoning trace. Use -1 to disable budget enforcement.",
          "group": "reasoning",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": -1,
            "max": 32768
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3.5-lightning-30b-a3b",
      "wireId": "nvidia/nemotron-3.5-lightning-30b-a3b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls the reasoning mode. 'none' disables reasoning tokens, 'low' enables low-effort reasoning, and 'high' enables full reasoning.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "low",
            "high"
          ]
        },
        {
          "path": "reasoning_budget",
          "label": "Reasoning budget",
          "description": "Maximum number of tokens the model may use for internal reasoning before being forced to end the reasoning trace. Use -1 to disable budget enforcement.",
          "group": "reasoning",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": -1,
            "max": 32768
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-3.5-super-vl-120b-a12b",
      "wireId": "nvidia/nemotron-3.5-super-vl-120b-a12b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls the reasoning mode. 'none' disables reasoning tokens, 'low' enables low-effort reasoning, and 'high' enables full reasoning.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "low",
            "high"
          ]
        },
        {
          "path": "reasoning_budget",
          "label": "Reasoning budget",
          "description": "Maximum number of tokens the model may use for internal reasoning before being forced to end the reasoning trace. Use -1 to disable budget enforcement.",
          "group": "reasoning",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": -1,
            "max": 32768
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-content-safety-reasoning-4b",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 16384,
          "range": {
            "min": 1,
            "max": 32768
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Best-effort deterministic sampling seed. Repeated requests with the same seed and parameters should return the same result.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 0,
            "max": 18446744073709552000
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "nemotron-mini-4b-instruct",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.2,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.7,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 1024,
          "range": {
            "min": 1,
            "max": 4096
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "riva-translate-4b-instruct-v1.1",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.9,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 512,
          "range": {
            "min": 1,
            "max": 4096
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "stop",
          "label": "Stop",
          "description": "A string or list of strings where the API will stop generating further tokens. The returned text will not contain the stop sequence.",
          "group": "generation_length",
          "type": "string"
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "step-5-preview",
      "wireId": "stepfun-ai/step-5-preview",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1,
            "max": 16384
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2
          }
        }
      ]
    },
    {
      "provider": "nvidia",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "usdcode-llama-3.1-70b-instruct",
      "params": [
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 0.1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. Not recommended to modify both temperature and top_p in the same call.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "max": 1
          }
        },
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate. Generation stops when this limit is reached.",
          "group": "generation_length",
          "type": "integer",
          "default": 1024,
          "range": {
            "min": 1,
            "max": 2048
          }
        },
        {
          "path": "expert_type",
          "label": "Expert type",
          "description": "The type of expert to use. 'knowledge' answers with USD knowledge, 'code' responds with vanilla OpenUSD code, 'helperfunction' uses high-level helper functions, and 'auto' lets the LLM determine which expert to use.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "code",
            "knowledge",
            "helperfunction"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "chatgpt-4o-latest",
      "status": "retired",
      "replacement": "openai/gpt-5.1-chat-latest",
      "shutdownOn": "2026-02-17",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-3.5-turbo",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-terra",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-3.5-turbo-0125",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-3.5-turbo-1106",
      "status": "deprecated",
      "replacement": "openai/gpt-5.4-mini",
      "shutdownOn": "2026-09-28",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-3.5-turbo-16k",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4-0613",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4-turbo",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4-turbo-2024-04-09",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4.1",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4.1-mini",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4.1-nano",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-luna",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4o",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4o-2024-11-20",
      "status": "deprecated",
      "replacement": "openai/gpt-6-luna",
      "shutdownOn": "2027-01-14",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-4o-mini",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens whose cumulative probability reaches this value.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-12-11",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5-chat-latest",
      "status": "retired",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-07-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5-mini",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-terra",
      "shutdownOn": "2026-12-11",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5-nano",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-luna",
      "shutdownOn": "2026-12-11",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.1",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "none",
          "values": [
            "none",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.1-codex-max",
      "status": "retired",
      "replacement": "openai/gpt-5.3-codex",
      "shutdownOn": "2026-07-23",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.1-codex",
      "status": "retired",
      "replacement": "openai/gpt-5.3-codex",
      "shutdownOn": "2026-07-23",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.2",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.2-codex",
      "status": "retired",
      "replacement": "openai/gpt-5.3-codex",
      "shutdownOn": "2026-07-23",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.2-pro",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.2",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.3-codex",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.3-codex-spark",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.3-codex",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.4",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.4-mini",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.4-mini",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.4-nano",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.4-pro",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.4-pro",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.4",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.5-pro",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.5-pro",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed",
            "none"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.5",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "concise",
            "detailed",
            "auto"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.6",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "none",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.6-luna",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "none",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.6-luna",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.6-sol",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "none",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.6-sol",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-5.6-terra",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "none",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "gpt-5.6-terra",
      "status": "active",
      "params": [
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "none",
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        },
        {
          "path": "reasoning.summary",
          "label": "Reasoning summary",
          "description": "Controls the level of reasoning summary returned with the response.",
          "group": "reasoning",
          "type": "enum",
          "default": "auto",
          "values": [
            "auto",
            "concise",
            "detailed"
          ]
        },
        {
          "path": "text.verbosity",
          "label": "Verbosity",
          "description": "Controls how concise or detailed the model's final text response should be.",
          "group": "output_format",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-6-astra",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-6-luna",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-6-sol",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-6.1-sol",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-120b",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-20b",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns normal text or a schema-constrained JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_schema"
          ]
        },
        {
          "path": "tool_choice",
          "label": "Tool choice",
          "description": "Controls whether the model may call tools, must call one, or skips tool calls.",
          "group": "tooling",
          "type": "enum",
          "values": [
            "auto",
            "none",
            "required"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-safeguard-120b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model performs when interpreting the provided safety policy before returning a classification.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "gpt-oss-safeguard-20b",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability. OpenAI recommends sampling at 1.0.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model performs when interpreting the provided safety policy before returning a classification.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o1",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o1-mini",
      "status": "retired",
      "replacement": "openai/o4-mini",
      "shutdownOn": "2025-10-27",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o1-preview",
      "status": "retired",
      "replacement": "openai/o3",
      "shutdownOn": "2025-07-28",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o3",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-12-11",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o3-mini",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o3-pro",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-sol",
      "shutdownOn": "2026-12-11",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "openai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "o4-mini",
      "status": "deprecated",
      "replacement": "openai/gpt-5.6-terra",
      "shutdownOn": "2026-10-23",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "default": 4096,
          "range": {
            "min": 16
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning the model should perform before producing an answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "medium",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "claude-haiku-5-5",
      "wireId": "opencode-go/claude-haiku-5-5",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-flash",
      "wireId": "opencode-go/deepseek-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "deepseek-v4-flash-vision-exp",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-responses",
      "model": "grok-4.6",
      "params": [
        {
          "path": "max_output_tokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to generate in the response, including any hidden reasoning tokens.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 16
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "hy3",
      "wireId": "opencode-go/hy3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "hy4-preview",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "longcat-2.0",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "longcat-2.5-preview-free",
      "wireId": "opencode-go/longcat-2.5-preview-free",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "mimo-v2.6-flash",
      "wireId": "opencode-go/mimo-v2.6-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "mimo-v2.6-pro",
      "wireId": "opencode-go/mimo-v2.6-pro",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "minimax-m2.7",
      "wireId": "opencode-go/minimax-m2.7",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "omen-alpha",
      "wireId": "opencode-go/omen-alpha",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "qwen3.8-max",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "space-bunny-free",
      "wireId": "opencode-go/space-bunny-free",
      "status": "retired",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "opencode-go",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "space-bunny",
      "wireId": "opencode-go/space-bunny",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1.9,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "top_k",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared to encourage a wider variety of content.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Choose plain text or force valid JSON output.",
          "group": "output_format",
          "type": "enum",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "perplexity",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "sonar",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 128000
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "search_mode",
          "label": "Search mode",
          "description": "Selects the corpus the model searches when grounding its answer.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "web",
            "academic",
            "sec"
          ]
        },
        {
          "path": "search_recency_filter",
          "label": "Search recency filter",
          "description": "Restricts web search results to a recent time window.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "hour",
            "day",
            "week",
            "month",
            "year"
          ]
        },
        {
          "path": "search_domain_filter",
          "label": "Search domain filter",
          "description": "Limits search to, or excludes, specific domains.",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_after_date_filter",
          "label": "Search after date",
          "description": "Restricts search results to content published after this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_before_date_filter",
          "label": "Search before date",
          "description": "Restricts search results to content published before this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "web_search_options.search_context_size",
          "label": "Search context size",
          "description": "Controls how much web search context is retrieved before generating the answer.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "return_images",
          "label": "Return images",
          "description": "Controls whether the response may include related images from the search.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "return_related_questions",
          "label": "Return related questions",
          "description": "Controls whether the response includes suggested follow-up questions.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "disable_search",
          "label": "Disable search",
          "description": "Turns off web search so the model answers from its own knowledge only.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "perplexity",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "sonar-deep-research",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 128000
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning and searching the model performs before producing the report.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "search_mode",
          "label": "Search mode",
          "description": "Selects the corpus the model searches when grounding its answer.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "web",
            "academic",
            "sec"
          ]
        },
        {
          "path": "search_recency_filter",
          "label": "Search recency filter",
          "description": "Restricts web search results to a recent time window.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "hour",
            "day",
            "week",
            "month",
            "year"
          ]
        },
        {
          "path": "search_domain_filter",
          "label": "Search domain filter",
          "description": "Limits search to, or excludes, specific domains.",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_after_date_filter",
          "label": "Search after date",
          "description": "Restricts search results to content published after this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_before_date_filter",
          "label": "Search before date",
          "description": "Restricts search results to content published before this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "web_search_options.search_context_size",
          "label": "Search context size",
          "description": "Controls how much web search context is retrieved before generating the answer.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "return_images",
          "label": "Return images",
          "description": "Controls whether the response may include related images from the search.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "return_related_questions",
          "label": "Return related questions",
          "description": "Controls whether the response includes suggested follow-up questions.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "perplexity",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "sonar-pro",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 128000
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "search_mode",
          "label": "Search mode",
          "description": "Selects the corpus the model searches when grounding its answer.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "web",
            "academic",
            "sec"
          ]
        },
        {
          "path": "search_recency_filter",
          "label": "Search recency filter",
          "description": "Restricts web search results to a recent time window.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "hour",
            "day",
            "week",
            "month",
            "year"
          ]
        },
        {
          "path": "search_domain_filter",
          "label": "Search domain filter",
          "description": "Limits search to, or excludes, specific domains.",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_after_date_filter",
          "label": "Search after date",
          "description": "Restricts search results to content published after this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_before_date_filter",
          "label": "Search before date",
          "description": "Restricts search results to content published before this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "web_search_options.search_context_size",
          "label": "Search context size",
          "description": "Controls how much web search context is retrieved before generating the answer.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "return_images",
          "label": "Return images",
          "description": "Controls whether the response may include related images from the search.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "return_related_questions",
          "label": "Return related questions",
          "description": "Controls whether the response includes suggested follow-up questions.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "disable_search",
          "label": "Disable search",
          "description": "Turns off web search so the model answers from its own knowledge only.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "perplexity",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "sonar-reasoning-pro",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 128000
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "search_mode",
          "label": "Search mode",
          "description": "Selects the corpus the model searches when grounding its answer.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "web",
            "academic",
            "sec"
          ]
        },
        {
          "path": "search_recency_filter",
          "label": "Search recency filter",
          "description": "Restricts web search results to a recent time window.",
          "group": "provider_metadata",
          "type": "enum",
          "values": [
            "hour",
            "day",
            "week",
            "month",
            "year"
          ]
        },
        {
          "path": "search_domain_filter",
          "label": "Search domain filter",
          "description": "Limits search to, or excludes, specific domains.",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_after_date_filter",
          "label": "Search after date",
          "description": "Restricts search results to content published after this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "search_before_date_filter",
          "label": "Search before date",
          "description": "Restricts search results to content published before this date (MM/DD/YYYY).",
          "group": "provider_metadata",
          "type": "string"
        },
        {
          "path": "web_search_options.search_context_size",
          "label": "Search context size",
          "description": "Controls how much web search context is retrieved before generating the answer.",
          "group": "provider_metadata",
          "type": "enum",
          "default": "low",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "return_images",
          "label": "Return images",
          "description": "Controls whether the response may include related images from the search.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "return_related_questions",
          "label": "Return related questions",
          "description": "Controls whether the response includes suggested follow-up questions.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        },
        {
          "path": "disable_search",
          "label": "Disable search",
          "description": "Turns off web search so the model answers from its own knowledge only.",
          "group": "provider_metadata",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "thinking-machines",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "Inkling",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of output tokens the model may generate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1
          }
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much thinking Inkling performs before answering. Accepts a preset name or a number between 0.0 and 0.99; presets map to numeric effort levels (none=0.0, minimal=0.1, low=0.2, medium=0.7, high=0.9, xhigh=0.99).",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "none",
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "separate_reasoning",
          "label": "Separate reasoning",
          "description": "Returns the model's reasoning in a dedicated reasoning_content field instead of interleaving it with the final message content.",
          "group": "reasoning",
          "type": "boolean",
          "default": true
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-2.5-flash",
      "status": "deprecated",
      "replacement": "vertex/gemini-3.5-flash-lite",
      "shutdownOn": "2026-10-20",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-2.5-flash-lite",
      "status": "deprecated",
      "replacement": "vertex/gemini-3.1-flash-lite",
      "shutdownOn": "2026-10-20",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-2.5-pro",
      "status": "deprecated",
      "replacement": "vertex/gemini-3.5-flash",
      "shutdownOn": "2026-10-20",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3-flash-preview",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.1-flash-lite",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.1-pro-preview",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.1-pro-preview-customtools",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.5-flash",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.presencePenalty",
          "label": "Presence penalty",
          "description": "Penalises tokens that already appeared, pushing the model toward new topics.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.frequencyPenalty",
          "label": "Frequency penalty",
          "description": "Penalises tokens in proportion to how often they have already appeared.",
          "group": "sampling",
          "type": "number",
          "range": {
            "min": -2,
            "max": 1
          }
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.5 Flash reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.5-flash-lite",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.5 Flash reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "medium",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.6-flash",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "vertex",
      "authType": "api_key",
      "apiSurface": "google-vertex-generate-content",
      "model": "gemini-3.7-flash",
      "status": "active",
      "params": [
        {
          "path": "generationConfig.maxOutputTokens",
          "label": "Max output tokens",
          "description": "Maximum number of tokens to include in a response candidate.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 65536
          }
        },
        {
          "path": "generationConfig.temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "generationConfig.topP",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "generationConfig.topK",
          "label": "Top K",
          "description": "Limits token sampling to the top K most likely next tokens.",
          "group": "sampling",
          "type": "integer",
          "default": 64,
          "range": {
            "min": 1
          }
        },
        {
          "path": "generationConfig.seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "generationConfig.candidateCount",
          "label": "Candidate count",
          "description": "How many independent completions to generate for one request.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1,
            "max": 8
          }
        },
        {
          "path": "generationConfig.stopSequences",
          "label": "Stop sequences",
          "description": "A list of strings where the model stops generating further tokens.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "generationConfig.responseMimeType",
          "label": "Response MIME type",
          "description": "MIME type for generated text candidates.",
          "group": "output_format",
          "type": "enum",
          "default": "text/plain",
          "values": [
            "text/plain",
            "application/json"
          ]
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingBudget",
          "label": "Thinking budget",
          "description": "Token budget the model may spend on internal reasoning before answering. 0 disables thinking. Cannot be combined with thinkingLevel.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingLevel": {
                "not": null
              }
            }
          },
          "type": "integer",
          "range": {
            "min": 0
          }
        },
        {
          "path": "generationConfig.thinkingConfig.includeThoughts",
          "label": "Include thoughts",
          "description": "Controls whether Gemini returns available thought summaries in the response parts.",
          "group": "reasoning",
          "type": "boolean",
          "default": false
        },
        {
          "path": "generationConfig.thinkingConfig.thinkingLevel",
          "label": "Thinking level",
          "description": "Controls Gemini 3.1 Flash-Lite reasoning effort.",
          "group": "reasoning",
          "applicability": {
            "except": {
              "generationConfig.thinkingConfig.thinkingBudget": {
                "not": null
              }
            }
          },
          "type": "enum",
          "default": "minimal",
          "values": [
            "minimal",
            "low",
            "medium",
            "high"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.20-0309-non-reasoning",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. xAI accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.20-0309-non-reasoning",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. xAI accepts up to four stop sequences.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.20-0309-reasoning",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.20-0309-reasoning",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-responses",
      "model": "grok-4.20-multi-agent-0309",
      "status": "active",
      "params": [
        {
          "path": "max_output_tokens",
          "label": "Max output tokens",
          "description": "Upper bound for output tokens generated in the Responses API response.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 0.7,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "reasoning.effort",
          "label": "Reasoning effort",
          "description": "Controls whether the Responses API request uses the 4-agent or 16-agent multi-agent setup.",
          "group": "reasoning",
          "type": "enum",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "text.format.type",
          "label": "Text format",
          "description": "Controls whether the Responses API returns free-form text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.3",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Set to none for non-reasoning requests.",
          "group": "reasoning",
          "type": "enum",
          "default": "low",
          "values": [
            "none",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.3",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Set to none for non-reasoning requests.",
          "group": "reasoning",
          "type": "enum",
          "default": "low",
          "values": [
            "none",
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Defaults to high. Reasoning cannot be disabled.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Defaults to high. Reasoning cannot be disabled.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.6",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. xAI accepts up to four stop sequences. grok-4.6 rejects stop because reasoning cannot be disabled.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Defaults to high. Reasoning cannot be disabled. xhigh is grok-4.6 and later.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.6",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Defaults to high. Reasoning cannot be disabled. xhigh is grok-4.6 and later.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-4.7",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "stop",
          "label": "Stop sequence",
          "description": "Stops generation when this sequence is produced. xAI accepts up to four stop sequences. grok-4.6 rejects stop because reasoning cannot be disabled.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning Grok performs before responding. Defaults to high. Reasoning cannot be disabled. xhigh is grok-4.6 and later.",
          "group": "reasoning",
          "type": "enum",
          "default": "high",
          "values": [
            "low",
            "medium",
            "high",
            "xhigh"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "grok-build-0.1",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "grok-build-0.1",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max completion tokens",
          "description": "Upper bound for visible output tokens generated in the chat completion.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "seed",
          "label": "Seed",
          "description": "Optional seed used for decoding when reproducible sampling is desired.",
          "group": "sampling",
          "type": "integer"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Controls whether the model returns text, JSON mode output, or structured JSON schema output.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object",
            "json_schema"
          ]
        }
      ]
    },
    {
      "provider": "xiaomi",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mimo-v2.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, covering both the thinking trace and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether MiMo reasons step by step before answering. Enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values are more focused; higher values are more varied. Ignored while thinking is enabled, where it is forced to 1.0.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Nucleus sampling cutoff. Ignored while thinking is enabled, where it is forced to 0.95.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "xiaomi",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "mimo-v2.5-pro",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, covering both the thinking trace and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether MiMo reasons step by step before answering. Enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values are more focused; higher values are more varied. Ignored while thinking is enabled, where it is forced to 1.0.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Nucleus sampling cutoff. Ignored while thinking is enabled, where it is forced to 0.95.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "presence_penalty",
          "label": "Presence penalty",
          "description": "Penalizes tokens that have already appeared, encouraging the model to introduce new topics.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "frequency_penalty",
          "label": "Frequency penalty",
          "description": "Penalizes tokens in proportion to how often they have appeared, reducing verbatim repetition.",
          "group": "sampling",
          "type": "number",
          "default": 0,
          "range": {
            "min": -2,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "stop",
          "label": "Stop sequences",
          "description": "Up to a few sequences where generation stops; the stop text is not included in the output.",
          "group": "generation_length",
          "type": "string"
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "xiaomi",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "mimo-v2.5",
      "status": "active",
      "params": [
        {
          "path": "max_completion_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate, covering both the thinking trace and the final answer.",
          "group": "generation_length",
          "type": "integer",
          "range": {
            "min": 1
          }
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Controls whether MiMo reasons step by step before answering. Enabled by default; set disabled to respond directly.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values are more focused; higher values are more varied. Ignored while thinking is enabled, where it is forced to 1.0.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 2,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Nucleus sampling cutoff. Ignored while thinking is enabled, where it is forced to 0.95.",
          "group": "sampling",
          "applicability": {
            "except": {
              "thinking.type": "enabled"
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5-air",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5-air",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5-airx",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5-flash",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.5-x",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 98304
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.6,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.6",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.7",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.7-flash",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.7-flashx",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-4.7",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5-turbo",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5-turbo",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.1",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.1",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.2",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning effort GLM-5.2 spends when thinking is enabled.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "enum",
          "default": "max",
          "values": [
            "none",
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "subscription",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.2",
      "status": "active",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "Toggles the model's extended reasoning before it produces the final answer.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled",
            "disabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning effort GLM-5.2 spends when thinking is enabled.",
          "group": "reasoning",
          "applicability": {
            "only": {
              "thinking.type": "enabled"
            }
          },
          "type": "enum",
          "default": "max",
          "values": [
            "none",
            "minimal",
            "low",
            "medium",
            "high",
            "xhigh",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "GLM-5.3 always engages in extended reasoning; thinking cannot be disabled.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning effort GLM-5.3 spends on its always-on thinking.",
          "group": "reasoning",
          "type": "enum",
          "default": "max",
          "values": [
            "low",
            "high",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3-flash",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "GLM-5.3 always engages in extended reasoning; thinking cannot be disabled.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning effort GLM-5.3 spends on its always-on thinking.",
          "group": "reasoning",
          "type": "enum",
          "default": "max",
          "values": [
            "low",
            "high",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    },
    {
      "provider": "z-ai",
      "authType": "api_key",
      "apiSurface": "openai-chat-completions",
      "model": "glm-5.3-flashx",
      "params": [
        {
          "path": "max_tokens",
          "label": "Max tokens",
          "description": "Maximum number of tokens to generate in the response.",
          "group": "generation_length",
          "type": "integer",
          "default": 65536,
          "range": {
            "min": 1,
            "max": 131072
          }
        },
        {
          "path": "temperature",
          "label": "Temperature",
          "description": "Controls randomness. Lower values make outputs more focused; higher values make them more varied.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 1,
          "range": {
            "min": 0,
            "max": 1,
            "step": 0.1
          }
        },
        {
          "path": "top_p",
          "label": "Top P",
          "description": "Controls nucleus sampling by limiting generation to tokens within the selected cumulative probability.",
          "group": "sampling",
          "applicability": {
            "except": {
              "do_sample": false
            }
          },
          "type": "number",
          "default": 0.95,
          "range": {
            "min": 0.01,
            "max": 1,
            "step": 0.01
          }
        },
        {
          "path": "do_sample",
          "label": "Do sample",
          "description": "When false, the model uses greedy decoding and ignores temperature and top_p.",
          "group": "sampling",
          "type": "boolean",
          "default": true
        },
        {
          "path": "thinking.type",
          "label": "Thinking mode",
          "description": "GLM-5.3 always engages in extended reasoning; thinking cannot be disabled.",
          "group": "reasoning",
          "type": "enum",
          "default": "enabled",
          "values": [
            "enabled"
          ]
        },
        {
          "path": "reasoning_effort",
          "label": "Reasoning effort",
          "description": "Controls how much reasoning effort GLM-5.3 spends on its always-on thinking.",
          "group": "reasoning",
          "type": "enum",
          "default": "max",
          "values": [
            "low",
            "high",
            "max"
          ]
        },
        {
          "path": "response_format.type",
          "label": "Response format",
          "description": "Forces the response into plain text or a JSON object.",
          "group": "output_format",
          "type": "enum",
          "default": "text",
          "values": [
            "text",
            "json_object"
          ]
        }
      ]
    }
  ]
}
