Kimi K3 API 怎么调用:获取 key 并完成第一次调用
Kimi K3 API 接入教程:获取 API key,用 OpenAI SDK 调用 kimi-k3,设置推理强度、流式输出、发送图片,并解决新手最先遇到的报错。
以 Markdown 阅读要调用 Kimi K3,你需要一个提供该模型的平台的 API key,以及一个把 model 设为 kimi-k3 的请求。Moonshot AI 在自己的 Kimi API 开放平台上提供它,首次充值后才会解锁该模型。SeedRouter 用一个 key 提供它,按量付费,使用官方请求格式:把 OpenAI SDK 指向 https://api.seedrouter.ai/v1,代码保持不变。
本指南使用 SeedRouter;请求体与 Kimi 官方 API 完全相同。
Kimi K3 API key 怎么获取?
- 登录 SeedRouter,打开 API keys。
- 创建一个 key 并复制;它只显示一次。
- 需要时再充值。新账户自带少量免费余额,没有订阅。
把 key 放在 SEEDROUTER_API_KEY 这样的环境变量里,并且只在服务端代码中使用。
怎么用 Python 调用 Kimi K3?
Kimi K3 使用 Chat Completions 格式,所以官方的 openai 包可以直接使用:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["SEEDROUTER_API_KEY"],
base_url="https://api.seedrouter.ai/v1",
)
completion = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Explain context caching in one sentence."}],
)
print(completion.choices[0].message.content)回答在 content 里。Kimi K3 会先推理再回答,推理内容在同一条消息的 reasoning_content 中返回。
怎么用 Node.js 或 cURL 调用?
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.SEEDROUTER_API_KEY,
baseURL: "https://api.seedrouter.ai/v1",
});
const completion = await client.chat.completions.create({
model: "kimi-k3",
messages: [{ role: "user", content: "Explain context caching in one sentence." }],
});
console.log(completion.choices[0].message.content);curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kimi-k3", "messages": [{"role": "user", "content": "Explain context caching in one sentence."}]}'同一个 key 也可以通过 Responses API(/v1/responses)和 Anthropic Messages 格式(/v1/messages)调用 kimi-k3。
推理强度怎么设置?
Kimi K3 始终会推理,无法关闭。reasoning_effort 决定它在回答前思考多少:
completion = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Find the bug: def avg(xs): return sum(xs) / len(xs)"}],
reasoning_effort="high",
)| 取值 | 适用场景 |
|---|---|
low | 快速、简单的步骤 |
high | 大多数编程和分析任务 |
max(默认) | 最难的问题 |
推理 token 按输出计费,并计入 max_completion_tokens,其默认值为 131,072,最大可达 1,048,576。在我们对同一个问题的测试中,low 用了 25 个输出 token,max 用了 146 个。
怎么流式输出回答?
加上 stream=True。推理内容先出现在 delta.reasoning_content 中,然后回答出现在 delta.content 中。设置 stream_options={"include_usage": True},即可在最后一个分块里拿到 token 用量:
stream = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Write a haiku about latency."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)可以发送图片吗?
可以,以 base64 data URI 的形式发送。Kimi K3 不接受公网图片 URL;它的快速入门写道:"Vision input does not support public image URLs"(视觉输入不支持公网图片 URL):
import base64
with open("chart.png", "rb") as f:
image = base64.b64encode(f.read()).decode()
completion = client.chat.completions.create(
model="kimi-k3",
messages=[{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image}"}},
{"type": "text", "text": "What does this chart show?"},
],
}],
)会遇到哪些报错?
| 错误 | 原因 | 解决方法 |
|---|---|---|
temperature、top_p、n 或惩罚参数报 400 | Kimi K3 把它们固定为 1.0、0.95、1、0 | 不要传这些参数 |
reasoning_effort 报 400 | 取值不是 low、high 或 max | 使用这三个值之一 |
| 图片报 400 | 用了公网 URL 而不是 data URI | 以 base64 发送图片 |
| 401 | key 缺失或错误 | 检查 Authorization 请求头 |
错误返回 {"error": {"code": ..., "message": "..."}},失败的请求不收费。
常见问题
Kimi K3 API 兼容 OpenAI 吗?
兼容。Kimi K3 支持 Chat Completions 和 Responses 格式,所以只要改 base URL 和模型名,OpenAI SDK 就能用。它也支持 Anthropic Messages 格式。
使用 Kimi K3 需要 Moonshot 账户吗?
在 SeedRouter 上不需要。你登录 SeedRouter,在那里创建 key,从 SeedRouter 余额中付费。
一次 Kimi K3 请求要多少钱?
按输入和输出 token 计费。Kimi K3 价格指南里有实时费率和计算示例。
完整参数列表在哪里?
Kimi K3 API 参考列出了所有字段,Kimi K3 页面提供 playground 和实时价格。



