Kimi K3 API 接入教程:1M 上下文、定价与 Python 调用(2026)

手把手接入月之暗面 Kimi K3 API:拿 Key、curl 与 Python 示例,1M 上下文与原生视觉、reasoning_effort 用法、官方与聚合渠道定价对比,以及从 K2 迁移的注意点。

Kimi K3 是月之暗面(Moonshot AI)最新的旗舰大模型,把上下文一口气拉到 100 万 token,还内置了原生视觉和常开推理,定位就是「长程编程 + 知识工作 + 复杂推理」。这篇按「拿 Key → 发第一个请求 → 用好 1M 上下文 → 算清价格 → 从 K2 迁移」的顺序,带你把 Kimi K3 真正跑起来。急着上手的,可以先用推荐码在 GetModel 领一份免费额度,一个 Key 同时调 Kimi、GPT、Claude。

Kimi K3 能力概览

Kimi K3 采用 Mixture-of-Experts(MoE)架构,总参数约 2.8T,从 896 个专家里每次激活 16 个,配合新的 KDA(Kimi Delta Attention)+ Attention Residuals 注意力设计,官方称整体训练 / 推理的扩展效率比 K2 提升约 2.5 倍。落到能力上,几个关键点值得先记住:

  • 1M 上下文窗口 —— 精确是 1,048,576 token,一次能吃下一个中型代码库、一整本手册或几十个长文档,这是它相比 K2(256K)最直观的升级。
  • 原生视觉 —— 直接支持图片和视频输入,做前端 / 游戏 / CAD 这类「看图写代码」的任务时是一等公民,不用外挂 OCR。
  • 常开推理 —— K3 默认开启深度思考,通过 reasoning_effort 控制力度,当前仅支持 max 档(默认),其余档位后续上线。
  • 接口 OpenAI 兼容 —— Chat Completions 格式,现有 openai SDK 代码基本只改 base_urlmodel 就能切过来。

当前主力型号 ID 就是 kimi-k3。接入前建议在控制台核对一下可用型号列表,月之暗面迭代很快。

接入步骤 + 代码

下面给两条路:官方直连适合只用 Kimi 的场景;聚合中转适合你还要同时用 GPT、Claude、Gemini,不想维护一堆 Key 和账单。

方式一:官方直连(Moonshot 平台)

  1. Moonshot 开放平台 注册登录;
  2. 在「API Key 管理」里创建一个 Key;
  3. 记住接口地址:国内 https://api.moonshot.cn/v1,海外 https://api.moonshot.ai/v1

curl 示例:

curl https://api.moonshot.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MOONSHOT_API_KEY" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "用一句话介绍 Kimi K3"}]
  }'

Python(直接用 openai SDK,只改 base_urlmodel):

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.cn/v1",
)

resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "用一句话介绍 Kimi K3"}],
)
print(resp.choices[0].message.content)

流式输出加 stream=True 即可,SSE 格式与 OpenAI 官方一致;工具调用(function calling)也按 OpenAI 的 tools 字段写。

方式二:聚合中转(一个 Key 同时调 Kimi / GPT / Claude)

如果你的项目不止用 Kimi,用 GetModel 这类聚合网关会省心很多:一个 Key、一个 OpenAI 兼容接口,换模型只改 model 字段,余额全模型共享,账单也只有一份。

  1. 登录 GetModel 控制台,在「API 令牌」页创建一个 sk- 开头的 Key;
  2. base_url 换成 https://getmodel.ai/v1;
  3. modelkimi-k3 即可。
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的GetModelKey",
    base_url="https://getmodel.ai/v1",
)

# 调 Kimi K3
resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "你好,Kimi K3"}],
)
print(resp.choices[0].message.content)

# 同一段代码,把 model 换成 gpt-5.2 或 claude-opus-4-8,就切到别家模型了

网关侧内置多渠道故障转移,某个上游抖动时会自动切换,生产环境更稳。

用好 1M 上下文与原生视觉

长上下文是 K3 的核心卖点。把整个仓库、整份合同或几十页 PDF 一次性塞进 messages,让模型在完整语境里回答,比自己切片做 RAG 往往更省事、也更少丢信息。注意上下文越长,单次请求的 token 消耗和延迟都会上升,固定不变的前缀(长 system prompt、参考文档)务必利用缓存复用,详见下面的定价一节。

视觉输入要注意两点:一是图片 / 视频内容要放进 content对象数组里,不能拼成一个序列化字符串;二是 K3 的视觉输入不支持公网图片 URL,本地图片用 base64、视频用 files API 上传后以 ms://<file-id> 引用。

resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "照着这张设计稿写出对应的 HTML/CSS"},
            {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgo..."}},
        ],
    }],
)

定价对比:官方直连 vs 聚合中转

Kimi K3 按 token 计费,并且默认开启上下文缓存 —— 重复的前缀命中缓存后,输入价直接打到一折。下面是官方参考价(按每百万 token 计,人民币,以控制台实时价为准):

计费项价格 / 1M token
输入(缓存未命中)¥20
输入(缓存命中)¥2
输出¥100

几点值得注意:

  • 缓存命中把输入价压到 ¥2/M,长 system prompt、固定文档反复调用的场景,实际成本可能比看上去低一个数量级,长程 Agent 尤其受益;
  • K3 是旗舰定位,输出价明显高于 K2,纯跑量、对能力要求不极致的任务,K2 系列仍然更划算(见 Kimi K3 vs K2 对比);
  • 官方与各中转 / 聚合渠道价格会浮动,下单前请以实时价为准。GetModel 上 Kimi 与其它模型的实时单价见价格页

免费额度:月之暗面对新用户发放的 ¥15 体验金目前不可用于 K3,官方 K3 需付费使用。想零成本先试试 K3 的能力,可以通过 GetModel 的推荐码注册领一份免费额度,且这份额度全模型通用,能拿它把 K3、GPT、Claude 横向比一比再决定主力用哪家。

从 K2 迁移的注意点

如果你在从 K2 / K2.x 切到 K3,有三个坑要避开:

  • 别再用 thinking 参数。K3 用 reasoning_effort 控制思考力度(当前仅 max),K2.x 的 thinking 字段在 K3 上不适用。
  • 多轮对话和工具调用,要把 API 返回的完整 assistant message 原样加进下一轮,不要只保留 content,否则推理 / 工具状态会丢。
  • 上下文预算翻了 4 倍(256K → 1M),但别无脑塞满 —— 越长越贵越慢,该做的裁剪和缓存复用还得做。

常见报错与排查

  • 401 / 鉴权失败:Key 拼写错误、漏了 Bearer 前缀,或用了另一环境的 Key。检查 Authorization 头与 base_url 是否配套。
  • 429 / 触发限流:超出 RPM/TPM 或并发上限。加指数退避重试、降低并发,或提升账户等级;走 GetModel 时由多渠道故障转移自动分流。
  • 视觉请求报错:多半是传了公网图片 URL,或把图文 content 拼成了字符串。改成 base64 / ms:// 引用、并用对象数组。
  • 上下文超限:输入超过 1M token 会报错。裁剪输入、分段处理,或对固定前缀启用缓存复用。

常见问题(FAQ)

  • Kimi K3 上下文多大? 1,048,576 token(约 1M),是 K2 的四倍,适合整库代码、长文档和长程 Agent。
  • K3 有免费额度吗? 官方 ¥15 体验金目前不能用于 K3;通过 GetModel 注册可领一份可跨模型使用的额度,适合先试后用。
  • 支持视觉、工具调用和流式吗? 都支持。视觉用对象数组 + base64/ms://;工具调用用 OpenAI 的 tools 字段;流式加 stream=True
  • 能沿用现有的 OpenAI 代码吗? 能。K3 兼容 OpenAI Chat Completions 接口,通常只改 base_urlmodel;但从 K2 迁移记得把 thinking 换成 reasoning_effort
  • K3 和 K2 怎么选? 要 1M 上下文、原生视觉、最强代码 / 推理选 K3;纯跑量、成本敏感选 K2 系列。

想在同一套代码里同时用 Kimi、GPT、Claude、Gemini,只维护一个 Key 和一份账单,可以从 GetModel 控制台开始,用赠送额度先把 Kimi K3 跑起来。