API 文档
ArtinSmart API 完全兼容 OpenAI 接口格式, 当前已上线 10 款主流大模型 (GLM / DeepSeek / Qwen / Kimi / MiniMax), 一个 Key 全部可调。如果你已经在使用 OpenAI SDK, 只需修改 base_url 和 api_key 即可无缝切换。
⚠ 调用前请先充值 — 新注册账户余额为 0, 调用 API 会返回 400/402 余额不足错误。请先 前往控制台充值 (最低 ¥1, 支付宝/微信扫码), 充值后立即可用。
快速开始
三步接入:
- 控制台注册并充值, 获取你的 API Key (格式:
sk-xxxx) - 设置 Base URL 为
https://api.artinsmart.cn/v1 - 选择模型 (例如
glm-5/deepseek-v4-pro), 发送请求
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.artinsmart.cn/v1"
)
resp = client.chat.completions.create(
model="glm-5", # 也可换成 deepseek-v4-pro / qwen3.7-max 等
messages=[{"role": "user", "content": "你好,请介绍一下你自己"}]
)
print(resp.choices[0].message.content)
curl https://api.artinsmart.cn/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5",
"messages": [{"role": "user", "content": "你好,请介绍一下你自己"}]
}'
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.artinsmart.cn/v1'
});
const resp = await client.chat.completions.create({
model: 'glm-5',
messages: [{ role: 'user', content: '你好,请介绍一下你自己' }]
});
console.log(resp.choices[0].message.content);
认证方式
所有 API 请求需要在 HTTP Header 中携带 API Key:
Authorization: Bearer sk-your-api-key
API Key 在控制台注册后获取, 格式 sk-xxxxxxxx。请妥善保管, 不要硬编码到公开代码或客户端中, 泄露后请立即在控制台重置。
Base URL
https://api.artinsmart.cn/v1
如果你使用 OpenAI 官方 SDK,只需在初始化时设置 base_url(Python)或 baseURL(Node.js)参数。其他所有参数保持不变。
Chat Completions
POST
/v1/chat/completions
创建一个对话补全请求。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 必填 | 模型名称, 见下方"可用模型"表 (例如 glm-5 / deepseek-v4-pro) |
messages | array | 必填 | 对话消息列表,每条包含 role 和 content |
stream | boolean | 可选 | 是否流式返回,默认 false |
max_tokens | integer | 可选 | 最大生成 Token 数 |
temperature | number | 可选 | 采样温度 0-2,默认 1 |
top_p | number | 可选 | 核采样概率阈值 |
可用模型
| 模型名称 | 系列 | 推荐场景 | 状态 |
|---|---|---|---|
glm-5 | GLM | 中文对话、代码、推理 | ● 已上线 |
glm-4.7 | GLM | 性价比通用对话 | ● 已上线 |
deepseek-v4-pro | DeepSeek | 复杂推理、深度分析 | ● 已上线 |
deepseek-v4-flash | DeepSeek | 极速响应、高频短文 | ● 已上线 |
qwen3.7-max | Qwen | 综合能力旗舰 | ● 已上线 |
qwen3.7-plus | Qwen | 中等复杂度任务 | ● 已上线 |
kimi-k2.6 | Kimi | 长文本理解 | ● 已上线 |
kimi-k2.5 | Kimi | 长文本备份线路 | ● 已上线 |
MiniMax-M2.5 | MiniMax | 创意写作 | ● 已上线 |
MiniMax-M2.1 | MiniMax | 创意写作备份线路 | ● 已上线 |
详细单价见 模型与定价。同系列模型互为容灾 fallback, 单一线路异常时自动切备线。企业客户可联系商务获取 glm-5.1 高可用专线接入。
响应格式
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1700000000,
"model": "glm-5",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!有什么可以帮助你的吗?"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 8,
"completion_tokens": 12,
"total_tokens": 20
}
}
流式输出
设置 "stream": true 即可启用 Server-Sent Events 流式返回:
stream = client.chat.completions.create(
model="glm-5",
messages=[{"role": "user", "content": "用 Python 写一个快速排序"}],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content or ""
print(content, end="", flush=True)
const stream = await client.chat.completions.create({
model: 'glm-5',
messages: [{ role: 'user', content: '用 Python 写一个快速排序' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
模型列表
GET
/v1/models
返回当前可用的所有模型列表。
curl https://api.artinsmart.cn/v1/models \
-H "Authorization: Bearer sk-your-api-key"
错误码
| HTTP 状态码 | 说明 | 处理建议 |
|---|---|---|
400 | 请求参数错误 / 余额不足 | 检查请求体;若错误信息含 budget/balance/exceeded → 前往控制台充值 |
401 | 认证失败 / Key 已失效 | 检查 API Key;若刚创建/删除子key, 等约 60 秒缓存生效 |
402 | 余额不足 | 前往控制台充值即可继续使用 |
403 | 权限不足 | 确认 Key 有权访问该模型 |
404 | 模型不存在 | 检查模型名称拼写, 参考上方可用模型表 |
429 | 请求频率超限 | 降低请求频率, 稍后重试 |
500 | 服务器内部错误 | 稍后重试, 持续出现请联系客服 |
503 | 服务暂时不可用 | 上游模型服务繁忙, 稍后重试 |
速率限制
账号默认无 RPM/TPM 硬限制,实际并发受模型容量约束。如需稳定高并发,请联系商务获取专属配额。
如果遇到 429 错误,说明模型服务繁忙,等待几秒后重试即可。402 错误说明账户余额不足,请前往控制台充值。
SDK 兼容
以下 SDK/工具无需修改即可使用,只需设置 base_url:
- Python:
pip install openai(>= 1.0) - Node.js:
npm install openai(>= 4.0) - Go:
sashabaranov/go-openai - 工具: LangChain, LlamaIndex, Dify, LobeChat, ChatGPT-Next-Web, Cherry Studio 等
Python 完整示例
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.artinsmart.cn/v1"
)
messages = [
{"role": "system", "content": "你是一个有帮助的AI助手。"},
{"role": "user", "content": "什么是机器学习?"}
]
# 第一轮
resp = client.chat.completions.create(model="glm-5", messages=messages)
answer = resp.choices[0].message.content
print("AI:", answer)
# 第二轮(带上历史)
messages.append({"role": "assistant", "content": answer})
messages.append({"role": "user", "content": "能举一个具体的例子吗?"})
resp = client.chat.completions.create(model="glm-5", messages=messages)
print("AI:", resp.choices[0].message.content)
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.artinsmart.cn/v1"
)
models = ["glm-5", "deepseek-v4-pro", "qwen3.7-plus", "kimi-k2.6"] # 一个 Key 全部可调
prompt = [{"role": "user", "content": "用一句话解释什么是大语言模型"}]
for model in models:
resp = client.chat.completions.create(model=model, messages=prompt, max_tokens=100)
print(f"[{model}] {resp.choices[0].message.content}")
print(f" Token: {resp.usage.total_tokens}\n")