Skip to content

Seedance 2.5 样片 API ​

样片模式让你先生成并预览 480p 视频,确认效果后,再用样片任务 ID 生成 1080p 正式视频。两步共创建 两个独立的 task_id,分别查询、分别计费。

模型与接口 ​

项目说明
模型名seedance-2.5 或 doubao-seedance-2-5-260628,以账号已开通的精确名称为准
创建样片/正式视频POST /api/v3/contents/generations/tasks
查询任务GET /api/v3/contents/generations/tasks/{id}
本文示例的生产入口https://api.exchangetoken.ai
鉴权Authorization: Bearer <YOUR_API_KEY>

账号需开通支持样片模式的 Seedance 2.5 渠道。样片和正式视频必须使用同一个 API Key、同一个精确模型名。

下面示例统一使用 seedance-2.5。如果账号开通的是版本化模型名,请同时替换两次创建请求中的 model。

第一步:创建样片 ​

先设置环境变量:

bash
export ET_BASE='https://api.exchangetoken.ai'
export ET_TOKEN='sk-xxxxxx'

创建请求:

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "content": [
      {"type": "text", "text": "一只狐狸在树林中缓慢行走,镜头平稳跟随"}
    ],
    "duration": 5,
    "ratio": "16:9",
    "resolution": "480p",
    "output_format": "mp4",
    "draft": true
  }'

创建响应示例:

json
{"id": "sg_vid_draft_example"}

请保存实际返回的 id,这是后续查询和生成正式视频使用的平台样片任务 ID。

字段类型说明
modelstring账号已开通的 Seedance 2.5 精确模型名
contentobject[]提示词及模型支持的图片、视频、音频输入
draftboolean必须为 true
resolutionstring仅支持 480p,省略时平台补为 480p
duration、ratio、generate_audio、seed按各字段类型在样片阶段确定;生成正式视频时不得再次传入
output_formatstringmp4 或 mov;官方默认 mp4,以渠道支持情况为准

第二步:查询并预览样片 ​

将变量替换为第一步实际返回的 ID:

bash
export DRAFT_TASK_ID='sg_vid_draft_example'

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

任务为 queued 或 running 时继续轮询,例如每 10 秒查询一次。只有 status 为 succeeded 后,才能使用该样片生成正式视频。

成功响应示例:

json
{
  "id": "sg_vid_draft_example",
  "status": "succeeded",
  "content": {"video_url": "https://example.com/draft.mp4"},
  "resolution": "480p"
}

从实际响应的 content.video_url 预览或下载样片。结果 URL 有时效性,请及时保存。遇到 failed、cancelled 或 expired 时停止轮询,检查失败信息或重新创建样片。

第三步:基于样片生成正式视频 ​

确认样片效果后,将其平台 ID 放入 content.draft_task.id:

bash
curl -sS "$ET_BASE/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $ET_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"seedance-2.5\",
    \"content\": [
      {\"type\": \"draft_task\", \"draft_task\": {\"id\": \"$DRAFT_TASK_ID\"}}
    ],
    \"resolution\": \"1080p\",
    \"output_format\": \"mp4\"
  }"

响应会返回一个新的正式视频任务 ID:

json
{"id": "sg_vid_final_example"}

生成正式视频时的约束:

  • content 只能包含一个 draft_task,且必须引用成功的样片任务。
  • 使用 Exchange Token 返回的 sg_vid_... ID,不能填写供应商原始任务 ID。
  • resolution 仅支持 1080p,省略时平台补为 1080p。
  • draft 必须省略或为 false。
  • 不得传入 duration、ratio、seed、generate_audio、omni_reference_task_type,也不能附加文本、图片、视频或音频;这些生成设置由样片复用。
  • output_format、return_last_frame、watermark 等允许重设的输出选项按渠道能力执行;省略这些选项时使用模型默认值,不继承样片取值。
  • 样片任务有效期为 7 天,从任务创建时间计算。超过有效期需重新创建样片。
  • 正式视频使用样片的原渠道,仍受账号权限、额度和限流约束。该流程不支持跨渠道 fallback,也不接受 fixchan/fallback 路由覆盖。

输出格式

本文两步都显式设置 output_format: "mp4"。需要 MOV 时可改为 mov;生成正式视频时应再次指定所需格式。

第四步:查询正式视频 ​

使用第三步返回的新 ID:

bash
export FINAL_TASK_ID='sg_vid_final_example'

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

等待 status=succeeded 后,从本次响应的 content.video_url 获取正式视频。样片 ID 查询的是样片,正式视频 ID 查询的是正式视频。

计费说明 ​

样片和正式视频是两次生成,按各自任务返回的可计费 token 用量独立结算。只生成样片时,仅产生样片费用;确认后创建正式视频,会再产生正式视频费用。

样片原始输入样片计价正式视频计价
不包含参考视频无视频输入类别,480p 输出价格无视频输入类别,1080p 输出价格
包含参考视频有视频输入类别,480p 输出价格有视频输入类别,1080p 输出价格

正式视频继承样片原始输入的计费类别,样片视频本身不额外计入输入视频时长。每一步使用该任务提交时对应的账号、模型和渠道价格,以任务实际可计费用量结算。

重复查询同一个任务不会产生新的生成费用。重复提交创建请求会建立新任务,请保存返回的任务 ID 并使用查询接口跟踪结果。

常见错误 ​

错误格式为 {"error":{"type":"...","message":"..."}}。

HTTP 状态码error.type处理方式
400invalid_request检查分辨率、禁止重复传入的参数、样片成功状态、模型名及 7 天有效期
404task_not_found检查平台任务 ID,并使用创建样片时的同一个 API Key
409draft_channel_changed原渠道账号、项目、入口或模型映射已变更,或无法核对原任务渠道信息;重新创建样片
429rate_limited触发用户或渠道限流,稍后重试
503no_channel / async_task_unavailable原渠道不可用或任务服务暂不可用,稍后重试或联系支持

相关文档 ​