Skip to content

Seedance 2.0 Video

Seedance 2.0 Video 使用异步视频任务接口。先创建任务,再通过任务查询接口轮询状态和最终视频地址。

如需使用 doubao-seedance-2.5,请查看独立的 Seedance 2.5 文档

推荐接入方式

新接入请使用统一视频接口 /v1/video/generations,并使用官方风格的顶层 content 数组组织文本、图片、视频和音频素材。

接口地址

能力方法路径
创建视频任务(兼容官方)POST/api/v3/contents/generations/tasks
查询视频任务(兼容官方)GET/api/v3/contents/generations/tasks/{task_id}
创建视频任务POST/v1/video/generations
查询视频任务GET/v1/video/generations/{task_id}
创建异步图片审核任务POST/v1/images/moderations/tasks
查询异步图片审核任务GET/v1/images/moderations/tasks/{task_id}

支持模型

模型说明
doubao-seedance-2.0Seedance 2.0 标准模型
doubao-seedance-2.0-fastSeedance 2.0 快速模型;是否可用以账户权限和平台配置为准

支持模式

模式输入方式
文生视频content 中只传 text
单图图生视频content 中传 1 个 image_url,可使用 first_framereference_image
首尾帧视频content 中传 2 个 image_url,分别使用 first_framelast_frame
视频参考输入content 中传 video_url,角色使用 reference_video
图片和音频参考content 中组合 image_urlaudio_url
图片审核入库先创建异步图片审核任务,再使用返回的 asset://<asset ID>

顶层参数

参数必填说明
modelSeedance 模型名称,例如 doubao-seedance-2.0
content推荐多模态内容数组,用于组织提示词和素材,并精确控制素材类型和角色
duration视频时长,整数秒。默认通常为 5,Seedance 2.0 常用范围为 415
ratio输出比例,可选 adaptive21:916:94:31:13:49:16
resolution输出分辨率,常用 480p720p1080pdoubao-seedance-2.0-fast 不支持 1080p
generate_audio是否生成同步音频,布尔值。需要无声视频时传 false
watermark是否添加水印,布尔值

调用示例

文生视频

bash
curl -X POST https://cubicspaces.cloud/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-2.0",
    "content": [
      {
        "type": "text",
        "text": "A cinematic aerial shot of a futuristic cubic city at sunrise"
      }
    ],
    "duration": 5,
    "resolution": "720p",
    "ratio": "16:9",
    "generate_audio": false,
    "watermark": false
  }'

单图生成视频

bash
curl -X POST https://cubicspaces.cloud/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-2.0",
    "content": [
      {
        "type": "text",
        "text": "参考图片 1 的产品外观,生成 5 秒干净影棚展示视频,保持主体一致。"
      },
      {
        "type": "image_url",
        "role": "reference_image",
        "image_url": {
          "url": "asset://reviewed-image-asset-id"
        }
      }
    ],
    "duration": 5,
    "resolution": "720p",
    "ratio": "1:1",
    "watermark": false
  }'

首尾帧视频

json
{
  "model": "doubao-seedance-2.0",
  "content": [
    {
      "type": "text",
      "text": "根据图片 1 和图片 2 生成流畅过渡的视频。"
    },
    {
      "type": "image_url",
      "role": "first_frame",
      "image_url": {
        "url": "asset://first-frame-asset-id"
      }
    },
    {
      "type": "image_url",
      "role": "last_frame",
      "image_url": {
        "url": "asset://last-frame-asset-id"
      }
    }
  ],
  "duration": 8,
  "resolution": "720p",
  "ratio": "16:9"
}

视频参考输入

json
{
  "model": "doubao-seedance-2.0",
  "content": [
    {
      "type": "text",
      "text": "全程参考视频 1 的运镜和动作节奏,生成同风格的新场景。"
    },
    {
      "type": "video_url",
      "role": "reference_video",
      "video_url": {
        "url": "https://example.com/reference.mp4"
      }
    }
  ],
  "duration": 5,
  "resolution": "720p",
  "ratio": "16:9"
}

图片和音频参考

json
{
  "model": "doubao-seedance-2.0",
  "content": [
    {
      "type": "text",
      "text": "参考图片 1 和音频 1,生成一段产品展示视频。"
    },
    {
      "type": "image_url",
      "role": "reference_image",
      "image_url": {
        "url": "asset://reviewed-image-asset-id"
      }
    },
    {
      "type": "audio_url",
      "role": "reference_audio",
      "audio_url": {
        "url": "https://example.com/reference.wav"
      }
    }
  ],
  "duration": 5,
  "ratio": "1:1",
  "generate_audio": true
}

content 内容项

字段必填说明
content[].typetextimage_urlvideo_urlaudio_url
content[].text条件必填typetext 时使用
content[].image_url.url条件必填图片公网 URL,或图片审核通过后的 asset://<asset ID>
content[].video_url.url条件必填视频公网 URL。平台会预检 URL 是否可下载
content[].audio_url.url条件必填音频公网 URL,或上游支持的音频素材地址
content[].role条件必填素材角色,见下方组合规则

素材组合规则

场景推荐写法role 要求
文生视频content 中只传文本不需要素材角色
单图图生视频content 中传 1 个 image_url 内容项first_frame,也可以省略
首尾帧视频content 中传 2 个 image_url 内容项第一张 first_frame,第二张 last_frame
多模态参考视频content 中传参考图/视频/音频图片 reference_image,视频 reference_video,音频 reference_audio

限制和建议:

  • 参考图片最多 9 张;首尾帧场景只传 2 张。
  • 视频参考最多 3 个,单个视频最长 15 秒,所有参考视频总时长不超过 15 秒。
  • 音频参考最多 3 个,单个音频最长 15 秒,所有参考音频总时长不超过 15 秒。
  • 音频不能单独作为唯一素材,至少同时提供 1 个图片或视频素材。
  • 首帧/首尾帧场景不要和 reference_imagereference_videoreference_audio 混用。
  • 提示词中引用素材时,用“图片 1”“视频 1”“音频 1”这类顺序编号,不要直接写 Asset ID。

素材文件限制

素材限制
图片常见格式包括 jpegjpgpngwebpbmptiffgif;单张小于 30 MB;宽高比建议在 0.42.5 之间;宽高建议在 3006000 px 之间
视频mp4mov;建议 480p720p,标准版在账号和模型支持时也可使用 1080p,fast 版不支持 1080p;单个小于 50 MB;帧率建议 460 FPS;公网 URL 必须可直接下载,不能返回 HTML 登录页
音频mp3wav;单个小于 15 MB

当前公开接口不支持直接传 base64 或内联二进制素材。请先上传到可公网访问的地址;图片也可以先走图片审核接口,使用返回的 asset_url

审核图片

Seedance 使用真人或需要入库的图片素材时,建议先使用图片审核接口提交公开图片 URL。审核通过并入库后,将返回的 items[].asset_url 用作 content[].image_url.url

请使用异步审核任务接口。创建接口会立即返回任务 ID,调用方再轮询任务状态,适合单张、多张、批量及高并发场景。

同一个 Seedance 生成请求中会用到的所有图片,必须在同一个异步审核任务的 images 数组中一起提交。不要把同一个生成请求的多张图片拆成多个审核批次;否则可能出现素材审核批次或资产绑定不一致的问题。

异步审核任务

创建任务:

http
POST /v1/images/moderations/tasks
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

请求参数:

参数必填说明
model用于选择 Seedance 能力,建议传 doubao-seedance-2.0
images图片 URL 数组;同一个生成请求内会用到的所有图片必须同批提交
asset_type资源类型,默认 Image;图片审核场景保持默认即可

图片必须是公网可访问的 httphttps URL,不支持 base64 或内联二进制内容。单个任务最多提交 20 张图片。还可以传入 client_request_id 作为调用方幂等标识;同一账户使用相同标识重试时会返回同一个任务。

bash
curl -X POST https://cubicspaces.cloud/v1/images/moderations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-2.0",
    "images": [
      "https://example.com/person.png",
      "https://example.com/product.png"
    ],
    "client_request_id": "seedance-batch-001"
  }'

创建成功返回 HTTP 200

json
{
  "code": "success",
  "message": "",
  "data": {
    "id": "amt_xxx",
    "model": "doubao-seedance-2.0",
    "status": "queued",
    "total": 2,
    "completed": 0,
    "approved": 0,
    "rejected": 0,
    "failed": 0,
    "execution_expires_at": 1780000600,
    "created_at": 1780000000,
    "updated_at": 1780000000
  }
}

查询任务:

bash
curl https://cubicspaces.cloud/v1/images/moderations/tasks/amt_xxx \
  -H "Authorization: Bearer YOUR_API_KEY"

建议每 2 到 5 秒查询一次。任务终态为 succeededpartial_succeededfailedexpired;处理中状态为 queuedrunning。查询结果中的每个图片项状态为 approvedrejectedfailedtimed_out

json
{
  "code": "success",
  "message": "",
  "data": {
    "id": "amt_xxx",
    "model": "doubao-seedance-2.0",
    "status": "partial_succeeded",
    "total": 2,
    "completed": 2,
    "approved": 1,
    "rejected": 1,
    "failed": 0,
    "items": [
      {
        "index": 0,
        "source_url": "https://example.com/person.png",
        "status": "approved",
        "asset_url": "asset://reviewed-person-asset-id",
        "asset_id": "reviewed-person-asset-id"
      },
      {
        "index": 1,
        "source_url": "https://example.com/product.png",
        "status": "rejected",
        "error_message": "image did not pass moderation"
      }
    ]
  }
}

只有状态为 approved 的图片才能把 asset_url 用于后续视频生成。异步任务查询记录保留 7 天,请及时保存审核通过的 asset_url

返回和查询

官方兼容接口

已支持官方兼容的视频任务接口:

http
POST /api/v3/contents/generations/tasks
GET /api/v3/contents/generations/tasks/{task_id}

完整地址:

text
POST https://cubicspaces.cloud/api/v3/contents/generations/tasks
GET  https://cubicspaces.cloud/api/v3/contents/generations/tasks/{task_id}

统一视频接口

创建成功后返回标准视频任务对象:

json
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video",
  "model": "doubao-seedance-2.0",
  "status": "queued",
  "progress": 0,
  "created_at": 1770000000
}

查询任务:

bash
curl https://cubicspaces.cloud/v1/video/generations/task_xxx \
  -H "Authorization: Bearer YOUR_API_KEY"

查询时必须使用创建任务返回的公开 task_xxx,并携带创建该任务时使用的同一枚 API Key。使用其他令牌查询时会返回 task_not_exist

任务成功后的查询响应示例:

json
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_xxx",
    "action": "generate",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://example.com/generated-video.mp4",
    "properties": {
      "prompt": "一只猫在草地上奔跑",
      "origin_model_name": "doubao-seedance-2.0"
    },
    "usage": {
      "prompt_tokens": 0,
      "completion_tokens": 38800,
      "total_tokens": 38800
    }
  }
}
  • data.result_url 读取最终视频地址。
  • data.usage.completion_tokensdata.usage.total_tokens 是任务完成并结算后的最终有效 token 数,与控制台最终结算记录一致,不是创建任务时的预估值;若上游原始用量与最终结算用量不同,以这里返回的结算用量为准。
  • 任务完成前,最终 token 尚未产生,响应可能不包含 data.usage
  • 响应中的 data.quota(如果存在)是平台内部计费额度,不是 token 数;用量统计请读取 data.usage

状态值

创建接口返回小写 queued。后续通过 /v1/video/generations/{task_id} 查询时,data.status 使用以下任务状态:

查询状态说明
NOT_START / SUBMITTED / QUEUED等待或排队中
IN_PROGRESS生成中
SUCCESS已完成,可读取 data.result_url 和最终 data.usage
FAILURE失败,查看 data.fail_reason

注意事项

  • 不确定比例时可以使用 ratio: "adaptive",或省略 ratio 让上游默认处理。
  • 视频参考 URL 必须可由平台服务端直接下载;不要传需要登录、会跳转到 HTML 页面、或限制防盗链的地址。
  • 图片参考可使用公网 URL 或图片审核接口返回的 asset://<asset ID>
  • 实际可用模型、分辨率、工具能力会随账户权限和平台配置变化。