API 文档

ArtinSmart API 完全兼容 OpenAI 接口格式, 当前已上线 5 款旗舰大模型 (DeepSeek / GLM / Kimi / MiniMax), 一个 Key 全部可调。如果你已经在使用 OpenAI SDK, 只需修改 base_urlapi_key 即可无缝切换。

⚠ 调用前请先充值 — 新注册账户余额为 0, 调用 API 会返回 400/402 余额不足错误。请先 前往控制台充值 (最低 ¥1, 支付宝/微信扫码), 充值后立即可用。

快速开始

三步接入:

  1. 控制台注册并充值, 获取你的 API Key (格式: sk-xxxx)
  2. 设置 Base URL 为 https://api.artinsmart.cn/v1
  3. 选择模型 (例如 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

① 提交生成任务

POST /v1/chat/completions

创建一个对话补全请求。

请求参数

参数类型必填说明
modelstring必填模型名称, 见下方"可用模型"表 (例如 glm-5.2 / deepseek-v4-pro)
messagesarray必填对话消息列表,每条包含 rolecontent
streamboolean可选是否流式返回,默认 false
max_tokensinteger可选最大生成 Token 数
temperaturenumber可选采样温度 0-2,默认 1
top_pnumber可选核采样概率阈值

可用模型

模型名称系列推荐场景状态
deepseek-v4-flashDeepSeek高并发、大批量、成本敏感● 已上线
deepseek-v4-proDeepSeek复杂推理、深度分析● 已上线
glm-5.2GLM中文对话、代码、推理● 已上线
kimi-k3Kimi长文本理解、Agent● 已上线
MiniMax-M3MiniMax长上下文、创意写作● 已上线

详细单价见 模型与定价。同系列模型互为容灾 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 || '');
}

模型列表

② 查询任务结果

GET /v1/models

返回当前可用的所有模型列表。

curl https://api.artinsmart.cn/v1/models \
  -H "Authorization: Bearer sk-your-api-key"

视频生成

文生视频 / 图生视频,支持 480p 到 4K。和文本模型同一个 base_url、同一把密钥、同一个余额,按 token 计费。生成是异步的:先提交任务拿 task_id,再轮询结果。不想写代码可以直接用控制台的「AI 视频生成」模块

POST /v1/video/generations

提交生成任务。当前可用模型: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"}
GET /v1/video/generations/{task_id}

查询任务状态,建议 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.contentrole 决定它起什么作用。图片和视频都支持公网 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
resolutionmetadata480p / 720p / 1080p / 4k
ratiometadata16:9 / 9:16 / 1:1 / 4:3
durationmetadata秒数(整数),最长 12
generate_audiometadata是否生成音频,默认 false
watermarkmetadata是否打水印,默认 false
seedmetadata选填,固定种子便于复现
camera_fixedmetadata选填,true 为固定机位
return_last_framemetadata选填,返回尾帧图,用于接龙生成长视频
contentmetadata选填,素材数组(首帧/尾帧/参考图/参考视频),见上方 role 表

⑥ 状态与计费

状态流转QUEUEDIN_PROGRESSSUCCESS / 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 完整示例

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")

在线调试

API 测试