inference-providers

Kimi K2.7 Code

by moonshot · family kimi

Facts

Release date2026-06-12
Retired date
Knowledge cutoff
Context (max)262,144
Max output
Modalitiestext, image, video → text
Aliaseskimi-k2.7-code
Open weightsno
DescriptionCurrent coding model (~180 tok/s); text/image/video input; thinking.type accepts only enabled. Release date per third-party reporting.

Unknown values are shown as —.

Intelligence Index v4.1.1: 43 · base · Source: Artificial Analysis (accessed 2026-08-20)

Offerings

ProviderWire IDVariantEndpointProtocolStatusPrice (USD / Mtok)Reasoning
Alibaba Token Plankimi-k2.7-codecompatible-modeopenai-chatgatoggle · default on · returns reasoning_content · round-trips reasoning_content
IO Intelligence (io.net)moonshotai/Kimi-K2.7-Codechatopenai-chatga1.01 / 4.51effort · default on · mandatory · returns reasoning_content
Kimi for Codingkimi-for-coding-highspeedhighspeedcoding-openaiopenai-chatgatoggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Kimi for Codingkimi-for-codingcoding-openaiopenai-chatgatoggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Moonshot Kimikimi-k2.7-codeanthropicanthropic-messagesga0.95 / 4.00toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Moonshot Kimikimi-k2.7-code-highspeedhighspeedchat-completionsopenai-chatga1.90 / 8.00toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Moonshot Kimikimi-k2.7-codechat-completionsopenai-chatga0.95 / 4.00toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Ollama Cloudkimi-k2.7-codev1-chat-completionsopenai-chatgaeffort · default on · returns hidden
OpenCode Gokimi-k2.7-codego-chat-completionsopenai-chatgatoggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
OpenCode Zenkimi-k2.7-codechat-completionsopenai-chatga0.95 / 4.00toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content
OpenRoutermoonshotai/kimi-k2.7-codechat-completionsopenai-chatga0.71 / 3.50effort · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Reasoning controls

Alibaba Token Plan· kimi-k2.7-code· compatible-mode toggle

enable_thinking on true · off false

toggle · default on · returns reasoning_content · round-trips reasoning_content

IO Intelligence (io.net)· moonshotai/Kimi-K2.7-Code· chat effort

reasoning.effort lowmediumhigh● Default not documented — verify.

effort · default on · mandatory · returns reasoning_content

Kimi for Coding· kimi-for-coding-highspeed· coding-openai toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Kimi for Coding· kimi-for-coding· coding-openai toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Moonshot Kimi· kimi-k2.7-code· anthropic toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Moonshot Kimi· kimi-k2.7-code-highspeed· chat-completions toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Incompatible with: temperature, top_p, n, presence_penalty, frequency_penalty

Moonshot Kimi· kimi-k2.7-code· chat-completions toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Incompatible with: temperature, top_p, n, presence_penalty, frequency_penalty

Ollama Cloud· kimi-k2.7-code· v1-chat-completions effort

reasoning_effort nonelowmediumhigh●max Default level not documented; verify.

effort · default on · returns hidden

OpenCode Go· kimi-k2.7-code· go-chat-completions toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Incompatible with: temperature, top_p, n, presence_penalty, frequency_penalty

OpenCode Zen· kimi-k2.7-code· chat-completions toggle

thinking.type on enabled · off

toggle · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Incompatible with: temperature, top_p, n, presence_penalty, frequency_penalty

OpenRouter· moonshotai/kimi-k2.7-code· chat-completions effort

reasoning.effort lowmedium●highxhighmax

effort · default on · mandatory · returns reasoning_content · round-trips reasoning_content

Example requests

Alibaba Token Plan · openai-chat · kimi-k2.7-code

curl 'https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "enable_thinking": true
}'
Python (requests)
import requests

resp = requests.post(
    "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "enable_thinking": true
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "enable_thinking": true
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).

IO Intelligence (io.net) · openai-chat · moonshotai/Kimi-K2.7-Code

curl 'https://api.intelligence.io.solutions/api/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "moonshotai/Kimi-K2.7-Code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "reasoning": {
    "effort": "high"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.intelligence.io.solutions/api/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "moonshotai/Kimi-K2.7-Code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "reasoning": {
        "effort": "high"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.intelligence.io.solutions/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "moonshotai/Kimi-K2.7-Code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "reasoning": {
      "effort": "high"
    }
  }),
})
console.log(await resp.json())

Kimi for Coding · openai-chat · kimi-for-coding-highspeed

curl 'https://api.kimi.com/coding/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-for-coding-highspeed",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.kimi.com/coding/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-for-coding-highspeed",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.kimi.com/coding/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-for-coding-highspeed",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).

Kimi for Coding · openai-chat · kimi-for-coding

curl 'https://api.kimi.com/coding/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-for-coding",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.kimi.com/coding/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-for-coding",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.kimi.com/coding/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-for-coding",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).

Moonshot Kimi · anthropic-messages · kimi-k2.7-code

curl 'https://api.moonshot.ai/anthropic' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.moonshot.ai/anthropic",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "max_tokens": 1024,
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.moonshot.ai/anthropic", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).

Moonshot Kimi · openai-chat · kimi-k2.7-code-highspeed

curl 'https://api.moonshot.ai/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code-highspeed",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.moonshot.ai/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code-highspeed",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.moonshot.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code-highspeed",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
  • Reported incompatible with thinking controls: temperature, top_p, n, presence_penalty, frequency_penalty.

Moonshot Kimi · openai-chat · kimi-k2.7-code

curl 'https://api.moonshot.ai/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://api.moonshot.ai/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://api.moonshot.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
  • Reported incompatible with thinking controls: temperature, top_p, n, presence_penalty, frequency_penalty.

Ollama Cloud · openai-chat · kimi-k2.7-code

curl 'https://ollama.com/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "reasoning_effort": "high"
}'
Python (requests)
import requests

resp = requests.post(
    "https://ollama.com/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "reasoning_effort": "high"
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://ollama.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "reasoning_effort": "high"
  }),
})
console.log(await resp.json())

OpenCode Go · openai-chat · kimi-k2.7-code

curl 'https://opencode.ai/zen/go/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://opencode.ai/zen/go/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/go/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
  • Reported incompatible with thinking controls: temperature, top_p, n, presence_penalty, frequency_penalty.

OpenCode Zen · openai-chat · kimi-k2.7-code

curl 'https://opencode.ai/zen/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "thinking": {
    "type": "enabled"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://opencode.ai/zen/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "thinking": {
        "type": "enabled"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
  • Reported incompatible with thinking controls: temperature, top_p, n, presence_penalty, frequency_penalty.

OpenRouter · openai-chat · moonshotai/kimi-k2.7-code

curl 'https://openrouter.ai/api/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "moonshotai/kimi-k2.7-code",
  "messages": [
    {
      "role": "user",
      "content": "Tell me about the weather."
    }
  ],
  "reasoning": {
    "effort": "medium"
  }
}'
Python (requests)
import requests

resp = requests.post(
    "https://openrouter.ai/api/v1/chat/completions",
    headers={
      "Authorization": "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json"
    },
    json={
      "model": "moonshotai/kimi-k2.7-code",
      "messages": [
        {
          "role": "user",
          "content": "Tell me about the weather."
        }
      ],
      "reasoning": {
        "effort": "medium"
      }
    },
)
print(resp.json())
TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "moonshotai/kimi-k2.7-code",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "reasoning": {
      "effort": "medium"
    }
  }),
})
console.log(await resp.json())
  • ⚠ Responses include reasoning_content artifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).