Kimi K3

Kimi K3 通过 OpenAI 兼容的 /v1/chat/completions 接口提供。当前接入支持文本对话、流式与非流式响应、多轮消息,以及兼容 Chat Completions 字段的透传。

模型

模型名称上下文窗口协议
kimi-k3最高 100 万 tokensOpenAI 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
  }'

请求体

字段类型必填说明
modelstring必须为 kimi-k3
messagesarray按时间顺序排列的对话消息
streamboolean默认开启流式输出;设为 false 时返回完整 JSON
temperaturenumber采样温度,是否可用取决于当前模型服务
top_pnumber核采样参数,是否可用取决于当前模型服务
max_tokensinteger最大输出 token 数,是否可用取决于当前模型服务
stopstring 或 array停止词,是否可用取决于当前模型服务
toolsarrayOpenAI 兼容的函数定义,将透传给模型服务
tool_choicestring 或 object工具选择策略,将透传给模型服务
response_formatobject结构化输出配置,是否可用取决于当前模型服务

兼容的扩展字段会原样透传。可选字段是否可用以及允许的取值,以当前部署的模型服务为准。

消息角色

每条消息使用标准 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停止原因,例如 stoplengthtool_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,平台不会估算扣费;任务按零积分完成并记录内部计费异常。
  • 对外错误响应只包含稳定错误码和安全提示,不会暴露内部服务信息。