API 文档
ArtinSmart API 完全兼容 OpenAI 接口格式, 当前已上线 5 款旗舰大模型 (DeepSeek / GLM / Kimi / MiniMax), 一个 Key 全部可调。如果你已经在使用 OpenAI SDK, 只需修改 base_url 和 api_key 即可无缝切换。
快速开始
三步接入:
- 控制台注册并充值, 获取你的 API Key (格式:
sk-xxxx) - 设置 Base URL 为
https://api.artinsmart.cn/v1 - 选择模型 (例如
deepseek-v4-pro/glm-5.2), 发送请求
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.2", # 也可换成 deepseek-v4-pro / kimi-k3 等
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.2",
"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.2',
messages: [{ role: 'user', content: '你好,请介绍一下你自己' }]
});
console.log(resp.choices[0].message.content);
认证方式
所有 API 请求需要在 HTTP Header 中携带 API Key:
Authorization: Bearer sk-your-api-key
API Key 在控制台
AI 本地工作台
AI 云端工作台注册后获取, 格式 sk-xxxxxxxx。请妥善保管, 不要硬编码到公开代码或客户端中, 泄露后请立即在控制台重置。
Base URL
https://api.artinsmart.cn/v1
如果你使用 OpenAI 官方 SDK,只需在初始化时设置 base_url(Python)或 baseURL(Node.js)参数。其他所有参数保持不变。
Chat Completions
① 提交生成任务
创建一个对话补全请求。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 必填 | 模型名称, 见下方"可用模型"表 (例如 glm-5.2 / deepseek-v4-pro) |
messages | array | 必填 | 对话消息列表,每条包含 role 和 content |
stream | boolean | 可选 | 是否流式返回,默认 false |
max_tokens | integer | 可选 | 最大生成 Token 数 |
temperature | number | 可选 | 采样温度 0-2,默认 1 |
top_p | number | 可选 | 核采样概率阈值 |
可用模型
| 模型名称 | 系列 | 推荐场景 | 状态 |
|---|---|---|---|
deepseek-v4-flash | DeepSeek | 高并发、大批量、成本敏感 | ● 已上线 |
deepseek-v4-pro | DeepSeek | 复杂推理、深度分析 | ● 已上线 |
glm-5.2 | GLM | 中文对话、代码、推理 | ● 已上线 |
kimi-k3 | Kimi | 长文本理解、Agent | ● 已上线 |
MiniMax-M3 | MiniMax | 长上下文、创意写作 | ● 已上线 |
详细单价见 模型与定价。同系列模型互为容灾 fallback, 单一线路异常时自动切备线。企业客户可联系商务获取高可用专线接入。
响应格式
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1700000000,
"model": "glm-5.2",
"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.2",
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.2',
messages: [{ role: 'user', content: '用 Python 写一个快速排序' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
模型列表
② 查询任务结果
返回当前可用的所有模型列表。
curl https://api.artinsmart.cn/v1/models \
-H "Authorization: Bearer sk-your-api-key"
视频生成
文生视频 / 图生视频,支持 480p 到 4K。和文本模型同一个 base_url、同一把密钥、同一个余额,按 token 计费。生成是异步的:先提交任务拿 task_id,再轮询结果。不想写代码可以直接用控制台的「AI 视频生成」模块。
提交生成任务。当前可用模型:seedance-2.0。
curl https://api.artinsmart.cn/v1/video/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"prompt": "一只橘猫在阳光窗台上伸懒腰,暖色调特写,镜头缓慢推近",
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"duration": 8,
"generate_audio": false,
"watermark": false
}
}'
# 响应
{"id":"vid_xxx","task_id":"vid_xxx","status":"queued","model":"seedance-2.0"}
查询任务状态,建议 5 秒轮询一次,通常 1–4 分钟出片。
curl https://api.artinsmart.cn/v1/video/generations/vid_xxx \
-H "Authorization: Bearer sk-your-api-key"
# 生成中
{"code":"success","data":{"status":"IN_PROGRESS","progress":"50%"}}
# 完成
{"code":"success","data":{"status":"SUCCESS","progress":"100%","result_url":"https://.../output.mp4"}}
③ 用素材生成(图生视频 / 参考图 / 参考视频)
把素材放进 metadata.content,role 决定它起什么作用。图片和视频都支持公网 URL 或 data: base64 内联(内联时不需要你先把文件传到别处)。
{
"model": "seedance-2.0",
"prompt": "镜头缓慢拉远,人物转身走向远处",
"metadata": {
"resolution": "1080p", "ratio": "16:9", "duration": 8,
"content": [
{"type":"image_url","role":"first_frame", "image_url":{"url":"data:image/jpeg;base64,..."}},
{"type":"image_url","role":"last_frame", "image_url":{"url":"https://example.com/end.jpg"}},
{"type":"image_url","role":"reference_image", "image_url":{"url":"https://example.com/style.jpg"}},
{"type":"video_url","role":"reference_video", "video_url":{"url":"https://example.com/clip.mp4"}}
]
}
}
| role | 作用 | 数量 |
|---|---|---|
first_frame | 首帧,视频从这张图开始动,最常用的图生视频 | 1 张 |
last_frame | 尾帧,和首帧配合指定画面怎么收尾 | 1 张 |
reference_image | 参考图,用来定人物、风格、场景基调 | 最多 9 张 |
reference_video | 参考视频,参考已有片子的运镜与节奏 | 1 段 |
带视频输入更便宜:含 reference_video 时按更低的单价档计费(480p/720p 档 ¥26.6/M,1080p ¥29.45/M,4K ¥15.2/M)。不支持真人明星人脸参考图。
④ 接龙生成长视频
加 "return_last_frame": true,任务完成时会一并返回尾帧图;把它作为下一次请求的 first_frame,就能把多段接成一条长片。
⑤ 其他可选参数
camera_fixed(固定机位)、seed(固定随机种子便于复现)、generate_audio(生成配音配乐)、watermark(水印)。
| 参数 | 位置 | 说明 |
|---|---|---|
model | 顶层 | 固定 seedance-2.0 |
prompt | 顶层 | 画面描述,写清主体、动作、光线、镜头运动效果更好 |
images | 顶层 | 选填,首帧图数组(简写形式,等价于 content 里一条 first_frame) |
resolution | metadata | 480p / 720p / 1080p / 4k |
ratio | metadata | 16:9 / 9:16 / 1:1 / 4:3 |
duration | metadata | 秒数(整数),最长 12 |
generate_audio | metadata | 是否生成音频,默认 false |
watermark | metadata | 是否打水印,默认 false |
seed | metadata | 选填,固定种子便于复现 |
camera_fixed | metadata | 选填,true 为固定机位 |
return_last_frame | metadata | 选填,返回尾帧图,用于接龙生成长视频 |
content | metadata | 选填,素材数组(首帧/尾帧/参考图/参考视频),见上方 role 表 |
⑥ 状态与计费
状态流转:QUEUED → IN_PROGRESS → SUCCESS / FAILURE(失败看 fail_reason,失败不计费)。
计费:按上游返回的 token 数结算。480p/720p ¥43.7、1080p ¥48.45、4K ¥24.7(元/百万 token);含视频输入的续写更低。结果视频 URL 有有效期,请及时转存。
错误码
| 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.2", 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.2", 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 = ["deepseek-v4-flash", "deepseek-v4-pro", "glm-5.2", "kimi-k3", "MiniMax-M3"] # 一个 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")