← 全部文章

Kimi K2 API:AI 工程师完全接入指南(2026)

从注册到首次调用只需 3 分钟——本指南覆盖月之暗面 Kimi K2.6、K2.7 Code 和 K2.5 全系模型的 API 接入、思维模式、流式输出、工具调用、多模态输入、定价、常见错误以及如何通过 TheRouter 路由 Kimi 模型。

· TheRouter

月之暗面的 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 Codekimi-k2.7-code256K文本+图像→文本始终开启(无法关闭)编程 Agent、长程代码生成
K2.6kimi-k2.6256K文本+图像→文本默认开启(可关闭)通用、多模态、Agent 任务
K2.5kimi-k2.5256K文本+图像→文本默认开启(可关闭)通用(上一代)

已弃用模型(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-codekimi-k2.6kimi-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/1M256K
kimi-k2.6$0.95/1M$0.16/1M$4.00/1M256K
kimi-k2.5$0.60/1M$0.10/1M$3.00/1M256K

月之暗面的自动上下文缓存机制意味着重复的 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-thinking ID,切换到 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 核实最新价格。

帮助与联系