API 文档
与 OpenAI 协议完全兼容。把 base_url 指向控制台显示的用户专属节点,其余照旧。
快速开始
把 SDK 的 base_url 换成 https://<node>.quark.ink/v1,其中<node> 是控制台显示的用户专属节点。api_key 换成管理员签发的 qk_****,一行改动即可接入已授权模型。
from openai import OpenAI client = OpenAI( base_url="https://<node>.quark.ink/v1", # <node> 在控制台查看 api_key="qk_****", ) resp = client.chat.completions.create( model="glm-5.2", messages=[{"role": "user", "content": "你好,Quark"}], ) print(resp.choices[0].message.content)
认证
所有请求在 Authorization 头携带 Key,格式为 Bearer qk_****。Key 由管理员签发,客户控制台只展示 Key 元数据。
curl https://<node>.quark.ink/v1/models \
-H "Authorization: Bearer qk_****"每个 Key 只能调用管理员配置的模型路由;未授权模型返回 404,未授权上游覆盖返回 403。
Chat Completions
POST /v1/chat/completions
请求与响应字段与 OpenAI 协议一致,现有 SDK 与工具链零改造。
{
"model": "glm-5.2",
"messages": [
{"role": "system", "content": "回答保持简短。"},
{"role": "user", "content": "你好,Quark"}
],
"temperature": 0.7,
"max_tokens": 1024
}{
"id": "202607231720598de33176b54f0a0527",
"object": "chat.completion",
"created": 1784827259,
"model": "glm-5.2",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好,这里是 Quark。",
"reasoning_content": "用户希望得到简短问候。"
},
"finish_reason": "stop"
}
],
"request_id": "202607231720598de33176b54f0a0527",
"usage": {
"prompt_tokens": 18,
"completion_tokens": 18,
"total_tokens": 36,
"prompt_tokens_details": {
"cached_tokens": 0
}
}
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名,见下方模型列表 |
| messages | array | 是 | 对话消息,role 支持 system/user/assistant |
| stream | boolean | 否 | 默认 false,开启后以 SSE 逐块返回 |
| temperature | number | 否 | 采样温度 0–2,默认 1 |
| max_tokens | integer | 否 | 生成上限,缺省由模型决定 |
流式
请求体加 "stream": true,响应转为 SSE,每块一个 chunk,最后以 data: [DONE] 收尾。
data: {"id":"chatcmpl-9f2a1c","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":""}}]} data: {"id":"chatcmpl-9f2a1c","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"你好"}}]} data: {"id":"chatcmpl-9f2a1c","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":",这里是 Quark。"}}]} data: {"id":"chatcmpl-9f2a1c","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE]
错误码
错误响应体与 OpenAI 协议一致,含 error.code 与 error.message。
| 状态码 | 含义 | 处理建议 |
|---|---|---|
| 401 | 无效 Key | 检查 Key 拼写与撤销状态,必要时重新签发 |
| 403 | 上游覆盖未授权 | 移除 x-quark-upstream,或联系管理员调整该 Key 的路由 |
| 404 | 模型未授权 | 检查模型名,或联系管理员为该 Key 配置模型路由 |
| 429 | 触发限流 | 按 Retry-After 退避重试,或升级套餐 |
| 500 | 上游异常 | 稍后重试,网关已自动上报并切换通道 |
| 503 | 通道降级 | 上游拥塞,稍候再试或临时切换模型 |
模型列表
划线为官方牌价,下方为现价;单位美元/百万 tokens,牌价变动同步生效。
| 模型 | 厂商 | 上下文 | 输入 · $/1M | 输出 · $/1M |
|---|---|---|---|---|
| glm-5.2 | Zhipu | 1M | ||
| glm-5.1 | Zhipu | 200K |