AIComing API
一个 API Key,调用全部主流大模型。完全兼容 OpenAI SDK,支持流式、函数调用、视觉、Embeddings、图像与视频生成。把 base_url 换成 https://api.aicoming.top/v1,即可零成本切换。
注册并充值
邮箱注册,支持 Google / GitHub 登录。
创建 API Key
收藏 3 家以上商家,创建 Key 并选择路由模式。
替换 base_url 调用
OpenAI SDK / Cursor / Claude Code 零改造接入。
快速开始
鉴权与密钥
限制 Key 可调用的模型
模型列表
调用 GET /v1/models 获取当前可用模型。
模型调用手册 LIVE
按模型逐个给出计费档位、参数说明与可直接运行的调用示例(Python / Node.js / cURL),数据与线上模型库实时同步。点击任意模型展开;图像与视频模型请留意各自的尺寸/清晰度档位与「按次固定规格」说明。支持深链 #mm-模型名 直达。
Chat Completions
核心对话接口,请求格式与 OpenAI 100% 一致。
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| model必填 | string | 模型 ID,如 |
| messages必填 | array | 消息数组 |
| stream | boolean | 是否流式返回。 |
| temperature | number | 0–2,默认 1。 |
| tools | array | 函数调用工具数组。 |
| response_format | object |
|
在线试用
选择你的 API Key,发送真实请求。
流式输出
图像生成 Beta
视频生成 Beta
虚拟人物素材库 Beta
一次上传角色形象,拿到一个 asset://aic_... 引用,之后所有视频生成都可以引用它,保持同一个人。与「随手上传一张参考图」的区别是:素材长期存在、可反复复用,且由平台托管在各视频线路上。
素材类型与限制
三种类型走同一套接口与状态机,区别只在体积上限与格式白名单。视频与音频用于 doubao-seedance-2.0 的参考视频 / 参考音频。
| type | 用途 | 体积上限 | 格式 |
|---|---|---|---|
| image | 人物形象、参考图 | 20 MB | JPG / PNG / WebP,宽高均需在 300~6000 像素之间 |
| video | 参考视频(镜头运动、动作风格) | 120 MB | MP4 / MOV / WebM |
| audio | 参考音频(配音、背景音) | 30 MB | MP3 / WAV / M4A / AAC |
尺寸校验(300~6000 像素)只对 image 生效;视频与音频不做该校验。
创建素材
直接上传本地文件(multipart/form-data):
curl https://api.aicoming.top/v1/assets \
-H "Authorization: Bearer sk-your-key" \
-F "file=@/path/to/face.jpg" \
-F "name=小美" \
-F "type=image"或者给一个公网可访问的 URL(application/json):
curl https://api.aicoming.top/v1/assets \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/face.jpg","name":"小美","type":"image"}'{"id":"aic_x7KqM3nP8vRt2LwB9cYdZa","asset_url":"asset://aic_x7KqM3nP8vRt2LwB9cYdZa","name":"小美","type":"image","status":"processing"}尺寸不合格会当场 400,不会进异步队列。宽或高超出 300~6000 像素时直接返回 asset_dimension_out_of_range,提示里会带上你这张图的实际尺寸(如「图片尺寸 216×384 不符合要求」)。WebP 等无法在入口解析尺寸的格式会放行,若确实越界,会在补传阶段以同一个错误码失败。
请求参数
| 参数 | 含义 |
|---|---|
| file | 本地图片文件,用 |
| url | 公网可直接 GET 的图片地址,用 |
| name | 素材名,便于在列表里辨认。可选,默认「虚拟人物」;超过 32 个字符会被截断。 |
| type | 素材类型。可选,默认 |
| provider | 指定优先落地的商家(商家 ID 或 slug)。可选。它只影响补传顺序——被指定的商家排到队首先落地,其余线路照常补传,不会因此少传。 |
图片要求
| 项目 | 要求 | 不合格时 |
|---|---|---|
宽 / 高 | 都在 300~6000 像素之间 | 上传时当场 400 |
文件大小 | ≤ 20MB | 上传时当场 400 |
格式 | JPG / PNG / WebP | 上传时当场 400 |
URL 可达性 | 公网 http/https,返回图片 Content-Type | 上传时当场 400 |
画面内容 | 由上游模型判定(清晰人物正面效果最好) | 补传阶段失败 素材转 |
查询状态
创建是异步的,返回 status: "processing"。通常 10 秒内变为 active,之后即可在视频生成中使用。
{"id":"aic_x7KqM3nP8vRt2LwB9cYdZa","status":"active","lines":[{"provider_name":"...","status":"active"}]}| status | 含义 |
|---|---|
| processing | 处理中,稍候重试。 |
| active | 可用,能在视频生成中引用。 |
| failed | 处理失败,原因见 |
响应字段
| 字段 | 含义 |
|---|---|
| id | 平台素材 ID( |
| asset_url | 可直接放进视频请求的引用串,形如 |
| status | 素材整体状态。只要有任意一条线路 active 就是 active,此时即可使用。 |
| thumbnail_url | 缩略图。只有 file 上传的素材才有;用 url 提交的我们没有副本,返回空串。 |
| fail_code / fail_reason | 仅在 |
| lines[] | 各条线路的落地情况。素材会被同时补传到所有支持的线路,所以某条线 |
推荐接入流程
import time, requests
H = {"Authorization": "Bearer sk-your-key"}
B = "https://api.aicoming.top"
# 1. 上传(尺寸/格式/大小不合格会在这一步就 400)
r = requests.post(f"{B}/v1/assets", headers=H,
files={"file": open("face.jpg", "rb")},
data={"name": "小美"})
r.raise_for_status()
aid = r.json()["data"]["id"]
# 2. 轮询到 active(实测通常 10 秒内)
for _ in range(30):
d = requests.get(f"{B}/v1/assets/{aid}", headers=H).json()["data"]
if d["status"] in ("active", "failed"): break
time.sleep(2)
if d["status"] != "active":
raise RuntimeError(d["fail_reason"])
# 3. 之后任意次视频生成都可以引用它
requests.post(f"{B}/v1/videos/generations", headers=H, json={
"model": "doubao-seedance-2.0",
"prompt": "@Image1 的角色在海边散步",
"image_urls": [d["asset_url"]],
"duration": 4,
})列出与删除
GET /v1/assets 只返回你自己的素材。查询参数:limit(默认 50,上限 100)、offset(默认 0)、status(按 processing/active/failed 过滤)。
{"data":[ /* 素材对象数组,字段同上 */ ],"total":37,"limit":50,"offset":0}DELETE /v1/assets/{id} 立即返回,各线路上游的清理由后台异步完成——上游超时不该让你删不掉。删除后引用它的 asset:// 会失效,已生成的视频不受影响。查询或删除别人的素材一律返回 404(不用 403,403 等于承认「这个 ID 存在但不属于你」)。
在视频生成中使用
doubao-seedance-2.0 支持 asset:// 引用。同一系列的 doubao-seedance-2-0-mini / -fast 以及 dreamina-* 系跑在不同的上游后端上,那些后端看不到素材库,因此不能引用素材。对不支持的模型传 asset:// 会直接返回 asset_line_unavailable 并说明原因,不会静默生成一个不相干的视频。需要在这些模型上用参考图时,改传公网图片地址即可。doubao-seedance-2.0(点),而它的变体是 doubao-seedance-2-0-mini / doubao-seedance-2-0-fast(横杠)。写错会收到 model_not_supported_by_selected_providers。以 /v1/models 返回的 id 为准。把 asset://... 当作一张参考图放进 image_urls 即可,其余参数与普通视频生成完全一致。
{"model":"doubao-seedance-2.0","prompt":"@Image1 的角色在海边散步","image_urls":["asset://aic_x7KqM3nP8vRt2LwB9cYdZa"],"duration":4}限制
- 每个账号最多保存 200 个素材,每日最多新建 200 次。
- 单个文件不超过 20MB,支持 JPG / PNG / WebP。
- 图片宽和高都必须在 300~6000 像素之间——这是上游模型的硬性要求。小于 300px 的头像、占位图会在处理阶段被判失败,
fail_reason会写明具体原因。 - 素材与普通参考图共用同一个 9 张图的上限,不额外放宽。
- 处理失败的素材保留 7 天便于查看原因,之后自动清理;失败素材不占用配额。
- 为保证可用性,素材会同步至平台所有可用的视频线路。
错误码
| code | 含义 |
|---|---|
| asset_not_found | 素材不存在。 |
| asset_not_ready | 素材仍在处理中,请稍候再试。 |
| asset_invalid_url | 链接无效,或不是公网可访问的地址。 |
| asset_format_unsupported | 图片格式不支持。 |
| asset_too_large | 文件超过 20MB。 |
| asset_dimension_out_of_range | 图片宽或高超出 300~6000 像素,换一张更大的原图。 |
| asset_media_unsupported | 上游无法解析这张图(尺寸过小、格式异常或文件损坏),重新导出为标准 JPG / PNG 再传。 |
| asset_group_gone | 该线路的素材库正在重建,平台会自动重新补传,无需人工处理。 |
| asset_quota_exceeded | 素材数量已达上限。 |
| asset_line_unavailable | 素材当前没有可用线路,请稍后重试。 |
| asset_missing_file | 用了 multipart 但没带 |
| asset_missing_url | 用了 JSON 但没给 |
| asset_type_unsupported |
|
| asset_unreachable | 链接打不开或返回非图片内容。必须是公网可直接 GET 的图片。 |
| asset_daily_limit | 今日新建素材已达 200 次上限,明天再试。 |
| asset_no_line | 平台当前没有支持素材的线路(通常是短暂的,稍后重试)。 |
| asset_storage_unavailable | 对象存储暂不可用,文件上传方式不可用;可改用 |
| asset_upload_failed | 文件写入对象存储失败,重试即可。 |
引用素材生成时的错误
这些码出现在视频生成接口,不是上传接口。
| code | 含义 |
|---|---|
| asset_invalid_reference | 引用格式不对。必须是平台返回的 |
| asset_not_found | 素材不存在,或不属于你(越权一律 404,不用 403)。 |
| asset_not_ready | 素材还在补传中。轮询到 |
| asset_failed | 素材已处理失败,不能使用。看它的 |
| asset_line_unavailable | 该模型不支持素材引用(如 mini / fast / dreamina 系),或素材在可用线路上都还没就绪。换用 |
补传失败原因(fail_code)
素材 status=failed 时,fail_code 取以下值之一;lines[].status 为 failed 的那条线路也会带上原因。
| fail_code | 含义 |
|---|---|
| asset_dimension_out_of_range | 宽或高超出 300~6000 像素。换一张更大的原图。 |
| asset_media_unsupported | 上游无法解析这张图(尺寸过小、格式异常或文件损坏)。重新导出为标准 JPG/PNG。 |
| asset_invalid_url | 上游下载不到这个地址(链接过期、需要鉴权、或被防盗链拦截)。 |
| asset_group_gone | 该线路的素材库正在重建。平台会自动重新补传,无需人工处理。 |
| asset_mirror_timeout | 该线路补传超过 24 小时仍未成功,已停止重试。其他线路不受影响。 |
| asset_line_gone | 该线路已下架或不再支持素材。 |
| asset_upstream_error | 上游返回了我们无法归类的错误,仍在按退避重试。 |
Embeddings
语音转文字
Responses API
Gemini 原生协议
余额查询
SDK
客户端配置
智能路由
错误码
计费与扣费
- Chat · 按输入/输出 tokens(¥/1M)。
- 思考模型 · gpt-5.x、gemini 3.x、o 系等会先「思考」再作答。账单里的输出 tokens 是思考 + 正文的合计——上游有的把思考单列在
reasoning_tokens,有的直接并进completion_tokens,我们按total_tokens交叉校验后统一口径。所以输出数可能明显大于你看到的正文长度。 - max_tokens · 对思考模型,它是思考与正文共用的总上限,且思考先花。给得太小会出现「照常计费、正文却几乎为空、
finish_reason=length」。要单独限制思考,传thinking_budget或reasoning_effort。 - Image · 按张,1k/2k/4k 分辨率不同价。
- Video · 按时长计费:
每秒单价 × 时长(秒),分辨率分档(如 480p/720p/1080p 不同单价);部分模型按次;少数模型按 Token 计费(按上游返回的 usage token 数 × 输入/输出单价,模型页会标注/M单价)。 - Audio · 按次(¥/次)。
- 缓存 · prompt caching 命中部分按更低价计费。
- 失败 · 4xx/5xx 不计费;路由中途失败的尝试不计费;连接正常但上游一个内容字节都没返回的调用同样不计费。
- 余额 · 实时扣费,余额不足返回 402。
- 充值 · 充值由平台统一代收,实时进入你的账户余额。在分站注册的用户,充值同样由平台代收与记账,余额在该分站内使用;分站站长不经手资金,其收益来自消费调用时的加价差价。