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 秒轮询一次状态,直到 succeededfailed
鉴权方式

所有 /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:99:164:33:41:121:9
duration integer 可选 视频时长(秒),默认 5。支持 4~15,或设为 -1 由模型智能选择
resolution string 可选 视频分辨率,默认 720p。可选值:480p720p
tools object[] 可选 工具配置。目前支持 {"type": "web_search"}(联网搜索增强,仅文生视频)
watermark boolean 可选 是否添加水印,默认 false

content 内容类型

每个 content 对象包含 type 字段,决定输入类型:

type: "text"
文本提示词,描述期望生成的视频内容
字段:text(string)
type: "image_url"
图片输入,支持公网 URL、Base64 或素材 ID
字段:image_url.urlrole
type: "video_url"
视频输入(仅 Seedance 2.0 支持),支持公网 URL 或素材 ID
字段:video_url.urlrole
type: "audio_url"
音频输入,需与图片或视频同时传入
字段:audio_url.urlrole: "reference_audio"
💡
素材 ID 使用:通过素材管理接口上传并审核通过的素材,可用 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 可选 状态筛选:runningsucceededfailed
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 可选 ProcessingActiveFailed
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  ·  如需帮助请联系管理员