{
  "$schema": "https://modelparams.dev/api/v1/schema.json",
  "provider": "cohere",
  "authType": "api_key",
  "model": "command-a-reasoning-08-2025",
  "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"
      ]
    }
  ]
}
