Seedance 视频生成 API 使用说明(官方版)
概述
本页为官方版接口说明。官方版与火山方舟(Volcengine Ark,火山引擎的大模型平台)官方口径完全对齐,按 token(模型计费的最小计量单位)计费。与「face 优化版」相互独立、互不影响。
- 请求体为火山原生的
content[]结构,媒体项支持role(角色,指定首帧/尾帧/参考图/参考视频/参考音频等用途)字段。 - 参数(分辨率、宽高比、时长、水印、音频、随机种子等)直接透传火山强校验:填错由火山返回错误提示,本服务不额外限制取值。
- 按
usage.total_tokens(本次任务的总 token 用量)计费,而非按视频秒数。
两版共用同一套 API 入口与 API Key,靠模型名自动区分:调用哪个版本的模型,就走哪个版本的计费与校验。你的账号需由管理员开通「官方版」开关后才能调用官方版模型,否则返回 403 provider_disabled。
快速开始
认证方式
所有接口均需在请求头中传入 API Key:
Authorization: Bearer <你的 API Key>
⚠️ 请妥善保管 API Key,不要泄露给他人。
基础信息
| 项目 | 值 |
|---|---|
| 服务器地址 | https://sd.boosterai.cn |
| 接口基础路径 | /api/v3/contents/generations/tasks |
| 请求 / 响应格式 | application/json |
入口与 face 优化版完全相同,无需切换域名或路径。使用官方版模型名即走官方版链路。
计费与余额(按 token)
官方版采用预付费余额模式,与 face 版共用同一个账户余额(单位:积分)。
计费规则
- 计费单位:积分。
费用 =total_tokens ÷ 1,000,000 × 该模型单价(积分/百万 token)。
冻结与扣费流程
- 下单冻结:提交任务时按预估 token 冻结相应积分。预估公式:
预估token = 该分辨率最大像素面积 × 帧率(fps) × 预估秒数 ÷ 1024(向上取整)。含参考视频输入时预估秒数额外计入输入视频上限,冻结偏保守(偏高)。 - 成功结算:任务成功后按上游返回的真实
usage.total_tokens结算,多退少补(解冻预估额,按实际额扣费)。 - 解冻退回:任务失败 / 取消 / 超时则全额解冻,不扣费。
可用余额
可用余额 = 账户总余额 − 冻结中金额
下单时若「可用余额 < 本次预估费用」,接口返回 402 insufficient_balance,任务不会提交。
余额查询与充值
- 余额查询:用你的 API Key 登录工作台 https://sd.boosterai.cn/#bill 查看实时余额、冻结金额与消费明细。
- 充值:请联系管理员。
与 face 版差异:face 版按「视频秒数 × 积分/秒」计费;官方版按「token × 积分/百万 token」计费。两者互不影响。
可用模型列表
下游模型名(别名)由管理员配置,统一在官方名称后加 Official。各模型支持的分辨率能力如下(对齐火山官方文档):
| 下游模型名(别名) | 支持分辨率 | 时长范围 | 支持的宽高比 |
|---|---|---|---|
Seedance 2.0 Official | 480p / 720p / 1080p / 4k | 4–15 秒(或 -1 智能) | 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive |
Seedance 2.0 Fast Official | 480p / 720p | 4–15 秒(或 -1 智能) | 同上 |
Seedance 2.0 Mini Official | 480p / 720p | 4–15 秒(或 -1 智能) | 同上 |
Seedance 2.0 系列全系支持 480p / 720p(480p 与 720p 同价,但 token 更少、实际出片更便宜);1080p / 4k 仅 Seedance 2.0 支持,Fast / Mini 仅 480p / 720p。ratio 设为 adaptive 时由模型自动适配宽高比。duration 设为 -1 表示由模型智能选择时长(本服务会按 15 秒预估冻结,实际按真实用量结算)。以上取值均由火山强校验,具体单价与开通情况以管理员配置为准。
接口详情
1. 提交视频生成任务
请求体参数
官方版参数直接透传火山,本服务不额外做白名单/范围限制(填错由火山返回错误)。常用参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 官方版模型名(下游别名),见上方模型列表 |
content | array | 是 | 火山原生内容数组,见下方说明 |
resolution | string | 否 | 分辨率:480p/720p/1080p/4k(Fast/Mini 支持 480p/720p,不支持 1080p/4k)。不传则用模型默认(720p) |
ratio | string | 否 | 宽高比,见上方列表;不传由火山用默认(adaptive) |
duration | int | 否 | 时长(秒),[4,15] 或 -1(智能);与 frames 二选一 |
frames | int | 否 | 帧数,与 duration 二选一(frames 优先级更高) |
generate_audio | boolean | 否 | 是否生成与画面同步的音频(Seedance 2.0 系列支持) |
watermark | boolean | 否 | 是否带水印(默认 false) |
seed | int | 否 | 随机种子;-1 或不传为随机 |
return_last_frame | boolean | 否 | 是否返回生成视频的尾帧图像 |
camera_fixed | boolean | 否 | 镜头是否固定(默认 false) |
本服务当前不支持 callback_url(回调地址)、draft(样片模式)、service_tier、priority,传入会被忽略。计费相关:duration/resolution 影响预估冻结额,请谨慎设置。
content 数组元素说明
每个元素按 type 区分,支持四种 type;媒体项可通过 role 指定用途(是否必填、取值合法性由火山校验):
| type | 字段 | 可选 role | 说明 |
|---|---|---|---|
text | text | — | 提示词 |
image_url | image_url.url | first_frame / last_frame / reference_image | 参考图片 URL |
video_url | video_url.url | reference_video | 参考视频 URL |
audio_url | audio_url.url | reference_audio | 参考音频 URL |
文生视频请求示例
curl -X POST https://sd.boosterai.cn/api/v3/contents/generations/tasks \
-H "Authorization: Bearer 你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "Seedance 2.0 Official",
"content": [
{ "type": "text", "text": "一只金色的猫咪在阳光下的草地上奔跑,电影质感,慢动作" }
],
"resolution": "1080p",
"ratio": "16:9",
"duration": 10,
"generate_audio": true
}'
图生视频请求示例(指定首帧 + 尾帧)
curl -X POST https://sd.boosterai.cn/api/v3/contents/generations/tasks \
-H "Authorization: Bearer 你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "Seedance 2.0 Official",
"content": [
{ "type": "text", "text": "镜头从近景平滑推向远景" },
{ "type": "image_url", "role": "first_frame", "image_url": { "url": "https://example.com/start.jpg" } },
{ "type": "image_url", "role": "last_frame", "image_url": { "url": "https://example.com/end.jpg" } }
],
"resolution": "720p",
"ratio": "16:9",
"duration": 8
}'
响应示例
{
"id": "task_01KWBW73D7WCN1PFZN9S1QQCK2"
}
| 状态码 | 说明 |
|---|---|
| 200 | 任务提交成功 |
| 400 | 请求参数错误(模型不存在、参数被火山拒、未配置定价等) |
| 401 | API Key 无效或未传入 |
| 402 | 余额不足(insufficient_balance),请联系管理员充值 |
| 403 | 未开通官方版(provider_disabled),请联系管理员开通 |
| 500 / 502 | 服务器内部错误 / 上游服务异常,稍后重试 |
2. 查询单个任务状态
将提交任务时返回的 id 填入路径。
curl https://sd.boosterai.cn/api/v3/contents/generations/tasks/task_01KWBW73D7WCN1PFZN9S1QQCK2 \
-H "Authorization: Bearer 你的APIKey"
响应示例(成功)
{
"id": "task_01KWBW73D7WCN1PFZN9S1QQCK2",
"model": "Seedance 2.0 Official",
"status": "succeeded",
"created_at": 1748900000,
"updated_at": 1748900120,
"content": { "video_url": "https://cdn.example.com/output/video.mp4" },
"duration": 10,
"resolution": "1080p",
"ratio": "16:9"
}
usage.total_tokens(token 用量)仅用于内部计费,不在客户查询响应中返回。
任务状态说明
| 状态 | 说明 |
|---|---|
queued | 排队等待处理 |
running | 正在生成中 |
succeeded | 生成成功,可获取视频链接 |
failed | 生成失败 |
expired | 任务超时 |
cancelled | 已取消 |
3. 查询任务列表
支持分页,返回当前 API Key 下的所有任务(含两版),按创建时间倒序。参数:page_num(默认 1)、page_size(默认 10)。
curl "https://sd.boosterai.cn/api/v3/contents/generations/tasks?page_num=1&page_size=20" \
-H "Authorization: Bearer 你的APIKey"
⚠️ 官方版不支持提交找回:若提交时因超时/网络问题未拿到上游任务 ID,系统会在超时后自动全额解冻并标记失败(不会误扣费),你需重新提交。
错误码参考
| 错误码 | HTTP | 含义 | 处理建议 |
|---|---|---|---|
invalid_api_key | 401 | API Key 无效或已禁用 | 检查 Authorization 头 |
provider_disabled | 403 | 未开通官方版 | 联系管理员开通官方版开关 |
invalid_model | 400 | 模型名不存在或已禁用 | 参考模型列表使用正确的官方版模型名 |
invalid_request | 400 | 请求结构错误(如 content 为空、media 项缺 url) | 检查 content 结构;参数取值错误一般由火山返回具体提示 |
pricing_not_configured | 400 | 未配置该模型对该客户的定价 | 联系管理员配置官方版定价 |
insufficient_balance | 402 | 余额不足(可用余额 < 本次预估费用) | 联系管理员充值后重试 |
task_not_found | 404 | 任务不存在 | 确认 task id 正确,且属于当前 API Key |
upstream_error | 502 | 上游服务异常 | 稍后重试,若持续报错联系管理员 |
internal_error | 500 | 服务器内部错误 | 稍后重试,若持续报错联系管理员 |