视频生成
基于 Seedance 模型的文生视频接口。任务异步执行:提交后返回任务 ID,轮询状态直到 succeeded 拿到视频 URL。按上游返回的输出计费单位结算,0 加价。
接口风格
onegate 主接口对齐字节 Seedance v3 风格(/api/v3/contents/generations/tasks)。同时保留 OpenAI 兼容风格的 /v1/videos/* 路径,两套路径共享同一鉴权、模型、计费和存储,客户端任选一套即可。
路径对照
| 能力 | Seedance v3(主) | OpenAI /v1(兼容) |
|---|---|---|
| 创建生成 | POST /api/v3/contents/generations/tasks | POST /v1/videos/generations |
| 查询单个 | GET /api/v3/contents/generations/tasks/{taskId} | GET /v1/videos/generations/{id} |
| 列表 | GET /api/v3/contents/generations/tasks | GET /v1/videos/generations |
| 素材声明 | POST /api/v3/assets | POST /v1/videos/assets |
| 素材列表 | GET /api/v3/assets | GET /v1/videos/assets |
| 素材详情 | GET /api/v3/assets/{assetId} | GET /v1/videos/assets/{id} |
| 上传素材 | PUT /api/v3/assets/{assetId}/content | PUT /v1/videos/assets/{id}/content |
| 预览链接 | GET /api/v3/assets/{assetId}/download-url | GET /v1/videos/assets/{id}/download-url |
| 删除素材 | DELETE /api/v3/assets/{assetId} | DELETE /v1/videos/assets/{id} |
请求格式
主请求体遵循 Seedance 原生 content 数组格式。顶层 prompt 字段在所有路径下同样被接受,兼容 OpenAI 风格客户端。
# Seedance v3 — 主路径
curl -H "Content-Type: application/json" -d '{
"model": "doubao-seedance-2-0-mini-260615",
"content": [{"type": "text", "text": "一只橘猫在夕阳下的屋顶上伸懒腰"}],
"duration": 5
}' https://aiconflu.com/api/v3/contents/generations/tasks
# OpenAI /v1 — 完全等价
curl -H "Content-Type: application/json" -d '{
"model": "doubao-seedance-2-0-mini-260615",
"prompt": "一只橘猫在夕阳下的屋顶上伸懒腰",
"duration": 5
}' https://aiconflu.com/v1/videos/generations响应格式
| 字段 | Seedance v3(主) | OpenAI /v1(兼容) |
|---|---|---|
| object | 省略 | "video.generation" |
| status | queued / running / succeeded / failed | pending / running / succeeded / failed |
| video_url | content:[{"type":"video","video_url":"..."}] | 顶层字段 |
| prompt / resolution / ratio / duration | 省略 | 顶层回显 |
| upstream_id | 省略 | 创建时回显 |
创建生成任务
POST https://aiconflu.com/api/v3/contents/generations/tasks
Authorization: Bearer $ONEGATE_API_KEY
Content-Type: application/json请求体
| 字段 | 类型 | 说明 |
|---|---|---|
| model | string | 视频模型 ID(必填),见下方列表 |
| content | array | Seedance 原生:含一个 type:text 片段的数组。也可直接传顶层 prompt 字段。 |
| resolution | string | 480p / 720p / 1080p / 4k,默认 720p |
| ratio | string | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9,默认 16:9 |
| duration | integer | 秒数,1–30,默认 5(受模型上限约束) |
| watermark | boolean | 是否带水印,默认 false |
示例请求
curl https://aiconflu.com/api/v3/contents/generations/tasks \
-H "Authorization: Bearer $ONEGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-mini-260615",
"content": [{"type": "text", "text": "一只橘猫在夕阳下的屋顶上伸懒腰,电影感镜头,4K"}],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"watermark": false
}'返回结构
{
"id": "a1b2c3d4-...",
"model": "doubao-seedance-2-0-mini-260615",
"status": "queued",
"usage": null,
"created_at": "2026-08-04T09:00:00.000Z"
}任务创建成功即返回 <InlineCode>queued</InlineCode>。视频生成是异步的,接下来用返回的 <InlineCode>id</InlineCode> 轮询状态。
查询任务状态
GET https://aiconflu.com/api/v3/contents/generations/tasks/{taskId}
Authorization: Bearer $ONEGATE_API_KEY额度准入只应用于创建任务的 POST,不会阻止已有任务的 GET 轮询,以便任务继续完成并结算。
curl https://aiconflu.com/api/v3/contents/generations/tasks/a1b2c3d4-... \
-H "Authorization: Bearer $ONEGATE_API_KEY"返回结构
{
"id": "a1b2c3d4-...",
"model": "doubao-seedance-2-0-mini-260615",
"status": "succeeded",
"content": [
{
"type": "video",
"video_url": "https://...",
"duration": 5
}
],
"usage": null,
"created_at": "2026-08-04T09:00:00.000Z"
}状态说明
queued· 已提交,排队中(onegate /v1 路径下为 pending)running· 正在生成processing· 正在处理submission_unknown· 提交结果待核实,保留任务 ID,不要改用新幂等键重复提交succeeded· 完成,content[0].video_url 可用failed· 失败,error 字段含原因
建议每 5–10 秒轮询一次,直到 <InlineCode>succeeded</InlineCode> 或 <InlineCode>failed</InlineCode>。轮询接口不会重复扣费——每个任务只在首次成功时计费一次。
参考图素材库
参考图片仅支持 doubao-seedance-2-0-260128 和 doubao-seedance-2-5-260628。每张图片必须是静态 PNG 或 JPEG,最大 20 MiB、2500 万像素。上传后资产被导入上游 Seedance,状态变为 <InlineCode>active</InlineCode> 才能用于生成视频。Fast/Mini 模型继续使用纯文本请求。
配额与限制
- 每用户最多 20 个未删除资产、总计 200 MiB
- 每小时最多 20 个新上传声明
- 上传声明 1 小时内未完成上传自动过期清理
- 资产自动保留期 7 天
步骤 1 · 声明素材
POST https://aiconflu.com/api/v3/assets
Authorization: Bearer $ONEGATE_API_KEY
Idempotency-Key: <your-key-1-to-128-visible-ascii>
Content-Type: application/json
{"model":"doubao-seedance-2-5-260628","filename":"reference.png","content_type":"image/png","size_bytes":12345,"asset_type":"image"}| 字段 | 类型 | 说明 |
|---|---|---|
| model | string | 资产所属视频模型(必填) |
| filename | string | 文件名,≤ 255 字符,不含控制字符(必填) |
| content_type | string | image/png 或 image/jpeg(必填) |
| size_bytes | integer | 图片字节数,1–20 MiB(必填) |
| asset_type | string | 固定填 image(必填) |
返回结构
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"model": "doubao-seedance-2-5-260628",
"asset_type": "image",
"filename": "reference.png",
"content_type": "image/png",
"size_bytes": 12345,
"width": null,
"height": null,
"status": "upload_pending",
"error": null,
"created_at": "2026-09-08T10:00:00.000Z",
"upload_expires_at": "2026-09-08T11:00:00.000Z",
"upload_url": "/api/v3/assets/550e8400-.../content"
}步骤 2 · 上传图片字节
PUT https://aiconflu.com/api/v3/assets/{assetId}/content
Authorization: Bearer $ONEGATE_API_KEY
Content-Type: image/png # 必须与声明一致
Content-Length: 12345 # 可选,若提供必须精确匹配
<图片原始字节>请求体是图片原始二进制,不是 multipart。上传完成后系统自动开始导入上游(可能需要几秒钟)。同一资产重复 PUT 相同字节返回当前状态;字节不同返回 409。
curl -X PUT https://aiconflu.com/api/v3/assets/550e8400-.../content \
-H "Authorization: Bearer $ONEGATE_API_KEY" \
-H "Content-Type: image/png" \
--data-binary @reference.png返回结构
{
"id": "550e8400-...",
"status": "uploaded",
"width": 1920,
"height": 1080,
"content_type": "image/png",
"size_bytes": 12345,
"error": null
}步骤 3 · 查询与轮询资产状态
GET https://aiconflu.com/api/v3/assets/{assetId}
Authorization: Bearer $ONEGATE_API_KEYGET 会触发状态推进:若当前是 uploaded/processing/reconciliation_required 且到达下次轮询时间,会自动发起或继续上游导入。建议每 15 秒轮询一次,遵守 429 响应的 Retry-After 头。
资产状态
upload_pending· 已声明,等待 PUT 上传字节uploading· 正在接收上传字节uploaded· 上传完成,等待导入上游importing· 正在创建上游资产组 / 资产processing· 上游处理中active· ✅ 可用于生成视频failed· 失败,error 字段含原因reconciliation_required· 上游状态待核实,保留资产 ID 不要重建deletion_pending· 已请求删除,清理中deleted· 已删除
列出我的素材
GET https://aiconflu.com/api/v3/assets?model=doubao-seedance-2-5-260628
Authorization: Bearer $ONEGATE_API_KEY按模型过滤返回最近 20 个未删除资产。必须携带 model 参数。
{
"object": "list",
"enabled": true,
"data": [
{
"id": "550e8400-...",
"model": "doubao-seedance-2-5-260628",
"status": "active",
"filename": "reference.png",
"content_type": "image/png",
"size_bytes": 12345,
"width": 1920,
"height": 1080,
"error": null,
"created_at": "2026-09-08T10:00:00.000Z",
"upload_expires_at": "2026-09-08T11:00:00.000Z",
"upload_url": "/api/v3/assets/550e8400-.../content"
}
]
}获取预览链接
GET https://aiconflu.com/api/v3/assets/{assetId}/download-url
Authorization: Bearer $ONEGATE_API_KEY返回一个带签名的临时预览 URL(有效 5 分钟)。仅适用于已上传未删除的资产;上游 deletion_pending 或已删除的资产返回 409。
{
"url": "https://aiconflu.com/api/v3/assets/.../media?purpose=preview&expires=...&signature=...",
"expires_in": 300
}删除素材
DELETE https://aiconflu.com/api/v3/assets/{assetId}
Authorization: Bearer $ONEGATE_API_KEY请求删除立即返回,后台异步清理上游资产和本地文件。以下情况返回 409:① 资产正被某个未完成的视频任务引用;② 最近 24 小时内有成功视频任务引用该资产。已在删除中的资产幂等返回当前状态。
使用参考图生成视频
POST https://aiconflu.com/api/v3/contents/generations/tasks
Authorization: Bearer $ONEGATE_API_KEY
Idempotency-Key: image-video-001
Content-Type: application/json
{"model":"doubao-seedance-2-5-260628","content":[{"type":"text","text":"Slow camera movement"}],"resolution":"480p","duration":4,"input_assets":[{"id":"LOCAL_ASSET_UUID"}]}reconciliation_required 表示需要核实上游状态。已知上游 ID 时系统继续查询;导入响应丢失且 ID 未知时不会盲目重建。删除结果不明时保持 deletion_pending 并保留文件和配额,请联系管理员核实。
可用模型与价格
视频模型按上游返回的 completion_tokens 结算,以人民币按官网输出单价计费,0 加价。任务认领与账本扣费原子完成,同一任务只扣费一次。
| 模型 ID | 能力 | 输出价格(CNY / 1M completion tokens) |
|---|---|---|
| doubao-seedance-2-5-260628 | 参考图/文本 · 30s/1080p | ¥70 |
| doubao-seedance-2-0-260128 | 标准 · 15s/1080p | ¥46 |
| doubao-seedance-2-0-fast-260128 | 快速 · 15s/720p | ¥37 |
| doubao-seedance-2-0-mini-260615 | 经济 · 15s/720p | ¥23 |