第 1 课
拿到 key 跑通 kimi-k3:curl、Python、JavaScript、报错与计费
认清 kimi-k3 等四个在售模型,创建 API key 并充值,用 curl、Python、JavaScript 各发一次请求,查模型列表与余额,并看懂报错、计费和限速。
课程目录第 1 / 3 课
学习位置仅保存在当前浏览器,有效期 180 天。
图文教材
本课依据:Kimi API 开放平台官方文档「快速开始」https://platform.kimi.com/docs/get-api-key 、「模型列表」https://platform.kimi.com/docs/models 、「模型推理价格说明」https://platform.kimi.com/docs/pricing/chat 、「充值与限速」https://platform.kimi.com/docs/pricing/limits 、「常见错误码说明」https://platform.kimi.com/docs/api/errors (2026-10-23 核对)。
这一课做完你会得到什么
一个能用的 Kimi API Key,以及三段分别用 curl、Python、JavaScript 写成、都能跑通 kimi-k3 的最小程序;你还会查一次模型列表和账户余额,认识最常见的报错,并能自己估算一次调用要花多少钱。
先认清现在能用的模型
截至 2026 年 10 月,官方「模型列表」里在售的只有四个模型 ID:
| 模型 ID | 定位 | 上下文 |
|---|---|---|
kimi-k3 | 旗舰,2.8 万亿参数,原生视觉理解,始终开启思考 | 1,048,576 tokens |
kimi-k2.7-code | 编程模型,始终开启思考 | 262,144 tokens |
kimi-k2.7-code-highspeed | K2.7 Code 高速版,官方称约 180 tokens/s | 262,144 tokens |
kimi-k2.6 | 通用模型,思考可开可关 | 262,144 tokens |
旧代码里常见的 moonshot-v1-8k / 32k / 128k、moonshot-v1-auto、kimi-k2.5 已于 2026 年 8 月 31 日下线,kimi-k2 系列(含 kimi-k2-thinking、kimi-k2-turbo-preview)已于 2026 年 5 月 25 日下线,kimi-latest 已于 2026 年 1 月 28 日下线。调用这些名字会返回 404,迁移时把 model 换成 kimi-k3 即可。
第 1 步:创建 API Key 并充值
- 打开 https://platform.kimi.com/ 登录,进入 https://platform.kimi.com/console/api-keys ,点「新建」,复制生成的 Key(只显示一次)。
- 在控制台充值。官方说明:Kimi K3 需要先充值(最低 10 元)才能解锁调用,国内注册并完成认证的新用户获赠的 15 元代金券不能用于 K3。
- 把 Key 放进环境变量,不要写死在代码里。
macOS / Linux:
export MOONSHOT_API_KEY="你的_KIMI_API_KEY"
Windows PowerShell:
$env:MOONSHOT_API_KEY="你的_KIMI_API_KEY"
注意两个站点互不相通:中国站 platform.kimi.com 的 Key 只能调 https://api.moonshot.cn/v1;国际站 platform.kimi.ai 的 Key、余额是另一套。混用一律返回 401。本课全部使用中国站。
第 2 步:用 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": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手。"},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
]
}'
成功时返回一个 chat.completion 对象,回答在 choices[0].message.content。官方给出的示例回答:
你好,李雷!1+1 等于 2。这是一个基本的数学加法问题。如果你有其他问题或需要帮助,请随时告诉我。
模型输出有随机性,措辞不一样很正常。因为 K3 始终开启思考,message 里通常还会多一个 reasoning_content 字段,装的是思考过程,下一课专门讲。
第 3 步:Python 版
Kimi API 兼容 OpenAI 格式,直接用官方 OpenAI SDK,只改 base_url。官方要求 Python 3.9+、openai>=1.0。
python3 -m pip install --upgrade 'openai>=1.0'
新建 first_call.py:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
model="kimi-k3",
messages=[
{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手。"},
{"role": "user", "content": "用一句话介绍 Kimi K3。"},
],
)
print(completion.choices[0].message.content)
print(completion.usage)
python3 first_call.py
第一行是模型的一句话回答,第二行是本次用量。usage 里的 prompt_tokens 是输入 token,completion_tokens 是输出 token(含思考内容),第 5 步算钱就靠这两个数。
第 4 步:JavaScript 版
需要 Node.js 18+:
npm install openai@latest
新建 first_call.mjs:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.MOONSHOT_API_KEY,
baseURL: "https://api.moonshot.cn/v1",
});
const completion = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{ role: "system", content: "你是 Kimi,由 Moonshot AI 提供的人工智能助手。" },
{ role: "user", content: "你好,我叫李雷,1+1等于多少?" },
],
});
console.log(completion.choices[0].message.content);
node first_call.mjs
输出与 curl 版类似,是一句打招呼并回答「2」的话。
第 5 步:查模型列表和余额
列出当前 Key 能用的模型:
curl https://api.moonshot.cn/v1/models \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
返回 {"object": "list", "data": [...]},每个元素有 id、context_length、supports_image_in、supports_video_in、supports_reasoning 等字段。列表里能看到 kimi-k3,说明 Key 和账户等级都没问题。
查余额:
curl https://api.moonshot.cn/v1/users/me/balance \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
官方文档给出的示例响应(单位:人民币元):
{
"code": 0,
"data": {
"available_balance": 49.58894,
"voucher_balance": 46.58893,
"cash_balance": 3.00001
},
"scode": "0x0",
"status": true
}
available_balance 小于等于 0 时就不能再调用推理接口了。
第 6 步:认识最常见的报错
我们在 2026-10-23 用一个假 Key not-a-real-key 实测,三个接口都返回 HTTP 401,响应体是:
{"error":{"message":"Invalid Authentication","type":"invalid_authentication_error"}}
如果完全不带 Authorization 请求头,返回的是另一条:
{"error":{"message":"Incorrect API key provided","type":"incorrect_api_key_error"}}
官方错误码文档里最常用的几类:
| HTTP / type | 常见原因 | 怎么处理 |
|---|---|---|
401 invalid_authentication_error | Key 写错,或中国站 / 国际站混用 | 重新复制 Key,确认端点是 api.moonshot.cn |
404 resource_not_found_error | 模型名拼错或已下线(如 moonshot-v1-8k) | 换成 kimi-k3 等在售模型 |
429 exceeded_current_quota_error | 余额或额度不足 | 充值后再试 |
429 rate_limit_reached_error | 超过并发、RPM、TPM 或 TPD | 降低并发,等待后重试 |
429 engine_overloaded_error | 服务端高峰过载 | 按 Retry-After 退避重试,充值不能解决 |
| 504 | 非流式长请求 900 秒无响应 | 改用流式输出 stream: true |
第 7 步:估算一次调用的费用
官方价格(每 100 万 tokens,人民币,2026-10-23 核对):
| 模型 | 输入(未命中缓存) | 输入(命中缓存) | 输出 |
|---|---|---|---|
| kimi-k3 | ¥20.00 | ¥2.00 | ¥100.00 |
| kimi-k2.7-code | ¥6.50 | ¥1.30 | ¥27.00 |
| kimi-k2.7-code-highspeed | ¥13.00 | ¥2.60 | ¥54.00 |
| kimi-k2.6 | ¥6.50 | ¥1.10 | ¥27.00 |
kimi-k3 另有缓存写入费:5 分钟档 ¥20、1 小时档 ¥40(每 100 万 tokens),第 3 课细讲。K3 计费不按上下文长度分段。
算一笔:一次 kimi-k3 请求,prompt_tokens 为 2,000(都没命中缓存),completion_tokens 为 800:
输入 2000 / 1000000 × 20 = ¥0.04
输出 800 / 1000000 × 100 = ¥0.08
合计 ¥0.12
思考内容(reasoning_content)也计入输出 token,所以同样的问题,推理强度越高通常越贵。
账户等级按累计充值决定限速,节选官方表格:
| 等级 | 累计充值 | 并发 / RPM / TPM |
|---|---|---|
| Tier0 | ¥0 | 1 / 3 / 500,000 |
| Tier1 | ¥50 | 15 / 100 / 2,000,000 |
| Tier2 | ¥100 | 40 / 100 / 3,000,000 |
| Tier3 | ¥500 | 50 / 200 / 3,000,000 |
Tier0 每分钟只能发 3 个请求,写批量脚本时很容易碰到 429;代金券不计入累计充值。
自查清单
curl .../v1/models能列出kimi-k3first_call.py打印出回答和usage- 你能说出 401、404、429 三种报错分别该查什么
- 你能用
usage里的两个数算出一次调用的费用
