调用文档
本站提供 OpenAI 兼容接口。把 SDK / Cursor / Cherry Studio / OpenClaw 的地址改到这里,用控制台签发的令牌调用。
调用地址
https://api.mkcmd.com/v1POST https://api.mkcmd.com/v1/chat/completionsGET https://api.mkcmd.com/v1/modelssk-...请求头必须带:Authorization: Bearer sk-你的令牌。不要再在 Base URL 后面多加一层 /v1(填好上面这一条即可)。
控制台:https://api.mkcmd.com(登录、建令牌、看额度)。文档:https://api.mkcmd.com/docs。
如何获取可用模型
以令牌请求 GET /v1/models,返回 OpenAI 格式的列表。其中 id 就是调用名(档位名),例如 deepseek-flash、glm-flash。请按这个名字配置客户端,不要填厂商带版本号的 ID(如 :0731、v4.1)。上游换版本由本站后台改映射,你这边不用改配置。
curl https://api.mkcmd.com/v1/models \ -H "Authorization: Bearer sk-你的令牌"
只抽出模型 ID:
curl -sS https://api.mkcmd.com/v1/models \
-H "Authorization: Bearer sk-你的令牌" \
| python3 -c "import json,sys; [print(x['id']) for x in json.load(sys.stdin).get('data') or []]"
成功时大意如下(字段以实际返回为准):
{
"object": "list",
"data": [
{"id": "glm-flash", "object": "model", "owned_by": "..."},
{"id": "deepseek-flash", "object": "model"}
]
}
/v1/models 列出的是你的令牌当前能看到的调用名。部分客户端(尤其 OpenClaw「自定义提供商」)不会自动拉取这份列表,需要你把上面的 id 再填进客户端。内置 Ollama 提供商才会自己扫本地/云端模型。调用示例
curl
curl https://api.mkcmd.com/v1/chat/completions \
-H "Authorization: Bearer sk-你的令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-flash",
"messages": [{"role": "user", "content": "你好"}],
"stream": false
}'
Python(openai 库)
from openai import OpenAI
client = OpenAI(
base_url="https://api.mkcmd.com/v1",
api_key="sk-你的令牌",
)
resp = client.chat.completions.create(
model="glm-flash",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
Cursor / Cherry Studio 等
选 OpenAI 兼容协议:
- Base URL:
https://api.mkcmd.com/v1 - API Key:控制台令牌
- Model:
GET /v1/models返回的id
流式输出
请求里加 "stream": true,响应为 SSE。部分思考型模型(如 GLM、gpt-oss)会把推理过程放在 reasoning 字段,正文可能稍后才出现,请把 max_tokens 设大一些。
OpenClaw 自定义提供商
深圳本机 OpenClaw 里选「自定义提供商」时,界面字段比内置 Ollama 多。Ollama 插件会自己发现模型;自定义 OpenAI 兼容提供商默认不会自动拉全量模型,要先用上面的 GET /v1/models 拿到 ID,再逐条「添加模型」。
| 界面字段 | 填什么 |
|---|---|
| 提供商 ID | mkcmd(小写字母/数字/连字符;以后引用模型为 mkcmd/模型ID) |
| 显示名称 | 任意,如「东创天承 API」 |
| 基础 URL | https://api.mkcmd.com/v1(必须带 /v1,不要写成根域名) |
| API 密钥 | 本站令牌 sk-...。用密钥即可,不必再填请求头 |
| 模型 → 模型 ID | 与 /v1/models 的 id 完全一致,例如 glm-flash、deepseek-flash(不要填带版本号的上游 ID) |
| 模型 → 显示名称 | 随便起,只给 OpenClaw 界面看,不会发给本站 |
| 请求头 | 留空 |
需要用的模型都要点「添加模型」各加一行。只加提供商、不填模型,OpenClaw 里选不到本站模型。
若改配置文件 openclaw.json(字段比 GUI 多,GUI 没有的可写在这里):
{
"models": {
"providers": {
"mkcmd": {
"baseUrl": "https://api.mkcmd.com/v1",
"apiKey": "sk-你的令牌",
"api": "openai-completions",
"timeoutSeconds": 300,
"models": [
{"id": "glm-flash", "name": "GLM Flash", "reasoning": true, "input": ["text", "image"], "contextWindow": 1048576, "maxTokens": 32768},
{"id": "deepseek-flash", "name": "DeepSeek Flash", "reasoning": true, "input": ["text"], "contextWindow": 1048576, "maxTokens": 32768},
{"id": "minimax", "name": "MiniMax", "reasoning": true, "input": ["text", "image"], "contextWindow": 512000, "maxTokens": 32768},
{"id": "mistral", "name": "Mistral", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 8192}
]
}
}
},
"agents": {
"defaults": {
"model": { "primary": "mkcmd/glm-flash" }
}
}
}
配置文件里请带上 contextWindow、reasoning、input(有视觉则含 image)、maxTokens。GUI 只填 ID 时,OpenClaw 不会像内置 Ollama 那样去拉 /api/show,上下文会落到默认约 200K,推理开关也可能是关的。完整列表:https://api.mkcmd.com/ops/api/openclaw-models(把数组贴进 models.providers.mkcmd.models)。
提供商ID/模型ID,例如 mkcmd/glm-flash。发给本站的仍是后面那段调用名。错误码
失败时 HTTP 状态码 + JSON:{"error":{"type":"new_api_error","code":"...","message":"..."}}。message 末尾带 request id,报障时请一并提供。
| HTTP | 常见含义 |
|---|---|
| 400 | 请求不合法。例如未指定 model。 |
| 401 | 令牌无效、过期或没带 Authorization。 |
| 403 | 令牌被禁用、IP 不允许,或本机防护拦截。先看控制台令牌状态。 |
| 404 | 路径写错。对话是 /v1/chat/completions,不是站点根路径。 |
| 408 / 504 | 上游太慢或超时。可开流式,或把客户端超时调到 300 秒。 |
| 429 | 调用过于频繁,或额度/速率触顶。稍后再试或看控制台额度。 |
| 402 | 该模型当前源额度/订阅不足。本站会自动换源重试;仍 402 则该模型暂不可用。 |
| 410 | 该档位当前上游版本已下线。请改用 /v1/models 里仍在的调用名,或等本站换映射后再试。 |
| 500 | 本站或上游内部错误。把 request id 发给管理员。 |
| 503 | 没有可用渠道。常见 code 为 model_not_found:模型名填错,或不在你令牌允许的列表里。 |
可用模型
客户端只填调用名。上下文 / 推理 / 视觉 / 「当前实际」随后台映射更新:改替换模型后在探测页点「刷新能力」,本表和 GET /v1/models 的 description 会换成新上游(如 V4 Flash → V4.1 Flash)。自定义提供商仍需把 openclaw-models 再贴进配置(或重启后重拉)。
| 调用名 | 档位 | 上下文 | 推理 | 视觉 | 当前实际(备注) |
|---|---|---|---|---|---|
deepseek-flash | DeepSeek 便宜档 | 1M | 是 | 否 | DeepSeek V4 Flash 0731 |
deepseek-pro | DeepSeek 更强档 | 1M | 是 | 否 | DeepSeek V4 Pro 0813 |
glm-flash | GLM 便宜档 | 1M | 是 | 是 | GLM 5.3 Flash |
glm-lite | GLM 标准 | 198K | 是 | 否 | GLM 5.1 |
glm | GLM 主力 | 1M | 是 | 否 | GLM 5.3 |
kimi-lite | Kimi 轻量 | 256K | 是 | 是 | Kimi K2.6 |
kimi-code | Kimi 代码 | 256K | 是 | 是 | Kimi K2.7 Code |
kimi | Kimi 主力 | 1M | 是 | 是 | Kimi K3 |
minimax-lite | MiniMax 轻量 | 192K | 是 | 否 | MiniMax M2.7 |
minimax | MiniMax 主力 | 500K | 是 | 是 | MiniMax M3 |
gpt-oss-20b | GPT-OSS 小 | 128K | 是 | 否 | gpt-oss 20B |
gpt-oss-120b | GPT-OSS 大 | 128K | 是 | 否 | gpt-oss 120B |
gemma | Gemma | 256K | 是 | 是 | Gemma 4 31B |
qwen | Qwen | 256K | 是 | 是 | Qwen 3.5 397B |
mistral | Mistral | 256K | 否 | 是 | Mistral Large 3 675B |
nemotron-nano | Nemotron 小 | 256K | 是 | 否 | Nemotron 3 Nano 30B |
nemotron-super | Nemotron 中 | 256K | 是 | 否 | Nemotron 3 Super |
nemotron-ultra | Nemotron 大 | 256K | 是 | 否 | Nemotron 3 Ultra |
/v1/models 时 description 即当前上游。计费
按 token 计费。下表为本站结算价,单位:美元 / 百万 token。实际扣费以控制台「日志 / 钱包」为准。
| 模型 | 输入 | 输出 |
|---|---|---|
nemotron-super | 0.0225 | 0.90 |
nemotron-nano | 0.09 | 0.36 |
gpt-oss-20b | 0.105 | 0.45 |
nemotron-ultra | 0.15 | 4.50 |
gemma | 0.21 | 0.60 |
gpt-oss-120b | 0.225 | 0.90 |
glm-flash | 0.225 | 0.75 |
deepseek-flash | 0.33 | 0.99 |
minimax-lite | 0.45 | 1.80 |
mistral | 0.75 | 2.25 |
minimax | 0.90 | 3.60 |
qwen | 0.90 | 5.40 |
deepseek-pro | 0.99 | 2.97 |
kimi-lite / kimi-code | 1.425 | 6.00 |
glm-lite | 1.50 | 4.80 |
glm | 2.10 | 6.60 |
kimi | 4.50 | 22.50 |
说明
- 调用名必须与
/v1/models完全一致。用deepseek-flash这种档位名,不要填上游版本号。 - 响应 JSON 里的
model有时会带回上游自己的版本号,忽略即可;客户端配置始终用本站调用名。 - 公开注册已关闭,账号由管理员发放;每人可在控制台自行创建多个令牌并限制模型或额度。
- OpenClaw 自定义提供商不会自动发现本站模型,见上文 OpenClaw。
- 完整管理功能(渠道、用户、充值)见控制台,不在本文档范围。