1
创建密钥
在账户设置中生成密钥。完整密钥只显示一次。
创建安全的 API 密钥,使用 Bearer 鉴权提交 Seedance 视频任务,并轮询任务直到存储结果就绪。
1
在账户设置中生成密钥。完整密钥只显示一次。
2
使用 Bearer 鉴权和唯一的 Idempotency-Key 发送 POST 请求。
3
轮询任务,直到状态变为 completed 或 failed。
每个请求都必须在 Authorization 请求头中携带 API 密钥。密钥只能保存在服务端,不要写入浏览器或移动应用。
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-request文生视频、首尾帧图生视频和明确类型的参考素材工作流共用一个异步接口。
/api/v1/video/generations| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
mode | string | 否 | text-to-video | text-to-video · image-to-video · media-to-video |
model | string | 否 | seedance-2.0-fast | seedance-2.0 · seedance-2.0-fast · seedance-2.0-mini |
prompt | string | 是 | — | 3–4000 个字符 |
aspect_ratio | string | 否 | 16:9 | 1:1 · 21:9 · 4:3 · 3:4 · 16:9 · 9:16 · adaptive |
duration | number | 否 | 5 | 4–15 秒 |
resolution | string | 否 | 720p | 可用值取决于模型 |
image_url | HTTPS URL | 图生视频 | — | 起始帧 |
end_image_url | HTTPS URL | 否 | — | 可选结束帧 |
reference_image_urls | string[] | 否 | [] | 最多 8 个公共 HTTPS URL |
reference_video_urls | string[] | 否 | [] | 最多 3 个公共 HTTPS URL |
reference_video_durations | number[] | 有参考视频时 | — | 每个 URL 对应一个整秒值;必须与服务端完整解码后的实测一致 |
generate_audio | boolean | 否 | true | 生成音轨 |
seed | integer | 否 | — | -1 – 4294967295 |
下载远端素材前会原子预留付费积分;所有输入素材合计不得超过 256 MB。参考视频会完整解码以实测时长和尺寸,输入素材复制到托管存储后才提交供应商。确认在供应商接受前失败时,会退回预留积分并删除本次已上传输入;若无法确认供应商是否已接受,任务、积分和托管输入会保留等待核对,只能使用相同 Idempotency-Key 重试,禁止为该请求创建新键。完成的输出一定会先复制到站方托管存储。image-to-video 仅接受首尾帧字段;media-to-video 仅接受 reference_* 字段。
curl -X POST https://seedancetovideo.com/api/v1/video/generations \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: video-demo-001" \
-d '{
"mode": "text-to-video",
"model": "seedance-2.0-fast",
"prompt": "A cinematic glass train crossing a snowy mountain bridge",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p"
}'{
"id": "idem_a3f8...",
"status": "processing",
"model": "seedance-2.0-fast",
"mode": "text-to-video",
"credits_used": 250,
"credits_refunded": 0,
"output": null,
"error": null
}以合理间隔轮询。任务状态为 processing、completed 或 failed。
curl https://seedancetovideo.com/api/v1/tasks/idem_a3f8... \
-H "Authorization: Bearer $SEEDANCE_API_KEY"{
"id": "idem_a3f8...",
"status": "completed",
"model": "seedance-2.0-fast",
"mode": "text-to-video",
"credits_used": 250,
"credits_refunded": 0,
"output": {
"video_url": "https://cdn.seedancetovideo.com/...mp4"
},
"error": null,
"created_at": "2026-07-13T10:00:00.000Z",
"updated_at": "2026-07-13T10:03:12.000Z"
}API 仅消耗密钥拥有者的个人付费积分,不使用赠送积分。网页与 API 购买共用同一个付费余额。
| 模型 | 480p / 秒 | 720p / 秒 | 1080p / 秒 | 4K / 秒 |
|---|---|---|---|---|
seedance-2.0 | 30 积分 | 60 积分 | 150 积分 | 350 积分 |
seedance-2.0-fast | 25 积分 | 50 积分 | — | — |
seedance-2.0-mini | 15 积分 | 30 积分 | — | — |
使用参考视频时,计费公式为(输出秒数 + 完整解码后由服务端实测的参考视频秒数)× 请求输出分辨率对应费率。reference_video_durations 用于下载前预留积分,因此必填且必须与实测一致。
示例:seedance-2.0-fast 720p,输出 5 秒并携带 3 秒参考视频,费用为 (5 + 3) × 30 = 240 积分。
| 模型 | 480p / 秒 | 720p / 秒 | 1080p / 秒 | 4K / 秒 |
|---|---|---|---|---|
seedance-2.0 | 20 积分 | 40 积分 | 100 积分 | 200 积分 |
seedance-2.0-fast | 15 积分 | 30 积分 | — | — |
seedance-2.0-mini | 10 积分 | 20 积分 | — | — |
所有错误都使用统一的 JSON 结构。
{
"error": {
"code": "invalid_request",
"message": "prompt must contain between 3 and 4000 characters."
}
}| 错误码 | HTTP | 说明 |
|---|---|---|
unauthorized | 401 | API 密钥缺失、无效、过期或已撤销。 |
invalid_request | 400 | 请求体、参数、任务 ID 或素材 URL 无效。 |
insufficient_credits | 402 | 付费积分不足。 |
not_found | 404 | 任务不存在或属于其他账户。 |
rate_limited | 429 | 该密钥在 60 秒内超过 30 个请求。 |
idempotency_conflict | 409 | 同一幂等键已用于不同请求体。 |
payload_too_large | 413 | JSON 请求体超过 64 KiB。 |
service_busy | 503 | 供应商状态暂时不可用或接受结果不确定;只能使用相同 Idempotency-Key 重试。 |
internal_error | 500 | 未预期的服务器错误。 |
将机器可读文档交给编程 Agent,它可以按照同一套公开契约完成集成。
任何已登录账户都能创建密钥;调用时必须有足够的付费积分。
不需要。创建密钥免费,使用订阅或一次性积分包为调用充值。
共用个人付费积分;注册赠送和促销积分不能用于 API。
符合退款条件且已确认的失败任务会自动返还预留积分,credits_refunded 会显示退款数量。若供应商接受结果不确定,积分会保持预留等待核对,只能使用相同 Idempotency-Key 重试。
每个密钥每 60 秒最多 30 个鉴权请求;429 响应会带 Retry-After。
托管 URL 用于交付,不是永久归档。请在任务完成后及时复制到你自己的存储。
当前契约使用 /api/v1 版本路径。不兼容变更会使用新的版本路径,并发布在开发者文档中。