Skip to content

Seedance Video API

当你要通过 Exchange Token 创建或查询 Seedance 视频生成任务时,看这一页即可。

支持的模型与接口

项目
对外模型doubao-seedance-2-0-260128seedance-2.0seedance-2.0-fast
创建任务POST /api/v3/contents/generations/tasks
查询任务GET /api/v3/contents/generations/tasks/{id}
Base URL 示例https://api.exchangetoken.ai
推荐鉴权Authorization: Bearer <YOUR_API_KEY>

请求体

字段类型必填说明
modelstring账号已开通的精确模型名,例如 doubao-seedance-2-0-260128seedance-2.0
contentobject[]输入数组
generate_audioboolean默认 true
toolsobject[]环境相关能力
resolutionstring480p720p
ratiostring21:916:94:31:13:49:16adaptive
durationinteger415,或 -1
watermarkboolean按上游能力执行

当前不建议依赖 service_tierdraftframescamera_fixed

模型选择

如果你需要兼容国内豆包 / Seedance 2.0 原厂模型 ID,使用 doubao-seedance-2-0-260128。如果你的账号配置的是 Exchange Token 通用 Seedance 别名,可以使用 seedance-2.0seedance-2.0-fast 是否可用取决于账号是否开通 fast 池。

国内兼容池和海外兼容池建议使用不同的对外模型名。除非你的账号已经明确开通对应工作流,否则不要默认认为某个兼容池里创建的素材或任务可以跨池使用。

国内 2.0 使用素材

如果你要在 doubao-seedance-2-0-260128 中使用自己的图片、视频或音频素材,需要先通过 Exchange Token 的 Seedance Asset API 创建素材,再在视频任务中用 asset://<ASSET_ID> 引用。

CreateAssetGroup / CreateAsset 是 Exchange Token 提供的 Seedance 素材网关接口,不是 OpenAI 通用上传接口,也不是 multipart 文件上传接口。CreateAsset 当前接收一个上游可访问的公网 HTTPS URL,返回的 Result.Id 才是后续视频请求要使用的稳定素材 ID。

最小流程:

  1. 调用 POST /open/CreateAssetGroup 创建素材组,拿到 GROUP_ID
  2. 调用 POST /open/CreateAsset,传入 GroupId 和公网 URL,拿到 ASSET_ID
  3. 轮询 POST /open/GetAsset,直到 Result.Status = "Active"
  4. 创建视频任务时传 asset://$ASSET_ID

示例视频请求:

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\":\"doubao-seedance-2-0-260128\",
    \"content\":[
      {\"type\":\"text\",\"text\":\"让人物自然微笑并轻轻挥手,镜头轻微推进\"},
      {\"type\":\"image_url\",\"image_url\":{\"url\":\"asset://$ASSET_ID\"},\"role\":\"first_frame\"}
    ],
    \"duration\":5,
    \"watermark\":false
  }"

支持的内容类型与角色

内容类型

type说明
text文本提示词
image_url图片输入
video_url视频输入
audio_url音频输入

角色

输入类型角色说明
image_urlfirst_frame首帧图生视频
image_urllast_frame尾帧图生视频
image_urlreference_image多模态参考图
video_urlreference_video参考视频
audio_urlreference_audio参考音频

URL 支持形式

输入类型URL 形式
image_url公网 URL、Base64、asset://<ASSET_ID>
video_url公网 URL、asset://<ASSET_ID>
audio_url公网 URL、Base64、asset://<ASSET_ID>

如果你要使用 asset://<ASSET_ID>,先去 Seedance Asset API 页面创建素材。

合法请求组合

场景最小输入
文生视频text
首帧图生视频image_url(first_frame) + 可选 text
首尾帧图生视频image_url(first_frame) + image_url(last_frame) + 可选 text
多模态参考生视频reference_imagereference_videoreference_audio 的合法组合 + 可选 text
视频编辑reference_video + 可选 reference_image + 可选 text
视频延长reference_video + 可选 text

请求规则与媒体限制

规则

  • first_frame / last_frame 模式不能和 reference_image 模式混用
  • 音频不能单独提交
  • asset://<ASSET_ID> 只有在素材状态变成 Active 后才能使用
  • tools=[{"type":"web_search"}] 建议在生产接入前先验证

媒体限制

输入限制
图片jpegpngwebpbmptiffgif;宽高比 (0.4, 2.5)3006000 px;单张 < 30 MB;请求体 <= 64 MB
视频mp4mov480p720p;单段 215 秒;最多 3 段;总时长 <= 15 秒2460 FPS;单段 <= 50 MB
音频wavmp3;单段 215 秒;最多 3 段;总时长 <= 15 秒;单段 <= 15 MB;请求体 <= 64 MB

任务返回

创建任务返回

json
{
  "id": "sg_vid_m9xk3g_0f8a4c0d3a2b4e9f1c20"
}

Exchange Token 会返回自己的可查询任务 ID,后续轮询统一使用它。

查询任务返回

json
{
  "id": "sg_vid_m9xk3g_0f8a4c0d3a2b4e9f1c20",
  "model": "doubao-seedance-2-0-260128",
  "status": "succeeded",
  "content": {
    "video_url": "https://example.com/output.mp4?sig=foo&x=1"
  },
  "usage": {
    "completion_tokens": 108900,
    "total_tokens": 108900
  },
  "created_at": 1776209922,
  "updated_at": 1776210072,
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "generate_audio": true
}

常见状态:

  • queued
  • running
  • succeeded
  • failed
  • cancelled

查询响应里的 model 可能显示提交时的模型名,也可能显示上游版本化模型 ID。

错误格式

json
{
  "error": {
    "type": "invalid_request",
    "message": "..."
  }
}
HTTP 状态码error.type常见含义
400invalid_request参数非法或 JSON 非法
401unauthorizedAPI Key 缺失或无效
402quota_exhausted视频额度耗尽
403forbiddentoken 被禁用、过期或无权限
404task_not_found任务不存在
429rate_limited请求过快
502upstream_error上游提交或解析失败
503no_channel / async_task_unavailable无可用渠道或异步任务不可用

示例

运行下面示例前,建议先设置:

bash
export ET_BASE='https://api.exchangetoken.ai'
export ET_TOKEN='sk-xxxxxx'
export ASSET_ID='asset-xxxxxxxx'
export TASK_ID='sg_vid_xxxxxxxx'

文生视频

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"doubao-seedance-2-0-260128",
    "content":[
      {"type":"text","text":"一位短发女生在街头回头微笑,电影感,镜头稳定推进"}
    ],
    "duration":5,
    "resolution":"720p",
    "watermark":false
  }'

使用素材作为首帧

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\":\"doubao-seedance-2-0-260128\",
    \"content\":[
      {\"type\":\"text\",\"text\":\"让人物轻微点头并向镜头挥手\"},
      {\"type\":\"image_url\",\"image_url\":{\"url\":\"asset://$ASSET_ID\"},\"role\":\"first_frame\"}
    ],
    \"duration\":5,
    \"watermark\":false
  }"

查询任务

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks/$TASK_ID" \
  -H "Authorization: Bearer $ET_TOKEN"

视频扩展

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
      "model": "seedance-2.0-fast",
      "content": [
        {
          "type": "text",
          "text": "Generate the content after [Video1]: the two men who are late run towards them, the five people finally meet and have a friendly chat."
        },
        {
          "type": "video_url",
          "video_url": {
            "url": "https://ark-doc.tos-ap-southeast-1.bytepluses.com/doc_image/video_edit_prolong_ref_video.mp4"
          },
          "role": "reference_video"
        }
      ],
      "generate_audio": true,
      "ratio": "16:9",
      "duration": 5,
      "watermark": true
    }'

相关页面