inference-providers

Kimi K2.5

by moonshot · family kimi

Facts

Release date2026-01-27
Retired date
Knowledge cutoff
Context (max)262,144
Max output
Modalitiestext, image → text
Aliaseskimi-k2.5
Open weightsno
DescriptionClosed to new registrations; platform sunset 2026-08-31. Release date per third-party reporting.

Unknown values are shown as —.

Offerings

ProviderWire IDVariantEndpointProtocolStatusPrice (USD / Mtok)Reasoning
IO Intelligence (io.net)moonshotai/Kimi-K2.5chatopenai-chatga0.54 / 2.85effort · default on · returns reasoning_content
Moonshot Kimikimi-k2.5chat-completionsopenai-chatdeprecated0.60 / 3.00toggle · default on · returns reasoning_content
OpenCode Gokimi-k2.5go-chat-completionsopenai-chatgatoggle · default on · returns reasoning_content
OpenCode Zenkimi-k2.5chat-completionsopenai-chatga0.60 / 3.00toggle · default on · returns reasoning_content · round-trips reasoning_content
OpenRoutermoonshotai/kimi-k2.5chat-completionsopenai-chatga0.45 / 2.25effort · default on · returns reasoning_content · round-trips reasoning_content

Reasoning controls

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

reasoning.effort nonelowmediumhigh● Default not documented — verify.

effort · default on · returns reasoning_content

Moonshot Kimi· kimi-k2.5· chat-completions toggle

thinking.type on enabled · off disabled

toggle · default on · returns reasoning_content

OpenCode Go· kimi-k2.5· go-chat-completions toggle

thinking.type on enabled · off disabled

toggle · default on · returns reasoning_content

OpenCode Zen· kimi-k2.5· chat-completions toggle

thinking.type on enabled · off disabled

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

OpenRouter· moonshotai/kimi-k2.5· chat-completions effort

reasoning.effort nonelowmedium●highxhighmax

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

Example requests

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

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.5",
  "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.5",
      "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.5",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "reasoning": {
      "effort": "high"
    }
  }),
})
console.log(await resp.json())

Moonshot Kimi · openai-chat · kimi-k2.5

curl 'https://api.moonshot.ai/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.5",
  "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.5",
      "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.5",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())

OpenCode Go · openai-chat · kimi-k2.5

curl 'https://opencode.ai/zen/go/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.5",
  "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.5",
      "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.5",
    "messages": [
      {
        "role": "user",
        "content": "Tell me about the weather."
      }
    ],
    "thinking": {
      "type": "enabled"
    }
  }),
})
console.log(await resp.json())

OpenCode Zen · openai-chat · kimi-k2.5

curl 'https://opencode.ai/zen/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "kimi-k2.5",
  "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.5",
      "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.5",
    "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).

OpenRouter · openai-chat · moonshotai/kimi-k2.5

curl 'https://openrouter.ai/api/v1/chat/completions' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "moonshotai/kimi-k2.5",
  "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.5",
      "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.5",
    "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).