{
  "$schema": "https://modelparams.dev/api/v1/schema.json",
  "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
      }
    }
  ]
}
