Kimi K2 API:AI 工程师完全接入指南(2026)
从注册到首次调用只需 3 分钟——本指南覆盖月之暗面 Kimi K2.6、K2.7 Code 和 K2.5 全系模型的 API 接入、思维模式、流式输出、工具调用、多模态输入、定价、常见错误以及如何通过 TheRouter 路由 Kimi 模型。
月之暗面的 Kimi K2 API 提供了 OpenAI 兼容的接口,让你可以使用整个万亿参数 MoE 模型家族——从通用旗舰 K2.6 到 2026 年 6 月 12 日发布的代码专用模型 K2.7 Code。所有模型均支持 256K token 上下文、思维模式、工具调用和流式输出。你只需在 platform.kimi.ai 注册、获取 API key、将 OpenAI SDK 的 base_url 指向 https://api.moonshot.ai/v1,代码即可直接运行。
我们写这篇指南是因为 Kimi 的产品线增长很快——目前有五个模型通过 TheRouter 路由,另有 K2.7 Code 可通过月之暗面直接 API 访问。各模型之间的差异(仅思维模式 vs. 可切换、多模态 vs. 纯文本、已弃用的 K2 系列)如果不留意很容易踩坑。这是我们首次将 Moonshot 集成到路由层时最想要的一站式参考。
来源:Kimi API 模型列表,获取于 2026-06-14;Kimi API 概览,获取于 2026-06-14。
3 分钟快速开始
第 1 步:创建账户。 前往 platform.kimi.ai 注册。月之暗面支持邮箱和手机号注册。
第 2 步:获取 API key。 进入 控制台 → API Keys 页面,创建新 key。立即复制——key 仅显示一次。
第 3 步:发起首次调用。 如果尚未安装 OpenAI Python SDK:
pip install --upgrade openai
然后运行:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MOONSHOT_KEY",
base_url="https://api.moonshot.ai/v1",
)
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "什么是 Kimi K2.6?"}],
)
print(response.choices[0].message.content)
就这样。Kimi API 实现了 OpenAI ChatCompletions 规范——任何支持 OpenAI 格式的工具、SDK 或代码只需更改 base_url 和 API key 即可接入。
来源:Kimi K2.6 快速入门,获取于 2026-06-14。
Kimi 模型全景:如何选择
月之暗面目前通过 Kimi API 提供三个活跃的模型家族。旧版 K2 系列(K2、K2 Instruct、K2 Thinking)已于 2026 年 5 月 25 日弃用。
| 模型 | 模型 ID | 上下文 | 模态 | 思维模式 | 最佳用途 |
|---|---|---|---|---|---|
| K2.7 Code | kimi-k2.7-code | 256K | 文本+图像→文本 | 始终开启(无法关闭) | 编程 Agent、长程代码生成 |
| K2.6 | kimi-k2.6 | 256K | 文本+图像→文本 | 默认开启(可关闭) | 通用、多模态、Agent 任务 |
| K2.5 | kimi-k2.5 | 256K | 文本+图像→文本 | 默认开启(可关闭) | 通用(上一代) |
已弃用模型(2026 年 5 月 25 日)
| 旧模型 ID | 状态 |
|---|---|
kimi-k2-0905-preview | 已停止服务 |
kimi-k2-0711-preview | 已停止服务 |
kimi-k2-turbo-preview | 已停止服务 |
kimi-k2-thinking | 已停止服务 |
kimi-k2-thinking-turbo | 已停止服务 |
如果你的代码仍在使用任何 kimi-k2-*-preview 或 kimi-k2-thinking ID,请立即切换到 kimi-k2.6。这些模型已不再维护和支持。
来源:Kimi API 模型列表,获取于 2026-06-14。
K2.7 Code:编程专用模型(始终思维)
K2.7 Code 于 2026 年 6 月 12 日发布,是月之暗面最强的编程模型。与 K2.6 的关键区别:思维模式始终开启且无法关闭。你不需要(也不应该)传递 thinking 参数——只需将 model 设为 kimi-k2.7-code,模型会始终输出 reasoning_content。
此外,K2.7 Code 的 Preserved Thinking 始终启用——在多轮对话中,你必须将每条历史 assistant 消息中的 reasoning_content 原样保留在 messages 数组中。
K2.7 Code 示例
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MOONSHOT_KEY",
base_url="https://api.moonshot.ai/v1",
)
stream = client.chat.completions.create(
model="kimi-k2.7-code",
messages=[
{"role": "system", "content": "You are Kimi."},
{"role": "user", "content": "用 Python 实现快速排序。"},
],
max_tokens=32768,
stream=True,
)
for chunk in stream:
if chunk.choices:
choice = chunk.choices[0]
delta = choice.delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content:
print(delta.reasoning_content, end="")
if delta.content:
print(delta.content, end="")
成本影响
K2.7 Code 始终产生思维 token,按输出价格计费($4.00/1M)。对于不需要深度推理的简单任务,使用 K2.6 并关闭思维模式可以节省成本。
来源:使用思维模型 — Kimi API,获取于 2026-06-14;K2.7 Code 定价,获取于 2026-06-14。
思维模式:各模型的差异
thinking 参数在三个活跃模型上的行为有所不同:
| 参数 | kimi-k2.7-code | kimi-k2.6 | kimi-k2.5 |
|---|---|---|---|
thinking.type | 仅 "enabled"(传 "disabled" 会报错) | "enabled"(默认)或 "disabled" | "enabled"(默认)或 "disabled" |
thinking.keep(Preserved Thinking) | 始终 "all"(无法关闭) | null(默认)或 "all" | 不支持 |
在 K2.6 上启用/关闭思维模式
# 思维模式默认开启——无需传参
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "证明根号 2 是无理数。"}],
)
# 显式关闭思维模式
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "东京现在几点?"}],
extra_body={"thinking": {"type": "disabled"}},
)
启用思维模式时,模型会在 assistant 消息中返回 reasoning_content 字段和常规 content。流式模式下,你会先收到 reasoning_content 块,然后是 content 块。
Preserved Thinking(K2.6 和 K2.7 Code)
Preserved Thinking 意味着模型在多轮对话中需要看到自己的推理历史。在 K2.6 上启用后(K2.7 Code 始终开启),你必须将之前 assistant 消息中的 reasoning_content 原样传回:
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[
{"role": "user", "content": "写一个二分查找函数。"},
{
"role": "assistant",
"reasoning_content": "<模型之前的推理内容>",
"content": "这是一个二分查找实现……"
},
{"role": "user", "content": "加上错误处理。"},
],
extra_body={"thinking": {"type": "enabled", "keep": "all"}},
)
来源:使用思维模型 — Kimi API,获取于 2026-06-14。
多模态输入:图像和视频
K2.6、K2.5 和 K2.7 Code 均支持文本和图像混合输入。K2.6 还额外支持视频输入。使用标准 OpenAI image_url 内容类型传递图像:
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/photo.jpg"},
},
],
}
],
)
这遵循 OpenAI 的 vision 消息格式,如果你已经在向 GPT-4o 或 Claude 发送图像,同样的代码结构在这里也能工作。
来源:Kimi K2.6 快速入门,获取于 2026-06-14。
代码示例:curl、Python、流式输出与工具调用
curl
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": "你好!"}],
"stream": false
}'
Python 流式输出
from openai import OpenAI
client = OpenAI(
api_key="YOUR_MOONSHOT_KEY",
base_url="https://api.moonshot.ai/v1",
)
stream = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "解释 CAP 定理。"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
工具调用
所有活跃的 Kimi 模型均支持 OpenAI 格式的 tool/function calling:
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定位置的当前天气",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "城市名称"},
},
"required": ["location"],
},
},
}
]
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
tools=tools,
tool_choice="auto",
)
K2.6 和 K2.7 Code 在多步工具编排上特别出色——K2.6 可以稳定进行 200–300 步的工具编排,K2.7 Code 则针对长程编程中的工具增强推理进行了优化。
来源:Kimi API 工具使用文档,获取于 2026-06-14。
定价对比:月之暗面直接 API vs. DashScope 托管
月之暗面直接 API(platform.kimi.ai)
| 模型 | 输入价格(缓存未命中) | 输入价格(缓存命中) | 输出价格 | 上下文 |
|---|---|---|---|---|
kimi-k2.7-code | $0.95/1M | $0.19/1M | $4.00/1M | 256K |
kimi-k2.6 | $0.95/1M | $0.16/1M | $4.00/1M | 256K |
kimi-k2.5 | $0.60/1M | $0.10/1M | $3.00/1M | 256K |
月之暗面的自动上下文缓存机制意味着重复的 system prompt 和共享前缀会自动命中缓存价格——无需配置。
DashScope 托管(阿里云百炼)
Kimi K2.6 和 K2.5 也可以通过阿里云百炼平台访问。这为你提供了阿里云基础设施的备选端点。DashScope 端点兼容 OpenAI:
client = OpenAI(
api_key="YOUR_DASHSCOPE_KEY",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
response = client.chat.completions.create(
model="kimi-k2.6",
messages=[{"role": "user", "content": "你好!"}],
)
注意:在 DashScope 上,思维模式通过 enable_thinking 参数控制,而非月之暗面直接 API 使用的 thinking 对象。具体参数格式请查看 DashScope Kimi 文档。
来源:K2.6 定价,获取于 2026-06-14;K2.7 Code 定价,获取于 2026-06-14;DashScope Kimi API,获取于 2026-06-14。
常见错误与修复
base_url 配置错误
月之暗面的 API 基地址是 https://api.moonshot.ai/v1。不要使用 https://platform.moonshot.ai(那是控制台)或 https://platform.kimi.ai(那是文档站点)。
向 K2.7 Code 传递 thinking.type: "disabled"
K2.7 Code 不支持关闭思维模式,API 会返回错误。如果你需要非思维模式,请使用 K2.6。
不同供应商的模型 ID 混淆
在月之暗面直接 API 上,K2.6 的模型 ID 是 kimi-k2.6。在 DashScope 上也是 kimi-k2.6。但如果你在 Cursor 或某些 IDE 集成中使用 DashScope,需要将点号改为连字符——Cursor 要求使用 kimi-k2-6。通过 TheRouter 路由时,我们使用规范化的 moonshot/kimi-k2.6 标识符。
已弃用的模型 ID
如果你收到"model not found"错误,检查是否使用了已弃用的 K2 系列 ID(kimi-k2-0905-preview、kimi-k2-thinking 等)。这些模型已于 2026 年 5 月 25 日停止服务。
多轮对话中的 Preserved Thinking 错误
使用 K2.7 Code(或启用了 Preserved Thinking 的 K2.6)时,必须将之前所有 assistant 消息中的 reasoning_content 传回。遗漏会导致响应质量下降或多轮对话出错。
来源:Kimi API 模型列表,获取于 2026-06-14。
TheRouter 集成:路由与容灾
我们通过 TheRouter 路由了五个 Kimi 模型:
moonshot/kimi-k2— 快速非思维变体(131K 上下文)(已弃用——请迁移至 kimi-k2.5/k2.6)moonshot/kimi-k2-instruct— 1T MoE,对话和工具调用(200K 上下文)(已弃用——请迁移至 kimi-k2.5/k2.6)moonshot/kimi-k2-thinking— 深度推理专用(256K 上下文)(已弃用——请迁移至 kimi-k2.5/k2.6)moonshot/kimi-k2.5— 上一代旗舰(256K 上下文)moonshot/kimi-k2.6— 当前旗舰,多模态(256K 上下文)
通过 TheRouter 使用 Kimi,将 OpenAI SDK 指向我们的端点并使用 moonshot/ 前缀的模型 ID:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_THEROUTER_KEY",
base_url="https://api.therouter.ai/v1",
)
response = client.chat.completions.create(
model="moonshot/kimi-k2.6",
messages=[{"role": "user", "content": "来自 TheRouter 的问候!"}],
)
容灾配置
通过 TheRouter 路由的一个优势是自动容灾。如果月之暗面的 API 不可用或触发限流,我们可以自动切换到托管相同模型的其他供应商。由于 K2.6 也可通过 DashScope 访问,你无需编写任何重试逻辑即可获得地理冗余。
OpenAI 兼容指供应商提供一个 chat-completions 接口,其请求与响应结构与 OpenAI API 契约足够接近——只需替换三个值(API key、base URL、模型名),原来的 OpenAI SDK 调用即可直接工作。最小实践面是POST /v1/chat/completions 带 messages、model, 并返回 OpenAI 形式的流式响应。
注意:K2.7 Code(kimi-k2.7-code)尚未作为 TheRouter 路由提供——目前仅可通过月之暗面直接 API 访问。待多供应商可用性稳定后我们会添加支持。
来源:TheRouter 模型数据,获取于 2026-06-14。
生产环境清单
将 Kimi 模型上线之前:
- 迁移离弃用 K2 系列 — 如果使用任何
kimi-k2-*-preview或kimi-k2-thinkingID,切换到kimi-k2.6 - 选择思维模式 — 在 K2.6 上显式设置
thinking.type;K2.7 Code 始终开启 - 处理多轮中的
reasoning_content— 如果使用 K2.7 Code 或启用了 Preserved Thinking 的 K2.6,传回推理历史 - 选对模型 — K2.7 Code 用于编程 Agent,K2.6 用于通用 + 多模态,K2.5 用于成本敏感场景
- 监控思维 token 成本 — 思维 token 按输出价格计费;对简单任务在 K2.6 上关闭思维以节省成本
- 设置容灾 — 通过 TheRouter 或 DashScope 路由以避免单一供应商依赖
- 利用上下文缓存 — 月之暗面的自动前缀缓存使重复 system prompt 非常便宜(K2.6 缓存命中 $0.16/1M)
- 设置超时 — 思维密集型请求可能耗时较长;设置合理的超时时间(60–120 秒)
- 测试模型 ID 兼容性 — 验证你的模型 ID 在特定 SDK/工具中正常工作(注意 IDE 集成中的点号 vs. 连字符)
常见问题
Q:Kimi K2 API 是否兼容 OpenAI?
A:是的。月之暗面 API 在 https://api.moonshot.ai/v1 实现了 OpenAI ChatCompletions 规范。在 OpenAI SDK 中更改 base_url 和 api_key 即可——包括流式输出、工具调用和系统消息。
Q:能否关闭 K2.7 Code 的思维模式?
A:不能。K2.7 Code 始终启用思维模式,如果传递 thinking.type: "disabled" 会返回错误。如果需要非思维模式以控制成本,请使用 K2.6 并关闭思维模式。
Q:原始 K2 模型怎么了?
A:kimi-k2 系列(K2、K2 Instruct、K2 Thinking、K2 Turbo)已于 2026 年 5 月 25 日弃用。如果你仍在使用这些模型 ID,请切换到 kimi-k2.6(通用)或 kimi-k2.7-code(编程任务)。
Q:Kimi K2.6 与 DeepSeek V4 比如何? A:两者都是百万级上下文的 MoE 模型,支持思维模式。K2.6 具有原生多模态能力(图像 + 视频输入),在 Agent/工具编排方面表现突出。DeepSeek V4 拥有更大的上下文窗口(1M vs. 256K)且缓存命中价格更低。最佳选择取决于你的工作负载——通过 TheRouter,你可以根据任务在两者之间路由。
Q:能本地运行 Kimi K2.6 吗? A:可以。Kimi K2.6 权重在 HuggingFace 上开源。但其总参数量为 1T(32B 活跃),需要大量 GPU 资源。对于大多数生产场景,API 更为实际。
Q:K2.7 Code 可以通过 TheRouter 使用吗? A:目前还不行。K2.7 Code 于 2026 年 6 月 12 日发布,当前仅可通过月之暗面直接 API 访问。待供应商可用性扩展后我们将添加路由支持。
最后更新:2026 年 6 月 14 日。定价和模型可用性来源于 Kimi API 定价 和 Kimi API 模型列表。所有定价可能变动——预算前请在 platform.kimi.ai 核实最新价格。