视频生成采用异步任务模式:先创建任务获得任务 ID,再通过任务 ID 轮询查询生成状态和视频地址。
model 没有固定值。调用时必须填写当前账户实际可用的模型 ID;示例中的 YOUR_VIDEO_MODEL_ID 只是占位符。

1. 基础信息

1.1 Base URL

请将下列地址替换为实际部署地址:

1.2 鉴权

所有接口均使用 API Key,通过 Bearer Token 传递:

1.3 Content-Type

创建任务时使用:

1.4 接口列表

2. 创建视频任务

2.1 请求字段

2.2 content 内容类型

2.3 参考素材上传要求

图片、视频和音频参考素材必须先通过 POST /v1/upload/presign 上传。上传完成后,从预签名接口响应中读取 public_url,再将该地址写入 image_url.urlvideo_url.urlaudio_url.url 模型服务只接受可直接访问的公网 HTTP(S) URL。不要向模型接口提交本地文件路径、Base64、预签名上传地址 url 或对象存储的私有地址。
public_url 必须在无 Cookie、无额外请求头的情况下通过公网读取。 role 字段可以按官方协议传入。具体角色是否生效以所使用模型的能力为准。 音频参考不能单独使用。当请求包含 audio_url 时,还必须至少提供一项 image_urlvideo_url

2.4 文生视频示例

2.5 多素材参考示例

可以同时传入参考图片、参考视频和参考音频。示例 URL 均代表上传接口返回的 public_url。参考音频不能单独使用,必须同时包含至少一项参考图片或参考视频。

2.6 创建成功响应

HTTP 状态码:200 OK
id 是创建成功后返回的任务 ID。查询任务时必须使用该 ID。

2.7 创建失败响应

创建请求校验失败、模型不可用或上游服务返回错误时,HTTP 状态码为对应的错误状态码,响应结构如下:

3. 查询视频任务

3.1 请求示例

任务只能使用创建该任务时所属账户的 API Key 查询。

3.2 任务状态

建议每隔 5-10 秒查询一次,避免高频轮询。只有 succeededfailed 是终态。

3.3 排队中响应

3.4 生成中响应

3.5 生成成功响应

视频 URL 可能存在有效期限制。任务成功后应及时下载或转存。

3.6 生成失败响应

3.7 查询响应字段

4. 官方字段兼容说明

下游可以按 Seedance 官方创建任务协议传入以下字段:
  • model
  • content
  • callback_url
  • return_last_frame
  • service_tier
  • execution_expires_after
  • generate_audio
  • draft
  • tools
  • safety_identifier
  • priority
  • resolution
  • ratio
  • duration
  • frames
  • seed
  • camera_fixed
  • watermark
content 支持官方定义的 textimage_urlvideo_urlaudio_urldraft_task 类型,以及对应的 role 字段。 接口会接收上述官方字段,不会仅因为当前模型不支持某个扩展字段而返回参数不支持错误。 字段能够正常传入不代表对应能力一定生效。实际生成能力以所使用模型为准。例如模型不支持尾帧输出时,即使传入 return_last_frame: true,查询结果也不会包含 last_frame_url

5. 错误响应

请求级错误使用以下结构:
常见错误: 调用方应同时判断 HTTP 状态码和响应体,不要只根据 code 字段判断请求是否成功。

6. 推荐调用流程

  1. 获取 Base URL、API Key 和已分配的模型名称。
  2. 调用创建接口并保存响应中的 id
  3. 每隔 5-10 秒调用查询接口。
  4. 收到 queuedrunning 时继续轮询。
  5. 收到 succeeded 时读取并及时保存 content.video_url
  6. 收到 failed 时停止轮询并记录 error
  7. 对网络错误、429 和可恢复的 5xx 使用指数退避重试;不要用同一个请求无限创建新任务。