文档 / API 参考
API 参考🎬 视频生成

AIComing API

一个 API Key,调用全部主流大模型。完全兼容 OpenAI SDK,支持流式、函数调用、视觉、Embeddings、图像与视频生成。把 base_url 换成 https://api.aicoming.top/v1,即可零成本切换。

当前版本 v1● 多协议兼容协议 HTTPS · JSON · SSE
1

注册并充值

邮箱注册,支持 Google / GitHub 登录。

2

创建 API Key

收藏 3 家以上商家,创建 Key 并选择路由模式。

3

替换 base_url 调用

OpenAI SDK / Cursor / Claude Code 零改造接入。

快速开始

鉴权与密钥

限制 Key 可调用的模型

模型列表

调用 GET /v1/models 获取当前可用模型。

GET /v1/models返回可用模型列表
gpt-5.5OpenAI
最新旗舰,tools / vision / JSON mode。
visiontoolsstream
claude-opus-4-7Anthropic
代码与长文领先,1M 上下文。
vision1M
deepseek-v4-proDeepSeek
极致性价比,中文与代码均衡。
streamtools
gpt-image-2OpenAI
图片生成,自动分流 1k/2k/4k。
imageedit
nano-banana-proGemini
高质量图像,文生图 / 图生图同端点。
imageedit

模型调用手册 LIVE

按模型逐个给出计费档位、参数说明与可直接运行的调用示例(Python / Node.js / cURL),数据与线上模型库实时同步。点击任意模型展开;图像与视频模型请留意各自的尺寸/清晰度档位与「按次固定规格」说明。支持深链 #mm-模型名 直达。

Chat Completions

核心对话接口,请求格式与 OpenAI 100% 一致。

POST /v1/chat/completions长耗时用 api.aicoming.top

请求参数

参数类型说明
model必填string

模型 ID,如 gpt-5.5

messages必填array

消息数组 {role, content}

streamboolean

是否流式返回。

temperaturenumber

0–2,默认 1。

toolsarray

函数调用工具数组。

response_formatobject

{"type":"json_object"}

在线试用

选择你的 API Key,发送真实请求。

请求构造器 · POST /v1/chat/completions
响应
选择 Key 后点击「运行」…
就绪

流式输出

图像生成 Beta

视频生成 Beta

虚拟人物素材库 Beta

一次上传角色形象,拿到一个 asset://aic_... 引用,之后所有视频生成都可以引用它,保持同一个人。与「随手上传一张参考图」的区别是:素材长期存在、可反复复用,且由平台托管在各视频线路上。

POST /v1/assets创建素材
GET /v1/assets我的素材列表
GET /v1/assets/{id}查询单个素材状态
DELETE /v1/assets/{id}删除素材

素材类型与限制

三种类型走同一套接口与状态机,区别只在体积上限与格式白名单。视频与音频用于 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

本地图片文件,用 multipart/form-data 提交。与 url 二选一必填

url

公网可直接 GET 的图片地址,用 application/json 提交。与 file 二选一必填。不支持 base64、需要鉴权的私有链接、内网地址。

name

素材名,便于在列表里辨认。可选,默认「虚拟人物」;超过 32 个字符会被截断

type

素材类型。可选,默认 image;目前仅支持 image,传其他值返回 400。

provider

指定优先落地的商家(商家 ID 或 slug)。可选。它只影响补传顺序——被指定的商家排到队首先落地,其余线路照常补传,不会因此少传。

图片要求

项目要求不合格时

宽 / 高

都在 300~6000 像素之间

上传时当场 400

文件大小

20MB

上传时当场 400

格式

JPG / PNG / WebP

上传时当场 400

URL 可达性

公网 http/https,返回图片 Content-Type

上传时当场 400

画面内容

由上游模型判定(清晰人物正面效果最好)

补传阶段失败 素材转 failed

查询状态

创建是异步的,返回 status: "processing"通常 10 秒内变为 active,之后即可在视频生成中使用。

{"id":"aic_x7KqM3nP8vRt2LwB9cYdZa","status":"active","lines":[{"provider_name":"...","status":"active"}]}
status含义
processing

处理中,稍候重试。

active

可用,能在视频生成中引用。

failed

处理失败,原因见 fail_reason

响应字段

字段含义
id

平台素材 ID(aic_ 开头)。

asset_url

可直接放进视频请求的引用串,形如 asset://aic_...

status

素材整体状态。只要有任意一条线路 active 就是 active,此时即可使用。

thumbnail_url

缩略图。只有 file 上传的素材才有;用 url 提交的我们没有副本,返回空串。

fail_code / fail_reason

仅在 status=failed 时出现。fail_code 用于程序分支,fail_reason 是给人看的中文说明。

lines[]

各条线路的落地情况。素材会被同时补传到所有支持的线路,所以某条线 failed 但整体仍是 active 是正常的——生成时会自动挑一条可用的线路。

推荐接入流程

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 并说明原因,不会静默生成一个不相干的视频。需要在这些模型上用参考图时,改传公网图片地址即可。
注意模型 id 的写法:主模型是 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 但没带 file 字段。

asset_missing_url

用了 JSON 但没给 url。两种 body 至少给一个图片来源。

asset_type_unsupported

type 只支持 image;video / audio 尚未开放。

asset_unreachable

链接打不开或返回非图片内容。必须是公网可直接 GET 的图片。

asset_daily_limit

今日新建素材已达 200 次上限,明天再试。

asset_no_line

平台当前没有支持素材的线路(通常是短暂的,稍后重试)。

asset_storage_unavailable

对象存储暂不可用,文件上传方式不可用;可改用 url 方式。

asset_upload_failed

文件写入对象存储失败,重试即可。

引用素材生成时的错误

这些码出现在视频生成接口,不是上传接口。

code含义
asset_invalid_reference

引用格式不对。必须是平台返回的 asset://aic_...;上游原始 ID 一律拒绝。

asset_not_found

素材不存在,或不属于你(越权一律 404,不用 403)。

asset_not_ready

素材还在补传中。轮询到 status=active 再发起生成。

asset_failed

素材已处理失败,不能使用。看它的 fail_reason 换一张图重传。

asset_line_unavailable

该模型不支持素材引用(如 mini / fast / dreamina 系),或素材在可用线路上都还没就绪。换用 doubao-seedance-2.0,或改传公网图片地址。

补传失败原因(fail_code)

素材 status=failed 时,fail_code 取以下值之一;lines[].statusfailed 的那条线路也会带上原因。

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_budgetreasoning_effort
  • Image · 按张,1k/2k/4k 分辨率不同价。
  • Video · 按时长计费:每秒单价 × 时长(秒),分辨率分档(如 480p/720p/1080p 不同单价);部分模型按次;少数模型按 Token 计费(按上游返回的 usage token 数 × 输入/输出单价,模型页会标注 /M 单价)。
  • Audio · 按次(¥/次)。
  • 缓存 · prompt caching 命中部分按更低价计费。
  • 失败 · 4xx/5xx 不计费;路由中途失败的尝试不计费;连接正常但上游一个内容字节都没返回的调用同样不计费。
  • 余额 · 实时扣费,余额不足返回 402。
  • 充值 · 充值由平台统一代收,实时进入你的账户余额。在分站注册的用户,充值同样由平台代收与记账,余额在该分站内使用;分站站长不经手资金,其收益来自消费调用时的加价差价。