第 1 课

拿到 key 跑通 kimi-k3:curl、Python、JavaScript、报错与计费

认清 kimi-k3 等四个在售模型,创建 API key 并充值,用 curl、Python、JavaScript 各发一次请求,查模型列表与余额,并看懂报错、计费和限速。

图文20 分钟Kimi 官方文档 ↗

课程目录第 1 / 3 课

学习位置仅保存在当前浏览器,有效期 180 天。

01 / 图文教材

图文教材

本课依据: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-highspeedK2.7 Code 高速版,官方称约 180 tokens/s262,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 并充值

  1. 打开 https://platform.kimi.com/ 登录,进入 https://platform.kimi.com/console/api-keys ,点「新建」,复制生成的 Key(只显示一次)。
  2. 在控制台充值。官方说明:Kimi K3 需要先充值(最低 10 元)才能解锁调用,国内注册并完成认证的新用户获赠的 15 元代金券不能用于 K3。
  3. 把 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_errorKey 写错,或中国站 / 国际站混用重新复制 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¥01 / 3 / 500,000
Tier1¥5015 / 100 / 2,000,000
Tier2¥10040 / 100 / 3,000,000
Tier3¥50050 / 200 / 3,000,000

Tier0 每分钟只能发 3 个请求,写批量脚本时很容易碰到 429;代金券不计入累计充值。

自查清单

  • curl .../v1/models 能列出 kimi-k3
  • first_call.py 打印出回答和 usage
  • 你能说出 401、404、429 三种报错分别该查什么
  • 你能用 usage 里的两个数算出一次调用的费用

本课资料

适用环境

  • 网页
  • iOS
  • Android
  • API

官方文档

Kimi ↗