API Reference
Seedance 2 视频生成 API
基于火山引擎 Ark 平台的 Seedance 2.0 视频生成服务, 接口参数格式与官方完全兼容,提交任务、查询结果,即可生成高质量视频。
2.0
Seedance 版本
4~15s
视频时长
720p
默认分辨率
快速开始
三步完成视频生成:获取 API Key → 上传素材(可选)→ 提交任务并轮询结果。
🔗 接口地址
Base URL
https://api.seegen.ai
-
获取 API Key 通过管理后台或客户门户创建 API Key,用于所有
/v1/*接口的鉴权。 -
上传素材(可选) 如需使用自定义图片/视频作为参考,先通过素材管理接口上传,审核通过后获得
asset://<ID>格式的素材 ID。 -
提交任务并轮询 调用
POST /v1/contents/generations/tasks提交任务,获得task_id,随后每隔 10~30 秒轮询一次状态,直到succeeded或failed。
鉴权方式
所有 /v1/* 接口均需在请求头中携带 API Key。
HTTP Header
Authorization: Bearer <YOUR_API_KEY>
API Key 在管理后台的"客户详情"页面或客户门户的"API Keys"页面创建。Key 仅在创建时完整展示一次,请妥善保存。
视频生成任务 核心接口
任务接口为异步接口,提交后需轮询查询结果。
接口参数格式与火山引擎 Ark API POST /api/v3/contents/generations/tasks 完全一致。
直接兼容火山引擎官方 SDK,将
base_url 改为本服务地址即可,无需修改其他代码。
POST
/v1/contents/generations/tasks
提交视频生成任务。任务为异步处理,返回任务 ID 后需主动轮询查询结果。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 模型 ID,推荐使用 doubao-seedance-2-0-260128(Seedance 2.0)或 doubao-seedance-2-0-fast-260128(Seedance 2.0 fast,速度更快) |
| content | object[] | 必填 | 输入内容数组,支持文本、图片、视频、音频,详见下方说明 |
| generate_audio | boolean | 可选 | 是否生成有声视频,默认 true。设为 false 生成无声视频 |
| ratio | string | 可选 | 视频宽高比,默认 adaptive(自动)。可选值:16:9、9:16、4:3、3:4、1:1、21:9 |
| duration | integer | 可选 | 视频时长(秒),默认 5。支持 4~15,或设为 -1 由模型智能选择 |
| resolution | string | 可选 | 视频分辨率,默认 720p。可选值:480p、720p |
| tools | object[] | 可选 | 工具配置。目前支持 {"type": "web_search"}(联网搜索增强,仅文生视频) |
| watermark | boolean | 可选 | 是否添加水印,默认 false |
content 内容类型
每个 content 对象包含 type 字段,决定输入类型:
type: "text"
文本提示词,描述期望生成的视频内容
字段:
字段:
text(string)type: "image_url"
图片输入,支持公网 URL、Base64 或素材 ID
字段:
字段:
image_url.url,roletype: "video_url"
视频输入(仅 Seedance 2.0 支持),支持公网 URL 或素材 ID
字段:
字段:
video_url.url,roletype: "audio_url"
音频输入,需与图片或视频同时传入
字段:
字段:
audio_url.url,role: "reference_audio"
素材 ID 使用:通过素材管理接口上传并审核通过的素材,可用
role 字段:图生视频-首帧填
asset://<ASSET_ID> 格式在 url 字段中引用。role 字段:图生视频-首帧填
first_frame,尾帧填 last_frame,多模态参考图填 reference_image,参考视频填 reference_video,参考音频填 reference_audio。
请求示例 — 多模态参考生成
bash / curl
curl https://api.seegen.ai/v1/contents/generations/tasks \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "model": "doubao-seedance-2-0-260128", "content": [ { "type": "text", "text": "产品宣传广告,近景特写,镜头从左向右缓慢移动" }, { "type": "image_url", "image_url": { "url": "https://example.com/product.jpg" }, "role": "reference_image" } ], "generate_audio": true, "ratio": "16:9", "duration": 8, "resolution": "720p" '}
响应示例
json
{
"id": "cgt-2026abc123xyz",
"status": "running",
"model": "doubao-seedance-2-0-260128",
"created_at": 1743300000
}
GET
/v1/contents/generations/tasks/{id}
查询单个任务的状态和结果。任务完成时费用自动结算。
running — 生成中,稍后重试
succeeded — 生成完成
failed — 生成失败
视频链接在任务完成后 24 小时内有效,请及时下载保存。
请求示例
bash / curl
curl https://api.seegen.ai/v1/contents/generations/tasks/cgt-2026abc123xyz \ -H "Authorization: Bearer $API_KEY"
响应示例(succeeded)
json
{
"id": "cgt-2026abc123xyz",
"status": "succeeded",
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://cdn.example.com/output/video.mp4"
}
}
],
"ratio": "16:9",
"duration": 8,
"usage": {
"completion_tokens": 28672,
"total_tokens": 28772
}
}
轮询建议
python
# 每 30 秒轮询一次,直到完成 import time, requests task_id = "cgt-2026abc123xyz" headers = {"Authorization": f"Bearer {API_KEY}"} while True: r = requests.get(f"https://api.seegen.ai/v1/contents/generations/tasks/{task_id}", headers=headers) data = r.json() status = data["status"] if status == "succeeded": video_url = data["content"][0]["video_url"]["url"] print(f"视频已生成: {video_url}") break elif status == "failed": print(f"生成失败") break else: print(f"状态: {status},30 秒后重试...") time.sleep(30)
GET
/v1/contents/generations/tasks
查询当前 API Key 下的任务列表,支持分页和状态筛选。
| 查询参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page_num | integer | 可选 | 页码,默认 1 |
| page_size | integer | 可选 | 每页数量,默认 20 |
| filter.status | string | 可选 | 状态筛选:running、succeeded、failed |
bash / curl
curl "https://api.seegen.ai/v1/contents/generations/tasks?page_num=1&page_size=20&filter.status=succeeded" \ -H "Authorization: Bearer $API_KEY"
素材管理
上传自定义图片、视频素材,审核通过后可在视频生成任务中使用。 素材审核为异步流程,需轮询查询状态。
POST
/v1/assets
上传单个素材(图片或视频 URL)。上传后进入异步审核流程,通过后才可用于生成任务。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | string | 必填 | 所属素材组的 officialId(字符串,通过创建素材组接口获取) |
| url | string | 必填 | 素材的公网可访问 URL |
| name | string | 可选 | 素材名称,便于管理 |
bash / curl
curl -X POST https://api.seegen.ai/v1/assets \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "groupId": "group-2026xxxxxxxxxx-xxxxx", "url": "https://example.com/my-image.jpg", "name": "产品主图" }'
响应示例
json
{
"id": 42,
"officialId": "asset-2026abc123",
"name": "产品主图",
"status": "Processing",
"imageUrl": "https://example.com/my-image.jpg",
"createdAt": "2026-03-30T10:00:00.000Z"
}
GET
/v1/assets/{id}
查询单个素材的审核状态。当状态为 Processing 时会自动同步最新状态。
Processing — 审核中
Active — 审核通过,可使用
Failed — 审核未通过
审核通过后,在视频生成任务的
url 字段填入 asset://<officialId> 即可引用。路径中的
{id} 填素材的 officialId(字符串),即上传响应中的 officialId 字段,不是数字 id。bash / curl
curl https://api.seegen.ai/v1/assets/asset-2026abc123 \ -H "Authorization: Bearer $API_KEY"
GET
/v1/assets
查询素材列表,支持按组和状态筛选。
| 查询参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | string | 可选 | 按素材组筛选,填素材组的 officialId |
| status | string | 可选 | Processing、Active、Failed |
| page_num | integer | 可选 | 页码,默认 1 |
| page_size | integer | 可选 | 每页数量,默认 20 |
DELETE
/v1/assets/{id}
软删除素材。已删除的素材不可再用于新任务,但不影响已提交的任务。
bash / curl
curl -X DELETE https://api.seegen.ai/v1/assets/asset-2026abc123 \ -H "Authorization: Bearer $API_KEY"
POST
/v1/assets/batch
批量上传素材,最多 50 条。支持 JSON 数组或 Excel 文件两种方式。
方式一:JSON 数组
bash / curl
curl -X POST https://api.seegen.ai/v1/assets/batch \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '[ { "groupId": "group-2026xxx", "url": "https://example.com/img1.jpg", "name": "图片1" }, { "groupId": "group-2026xxx", "url": "https://example.com/img2.jpg" } ]'
方式二:Excel 文件上传
先下载模板 GET /v1/assets/batch/template,填写后上传:
bash / curl
# 下载 Excel 模板 curl https://api.seegen.ai/v1/assets/batch/template \ -H "Authorization: Bearer $API_KEY" \ -o template.xlsx # 填写 Excel 后批量上传 curl -X POST https://api.seegen.ai/v1/assets/batch \ -H "Authorization: Bearer $API_KEY" \ -F "file=@assets.xlsx"
响应示例
json
{
"batchId": "a1b2c3d4e5f6a7b8",
"total": 2,
"results": [
{ "index": 0, "status": "ok", "officialId": "asset-2026abc" },
{ "index": 1, "status": "error", "error": "invalid url" }
]
}
POST
/v1/assets/groups
创建素材组,用于对素材进行分类管理。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 必填 | 素材组名称 |
| description | string | 可选 | 素材组描述 |
bash / curl
curl -X POST https://api.seegen.ai/v1/assets/groups \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "name": "产品素材库", "description": "产品宣传图" }'
响应示例
json
{
"id": 7,
"officialId": "ag-2026xyz",
"name": "产品素材库",
"createdAt": "2026-03-30T10:00:00.000Z"
}
GET
/v1/assets/groups
查询所有素材组列表,每组包含素材数量统计。
bash / curl
curl https://api.seegen.ai/v1/assets/groups \ -H "Authorization: Bearer $API_KEY"
响应示例
json
[
{
"id": 7,
"officialId": "ag-2026xyz",
"name": "产品素材库",
"_count": { "assets": 12 },
"createdAt": "2026-03-30T10:00:00.000Z"
}
]
账户信息
GET
/v1/me/balance
查询当前账户余额及加价率。余额不足 ¥100 时无法提交新任务。
bash / curl
curl https://api.seegen.ai/v1/me/balance \ -H "Authorization: Bearer $API_KEY"
响应示例
json
{
"balance": "86.4200",
"markupRate": 1.15
}
● Seedance API · 如需帮助请联系管理员