Kimi K3
Kimi K3 通过 OpenAI 兼容的 /v1/chat/completions 接口提供。当前接入支持文本对话、流式与非流式响应、多轮消息,以及兼容 Chat Completions 字段的透传。
模型
| 模型名称 | 上下文窗口 | 协议 |
|---|---|---|
kimi-k3 | 最高 100 万 tokens | OpenAI Chat Completions |
定价
根据响应中的 token 用量计费:
| 类型 | 积分 / 百万 tokens | 价格 / 百万 tokens |
|---|---|---|
| 输入 | 600 credits | $3.00 |
| 输出 | 3000 credits | $15.00 |
计费公式:
credits = prompt_tokens × 600 / 1,000,000
+ completion_tokens × 3000 / 1,000,000
最终扣费保留两位小数。请求失败不会扣除积分。
接口地址
POST https://api.aivideoapi.ai/v1/chat/completions
创建对话
需要一次性返回完整 JSON 时,请显式设置 stream: false:
curl -X POST https://api.aivideoapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [
{ "role": "user", "content": "你好,请介绍一下自己。" }
],
"stream": false
}'
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 必须为 kimi-k3 |
messages | array | 是 | 按时间顺序排列的对话消息 |
stream | boolean | 否 | 默认开启流式输出;设为 false 时返回完整 JSON |
temperature | number | 否 | 采样温度,是否可用取决于当前模型服务 |
top_p | number | 否 | 核采样参数,是否可用取决于当前模型服务 |
max_tokens | integer | 否 | 最大输出 token 数,是否可用取决于当前模型服务 |
stop | string 或 array | 否 | 停止词,是否可用取决于当前模型服务 |
tools | array | 否 | OpenAI 兼容的函数定义,将透传给模型服务 |
tool_choice | string 或 object | 否 | 工具选择策略,将透传给模型服务 |
response_format | object | 否 | 结构化输出配置,是否可用取决于当前模型服务 |
兼容的扩展字段会原样透传。可选字段是否可用以及允许的取值,以当前部署的模型服务为准。
消息角色
每条消息使用标准 Chat Completions 角色:
{
"messages": [
{ "role": "system", "content": "你是一名回答简洁的助手。" },
{ "role": "user", "content": "用一句话解释递归。" },
{ "role": "assistant", "content": "递归通过对规模更小的同类问题重复应用相同方法来解决问题。" },
{ "role": "user", "content": "给我一个简短的代码示例。" }
]
}
非流式响应
{
"id": "chatcmpl-example",
"object": "chat.completion",
"created": 1788278400,
"model": "kimi-k3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "我是 Kimi K3,可以帮助你处理问题、分析信息和完成各类任务。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 23,
"completion_tokens": 60,
"total_tokens": 83
},
"credits_consumed": 0.19
}
| 字段 | 说明 |
|---|---|
choices[].message.content | 助手回复文本 |
choices[].finish_reason | 停止原因,例如 stop、length 或 tool_calls |
usage.prompt_tokens | 用于计费的输入 token 数 |
usage.completion_tokens | 用于计费的输出 token 数 |
usage.total_tokens | 模型服务返回的总 token 数 |
credits_consumed | 本平台实际扣除的积分 |
流式输出
省略 stream 时默认使用流式输出,也可以显式设置:
curl -N -X POST https://api.aivideoapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [
{ "role": "user", "content": "写两行欢迎语。" }
],
"stream": true
}'
响应使用 Server-Sent Events:
data: {"id":"chatcmpl-example","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":"欢迎"},"finish_reason":null}]}
data: {"id":"chatcmpl-example","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":12,"total_tokens":30}}
data: [DONE]
平台会自动请求在最后一个流式 chunk 中返回 usage。客户端应持续读取到 [DONE],确保收到完整响应和最终 usage 事件。
OpenAI SDK
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AI_VIDEO_API_KEY"],
base_url="https://api.aivideoapi.ai/v1",
)
response = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "你好,请介绍一下自己。"}],
stream=False,
)
print(response.choices[0].message.content)
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AI_VIDEO_API_KEY,
baseURL: "https://api.aivideoapi.ai/v1",
});
const response = await client.chat.completions.create({
model: "kimi-k3",
messages: [{ role: "user", content: "你好,请介绍一下自己。" }],
stream: false,
});
console.log(response.choices[0].message.content);
Usage 与错误处理
- 非流式成功响应必须包含
usage,否则请求会失败且不扣费。 - 在响应交付前发生上游或网络错误时,不会扣除积分。
- 如果流式响应已经完整交付但缺少 usage,平台不会估算扣费;任务按零积分完成并记录内部计费异常。
- 对外错误响应只包含稳定错误码和安全提示,不会暴露内部服务信息。