> ## Documentation Index
> Fetch the complete documentation index at: https://platform.kimi.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Model Parameter Reference

export const DocTable = ({columns = [], rows = []}) => {
  return <div className="doc-table-wrap">
      <table className="doc-table">
        {columns.length > 0 ? <colgroup>
            {columns.map((column, index) => <col key={index} style={column.width ? {
    width: column.width
  } : undefined} />)}
          </colgroup> : null}
        <thead>
          <tr>
            {columns.map((column, index) => <th key={index}>{column.title}</th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, rowIndex) => <tr key={rowIndex}>
              {row.map((cell, cellIndex) => <td key={cellIndex}>{cell}</td>)}
            </tr>)}
        </tbody>
      </table>
    </div>;
};

Different model families have different defaults and constraints for Chat Completions API parameters. For the full model list, see the [Model List](/models).

## Parameter Comparison

<DocTable
  columns={[
{ title: "Parameter", width: "25%" },
{ title: "kimi-k2.7-code series", width: "25%" },
{ title: "kimi-k2.6", width: "25%" },
{ title: "moonshot-v1 series", width: "25%" },
]}
  rows={[
[<code>temperature</code>, <strong>Cannot be modified</strong>, <strong>Cannot be modified</strong>, "0.0"],
[<code>top_p</code>, <>0.95 <strong>Cannot be modified</strong></>, <>0.95 <strong>Cannot be modified</strong></>, "1.0"],
[<code>n</code>, <>1 <strong>Cannot be modified</strong></>, <>1 <strong>Cannot be modified</strong></>, "1 (max 5)"],
[<code>presence_penalty</code>, <>0 <strong>Cannot be modified</strong></>, <>0 <strong>Cannot be modified</strong></>, "0 (modifiable)"],
[<code>frequency_penalty</code>, <>0 <strong>Cannot be modified</strong></>, <>0 <strong>Cannot be modified</strong></>, "0 (modifiable)"],
[<code>thinking</code>, "Always on (cannot be disabled)", "Supported", "—"],
]}
/>

<Note>
  When `temperature` is close to 0, `n` can only be 1. Otherwise, the API returns `invalid_request_error`.
</Note>

## Kimi K2.7 Code series — thinking Parameter

The `kimi-k2.7-code` series includes `kimi-k2.7-code` and its high-speed variant `kimi-k2.7-code-highspeed`; the two are the same model with identical parameter constraints (including the table above and the `thinking` behavior) and differ only in output speed (referred to collectively as `kimi-k2.7-code` below).

`kimi-k2.7-code` is code-focused, and all parameter constraints except `thinking` are identical to `kimi-k2.6`. Unlike `kimi-k2.6`, its **thinking is always on and cannot be disabled** (passing `{"type": "disabled"}` errors), and **Preserved Thinking is always on** (`thinking.keep` is treated as `"all"` whether omitted or set to `"all"`; any other invalid value errors). So you do not need to pass the `thinking` parameter — just switch the `model`, and the model always emits `reasoning_content`. For details, see [Using Thinking Models](/guide/use-kimi-k2-thinking-model).

## Kimi K2.6 — thinking Parameter

Kimi K2.6 supports the `thinking` parameter to control whether deep thinking is enabled. Accepts `{"type": "enabled"}` or `{"type": "disabled"}`.

Since the OpenAI SDK doesn't have a native `thinking` parameter, use `extra_body`:

<CodeGroup>
  ```python Python theme={null}
  completion = client.chat.completions.create(
      model="kimi-k2.6",
      messages=[
          {"role": "user", "content": "Hello"}
      ],
      extra_body={
          "thinking": {"type": "disabled"}
      },
      max_tokens=1024*32,
  )
  ```

  ```bash cURL theme={null}
  curl https://api.moonshot.ai/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $MOONSHOT_API_KEY" \
    -d '{
      "model": "kimi-k2.6",
      "messages": [
        {"role": "user", "content": "Hello"}
      ],
      "thinking": {"type": "disabled"}
    }'
  ```
</CodeGroup>
