Claude Opus 5.5 已在 SeedRouter 上线

Video

Seedance 2.5

View Markdown

通过官方 ModelArk 任务 API 使用 Seedance 2.5 生成、编辑和延长视频:最长 30 秒、最高 1080p,支持最多 30 张图片、10 段视频和 10 段音频参考。

Seedance 2.5 是 ByteDance 最新的视频生成模型(Dreamina Seedance 2.5)。发送官方 ModelArk 任务请求体到 POST /v1/videos/generations,保存返回的任务 ID,再从 GET /v1/tasks/{id} 读取生成完成的视频。图片、视频和音频以 URL 形式放在 content 中。

模型 ID

模型 ID分辨率时长
dreamina-seedance-2-5480p、720p、1080p4–30 秒,或自动

当前价格见模型页。

快速示例

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5",
    "content": [{"type": "text", "text": "A red paper boat drifts across a calm pond at sunrise, slow dolly-in"}],
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "generate_audio": true
  }'

端点

POST https://api.seedrouter.ai/v1/videos/generations
请求头值
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

请求体是官方 ModelArk 的“创建视频生成任务”请求体;这是 SeedRouter 每个视频模型都使用的同一个端点。响应是新任务(包含 id、status: "processing"),而不是生成完成的视频。请把 API 密钥保存在服务端代码中。

参数

名称类型必填默认值说明
modelstring是—dreamina-seedance-2-5。
contentobject[]是—提示词和媒体;见下文。
draftboolean否falsetrue 表示生成 480p 草稿。
resolutionenum否480p、720p、1080p。普通生成默认为 720p,草稿默认为 480p;从草稿生成正式视频时必须显式设置为 1080p。480p、720p、1080p。
ratioenum否adaptive16:9、4:3、1:1、3:4、9:16、21:9、adaptive。带首帧时,以及 edit 和 extend 下,必须为 adaptive(或不传)。
durationinteger否-14–30 秒,或传 -1 由模型决定。edit 下必须为 -1。
generate_audioboolean否true随视频一起生成声音。
watermarkboolean否false添加水印。
return_last_frameboolean否false同时以图片 URL 形式返回最后一帧。
output_formatenum否mp4mp4 或 mov。
omni_reference_task_typeenum否autoauto、reference、edit、extend。edit 和 extend 需要提供参考视频。
execution_expires_afterinteger否1728003600–259200 秒。超过该时间仍未完成的任务会以 task_expired 失败,且不计费。
priorityinteger否00–9。
safety_identifierstring否—标识你的终端用户,1–64 个字符。用哈希值即可。
service_tierenum否default只能是 default。
content_filterboolean否trueSeedRouter 扩展字段。设为 false 会关闭本次请求的内容过滤。

content 条目

条目结构角色限制
文本{"type": "text", "text": "..."}—一条。
图片{"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."}first_frame、last_frame、reference_image最多 30 张参考图片。
视频{"type": "video_url", "video_url": {"url": "https://..."}, "role": "reference_video"}reference_video最多 10 段。
音频{"type": "audio_url", "audio_url": {"url": "https://..."}, "role": "reference_audio"}reference_audio最多 10 段。

未知字段会被拒绝。不支持:seed、callback_url(请改为轮询任务)、tools,以及仅 1.x 使用的 frames 和 camera_fixed。任务无法取消或删除。

模式

模式由 content 条目决定;没有模式参数。

模式content
文生视频一条文本
首帧文本(可选)+ 一张角色为 first_frame 的图片,或一张不带角色的图片
首尾帧文本(可选)+ 一张 first_frame 图片 + 一张 last_frame 图片
多模态参考文本 + 任意组合的 reference_image、reference_video 和 reference_audio 条目
编辑视频文本 + 一段 reference_video,并设置 omni_reference_task_type: "edit"
延长视频文本 + 一段 reference_video,并设置 omni_reference_task_type: "extend"

首帧类模式不能与参考条目组合使用。有多张图片或任何其他媒体时,每张图片都需要指定 role。

参考示例

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5",
    "content": [
      {"type": "text", "text": "The character from the image walks through the market in the video, same camera move"},
      {"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
      {"type": "video_url", "video_url": {"url": "https://example.com/market.mp4"}, "role": "reference_video"}
    ],
    "ratio": "adaptive",
    "duration": 8
  }'

请把示例 URL 替换成你自己的、可访问的文件。

媒体输入

本 API 只接受 URL 引用。不接受 Base64、data: URL、asset:// ID 和 multipart 上传。Playground 会先把所选文件上传到存储,再提交其 URL。

媒体必须是公开可访问的 HTTP(S) URL,并满足模型的官方限制:

媒体格式限制
图片JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF小于 30 MB;宽和高 300–6000 px;宽高比(宽 / 高)0.4–2.5;1–30 张参考图片
视频MP4、MOV(H.264 或 H.265)每段 2–30 秒(edit 下为 4–30 秒),最多 10 段,总计不超过 30 秒;不超过 200 MB;24–60 FPS;宽和高 300–6000 px;宽高比 0.4–2.5;407,696–8,295,044 像素(宽 × 高)
音频WAV、MP3每段 2–30 秒,最多 10 段,总计不超过 30 秒;不超过 15 MB

模型不支持包含真人面孔的参考图片和参考视频。

媒体会在任务开始时、任何生成之前接受检查。媒体违反上述任一限制的任务会以 failed 结束,带有 invalid_request_error 和一条指明所违反规则的消息,例如 The request was rejected: content reference videos must total at most 15 seconds.,且不计费。此时无法读取的文件会交给模型,由模型决定接受或拒绝;无论哪种情况,失败的任务都不计费。

计费维度

当前费率请查看模型定价部分。Seedance 2.5 按视频 token 计费,这是官方的计费单位:

video tokens = (output seconds + reference video seconds) × width × height × 24 / 1024

每百万 token 的费率取决于输出分辨率,以及请求是否包含参考视频;包含参考视频的请求,其全部 token 都按较低的费率计费。文本、图片和音频输入不计费。在 16:9 下,每秒在 480p(854×480)为 9,607.5 个 token,720p 为 21,600,1080p 为 48,600。

含参考视频的请求还设有最低 token 门槛。估价时,即使原始参考视频更短,公式中的参考视频时长也至少按 ceil(output seconds × 2 / 3) 秒计算。草稿和正式视频任务均适用此规则;草稿视频本身不会成为参考视频。实际费用以完成任务返回的用量为准。

扣费以生成完成的视频所报告的 token(output.usage.completion_tokens)为准,因此 duration: -1 按实际生成的时长计费。渲染出的片段会略长于请求的时长:一个 5 秒、720p、16:9 的请求会渲染 121 帧,报告 108,900 个 token,而不是 108,000。最终扣费请在账号的用量记录中查看。失败的任务不计费。

输出结构

提交后返回新任务:

{"id": "task_...", "model": "dreamina-seedance-2-5", "status": "processing", "created_at": 1790321515}

查询任务

curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

每 10–20 秒轮询一次,直到 status 变为 completed 或 failed。轮询过程中出现网络超时,并不意味着生成失败:请保留任务 ID 并继续查询。不要为了查看进度而再创建一个任务。

完整轮询示例

请在上面的 Python 提交示例之后运行这段代码。

import time

deadline = time.monotonic() + 1800
while time.monotonic() < deadline:
    result = requests.get(
        f"https://api.seedrouter.ai/v1/tasks/{task_id}",
        headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
        timeout=30,
    )
    result.raise_for_status()
    task = result.json()
    if task["status"] == "completed":
        print(task["output"]["video_url"])
        break
    if task["status"] == "failed":
        raise RuntimeError(task["error"]["message"])
    time.sleep(15)
else:
    raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")

完成的任务

{
  "id": "task_...",
  "model": "dreamina-seedance-2-5",
  "status": "completed",
  "created_at": 1790321515,
  "finished_at": 1790321652,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
    "last_frame_url": "https://static.seedrouter.ai/media/tasks/task_example/last_frame/0.jpg",
    "content": {
      "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
      "last_frame_url": "https://static.seedrouter.ai/media/tasks/task_example/last_frame/0.jpg"
    },
    "usage": {"completion_tokens": 108900, "total_tokens": 108900},
    "seed": 42,
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "framespersecond": 24,
    "generate_audio": true,
    "draft": false,
    "output_format": "mp4",
    "service_tier": "default",
    "execution_expires_after": 172800,
    "priority": 0
  }
}
字段含义
id请保留该 ID 用于后续查询。
statusprocessing、completed 或 failed。
output.video_url生成的视频。
output.last_frame_url最后一帧,在 return_last_frame 为 true 时返回。
output.content官方 ModelArk 格式的相同 URL。
output.usage.completion_tokens生成完成的视频的视频 token 数;即计费数量。
output.duration、output.resolution、output.ratio、output.framespersecond、output.seed实际渲染的参数;seed 是模型选定的值。
created_at、finished_at以秒为单位的 Unix 时间戳。
error失败的任务返回 {"code", "message"}。

视频 URL 托管在我们的存储上。需要长期保存时,请把文件保存到你自己的存储中。

错误

在任务创建之前被拒绝的请求,会返回 HTTP 错误状态码和一个 error 对象,且不计费。受理之后才失败的任务,在查询时返回 HTTP 200,并带有 status: "failed" 和一个 error 对象。被内容过滤拦下的输出会以 content_policy_violation 失败;运行超过 execution_expires_after 的任务以 task_expired 失败。

错误码、HTTP 状态码和重试建议请参见公共错误目录。

{
  "id": "task_...",
  "model": "dreamina-seedance-2-5",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

如果提交本身超时,请先检查你的任务历史再重新提交:第一次请求有可能已经被受理。

实用建议

  • 用完整的句子描述主体、动作、运镜和光线。
  • 先用 480p 和较短的 duration 出草稿,再用更高的分辨率渲染选定的版本。
  • 用 return_last_frame 串联镜头:把返回的那一帧作为下一个任务的 first_frame。
  • 要编辑素材,把 omni_reference_task_type 设为 edit,并只描述需要改变的部分。

相关内容

草稿预览与正式视频

设置 draft: true 可生成 480p 预览。草稿模式不接受其他分辨率。预览生成的 token 用量规则和单价与标准 480p 生成相同。

{
  "model": "dreamina-seedance-2-5",
  "content": [{ "type": "text", "text": "A fox walks through a sunny garden." }],
  "draft": true,
  "resolution": "480p",
  "duration": 4,
  "ratio": "16:9"
}

轮询返回的 SeedRouter 任务 ID,直到 status 为 completed 且 output.draft 为 true。在草稿创建后的 7 天内,用该 ID 提交一条独立请求:

{
  "model": "dreamina-seedance-2-5",
  "content": [{ "type": "draft_task", "draft_task": { "id": "task_YOUR_DRAFT_ID" } }],
  "resolution": "1080p"
}

草稿必须属于你的账号、已完成,并使用相同模型。content 只能包含一条 draft_task。必须显式设置 resolution 为 1080p;省略 draft 或将其设为 false。不要再次传入 duration、ratio、seed、generate_audio、omni_reference_task_type、文本或媒体,即使值相同也不可以。这些设置均继承自草稿。

新任务可以设置 watermark、return_last_frame、output_format、execution_expires_after、priority、safety_identifier 和 service_tier: "default"。未传入的输出选项使用各自默认值。content_filter 继承自草稿,不能更改。正式视频成功后返回新的任务 ID、output.draft: false,以及值为原 SeedRouter 草稿 ID 的 output.draft_task_id。草稿过期前,可以用同一草稿分别生成多次正式视频。

草稿和正式视频独立计费。正式视频按原草稿的输入类别使用对应的 1080p 费率:如果草稿使用了参考视频,正式视频也按参考视频档计费,并将原始参考视频时长计入 token 用量。草稿视频本身不会作为额外输入视频计入。每个任务使用提交时生效的价格。失败的请求不收费。