Seedance 2.5 请求与返回参数
omni_reference_task_type 的配置、编辑与延长限制、原生和通用接口响应及异步错误。
本页于 2026-09-07 核对火山引擎官方创建视频生成任务(更新于 2026-09-04)和查询视频生成任务(更新于 2026-08-19),并对照 ModelSell 当前接口转换行为整理。
示例使用官方模型 ID doubao-seedance-2-5-260628。调用 ModelSell 时,请使用账户实际可用的模型名和 ModelSell API Key;渠道中的模型别名或 -max 后缀不属于官方 Model ID。
任务类型引导
omni_reference_task_type 是可选的 string 请求字段,官方默认值为 auto,仅 Seedance 2.5 支持。它用于全模态参考任务的类型引导,不代表模型一定按指定类型执行。
| 值 | 用途 | 特殊限制 |
|---|---|---|
auto | 模型按素材与提示词决定任务类型 | 省略字段时由上游采用默认行为 |
reference | 利用参考素材生成新视频 | 没有额外的任务类型限制,仍须遵守模型的比例、时长等基本范围 |
edit | 编辑原视频画面或声音 | 至少一个 reference_video;待编辑视频实际时长 4–30 秒;ratio: "adaptive";duration: -1 |
extend | 向前或向后延长原视频 | 至少一个 reference_video;ratio: "adaptive";可指定生成时长或使用 -1 |
原生接口把该字段放在 JSON 顶层。通用接口也推荐顶层字段,并兼容 metadata.omni_reference_task_type;两者都传时顶层优先。请显式填写编辑、延长所需的关联参数。网关校验枚举和关联字段,参考视频的真实时长由上游检查。
原生请求字段
接口为 POST /api/v3/contents/generations/tasks。下表的默认值和范围来自官方模型说明;实际可用字段取决于所选渠道。内置火山渠道和六个 Seedance 模板均转发下列原生选项;通用接口通过 metadata.<字段名> 传递高级选项,具体功能仍需所选上游模型支持。
| 字段 | 类型 | 默认值及说明 |
|---|---|---|
model | string,必填 | 实际可用的模型名称 |
content | object array,必填 | 非空内容数组;文本用 type: "text" 和 text;媒体用 image_url、video_url、audio_url 及对应的 url |
omni_reference_task_type | string | auto、reference、edit、extend;默认 auto,仅 2.5 |
resolution | string | 默认 720p;2.5 支持 480p、720p、1080p;2.0 标准版还支持 4k,2.0 fast/mini 仅支持 480p、720p |
ratio | string | 默认 adaptive;还可用 16:9、4:3、1:1、3:4、9:16、21:9。2.5 编辑、延长、首帧及首尾帧任务必须为 adaptive |
duration | integer | 2.5 默认 -1,支持 -1 或 4–30 秒;2.0 系列支持 -1 或 4–15 秒。-1 由模型选择时长;2.5 编辑任务必须为 -1 |
generate_audio | boolean | 默认 true;false 生成无声视频;有声产物为单声道 |
watermark | boolean | 官方默认 false |
output_format | string | 默认 mp4,可选 mp4、mov,仅 2.5;原生顶层和通用 metadata.output_format 均转发 |
return_last_frame | boolean | 默认 false;开启后查询结果可包含 PNG 尾帧地址;需渠道支持 |
callback_url | string | 状态变化时接收 POST 通知的地址,官方通知体与查询结果结构一致;需渠道支持,不能假定通知里的上游 ID 已转换为 ModelSell ID |
execution_expires_after | integer | 默认 172800 秒;范围 3600–259200,从创建时间起计算;需渠道支持 |
priority | integer | 默认 0,范围 0–9;同一 Endpoint 内数值越大越优先,不会中断运行中的任务;需渠道支持 |
safety_identifier | string | 最多 64 字符的稳定终端用户标识,建议传哈希;需渠道支持 |
tools | object array | 联网工具项为 {"type":"web_search"};是否实际搜索由模型决定;需渠道支持 |
官网同时列出的 frames、seed、camera_fixed、draft 和 service_tier: "flex" 属于其他模型的能力,不能据此认为 Seedance 2.5 支持。需要指定整数秒时使用 duration。
2026-09-09 对照官方 SDK 请求结构补齐全系列字段转发。未传选项不会注入默认值,显式 false / 0 会保留。完整映射及尾帧示例见通用视频格式调用。
输入素材与角色
图片角色为 reference_image、first_frame 或 last_frame,视频为 reference_video,音频为 reference_audio。首帧、首尾帧、全模态参考三种模式互斥;不要把 first_frame / last_frame 和参考媒体模式混用。
2.5 全模态参考最多 30 张图片、10 个视频、10 段音频;视频总时长和音频总时长分别不超过 30 秒。单个参考视频一般为 2–30 秒,编辑用视频为 4–30 秒;单段音频为 2–30 秒。2.0 对应上限是 9 张图片、3 个视频、3 段音频,视频和音频各不超过 15 秒。
官网支持图片和音频 URL、Base64 Data URL,以及受支持的 asset:// 引用;视频使用 URL 或受支持的 asset:// 引用,不支持 Base64。官方单张图片小于 30 MB、单个视频不超过 200 MB、单段音频不超过 15 MB,请求体不超过 64 MB;渠道可能采用更小的上传限制。2.5 官网支持仅音频输入,ModelSell 原生与通用入口支持有效媒体或样片内容不附带提示词;具体组合由上游校验。
编辑请求示例
把示例 URL 替换为可访问的 4–30 秒视频:
curl -X POST "$MODELSELL_BASE_URL/api/v3/contents/generations/tasks" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"omni_reference_task_type": "edit",
"content": [
{"type": "text", "text": "编辑参考视频,将背景改成雪山,保留原有动作和镜头。"},
{"type": "video_url", "video_url": {"url": "https://example.com/reference-video.mp4"}, "role": "reference_video"}
],
"ratio": "adaptive",
"duration": -1,
"resolution": "720p",
"generate_audio": true
}'延长任务使用相同的参考视频结构,将任务类型改为 extend,提示词明确写“向后延长参考视频”,保持 ratio: "adaptive",例如指定 duration: 10。参考生成新视频时使用 reference,提示词明确描述新视频内容。
创建与查询返回参数
官方创建成功的最小响应只有 id,并不表示视频已生成。ModelSell 会把任务 ID 替换为公共任务 ID;后续查询必须使用返回的 id:
{"id":"task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6"}curl "$MODELSELL_BASE_URL/api/v3/contents/generations/tasks/task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6" \
-H "Authorization: Bearer $MODELSELL_API_KEY"以下为采用方舟原生响应的渠道字段。返回字段随任务状态、模型和渠道而变化,不能要求未列为必填的字段始终存在。官网未把 omni_reference_task_type 列为返回字段,不要依赖它回传。
| 字段 | 类型 | 含义 |
|---|---|---|
id、model | string | 公共任务 ID、模型名称与版本 |
status | string | queued、running、succeeded、failed、cancelled;超过任务时限可为 expired |
content.video_url | string | 成功后的视频地址 |
content.last_frame_url | string | 开启 return_last_frame 且渠道支持时的尾帧地址 |
created_at、updated_at | integer | Unix 秒级创建、更新时间 |
duration | integer | 实际输出时长约数,不是请求的 -1;官方按实际总帧数除以 24 向下取整 |
framespersecond | integer | 输出帧率 |
resolution、ratio | string | 实际输出分辨率和宽高比 |
output_format | string | 实际格式 mp4 或 mov,2.5 字段 |
generate_audio | boolean | 实际产物是否带同步音频 |
usage.completion_tokens | integer | 视频生成 token 用量 |
usage.total_tokens | integer | 官方总 token 数;视频模型不统计输入 token,与 completion tokens 相等 |
usage.tool_usage.web_search | integer | 开启联网搜索时返回的实际调用次数,可能为 0 |
tools[].type | string | 实际使用的工具,未使用时可省略 |
execution_expires_after | integer | 从创建时间计算的任务时限(秒) |
safety_identifier | string | 请求设置且渠道支持时回传的用户标识 |
error | object 或 null | 成功时可为 null;失败时读取 error.code 和 error.message |
frames、seed、service_tier、draft、draft_task_id | 随字段不同 | 官方共用响应中的模型相关字段;frames 与 duration 二选一,不能据此推断 2.5 支持对应请求参数 |
官方视频链接有效期为 24 小时,2.5 视频 URL 最多下载 100 次;官方查询接口仅保留最近 7 天的任务。这些是方舟上游限制,其他渠道和 ModelSell 本地任务记录可能不同,建议成功后及时转存。
{
"id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
"model": "doubao-seedance-2-5-260628",
"status": "succeeded",
"content": {"video_url": "https://example.com/seedance/result.mp4"},
"created_at": 1788753600,
"updated_at": 1788753660,
"duration": 8,
"framespersecond": 24,
"resolution": "720p",
"ratio": "16:9",
"output_format": "mp4",
"generate_audio": true,
"usage": {"completion_tokens": 108900, "total_tokens": 108900},
"error": null
}其他渠道和通用格式
Service Inference / Max 渠道的原生响应会把上游 task 对象展开到顶层:成功状态为 completed,视频地址取 outputs[0],时长可能为 duration_seconds,完成时间为 completed_at;还可能有 usage、last_frame_url、prep 和字符串 error。这些字段不能与方舟的 content.video_url 混为一谈。
{
"id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
"status": "completed",
"model": "doubao-seedance-2-5-260628-max",
"outputs": ["https://example.com/seedance/result.mp4"],
"duration_seconds": 8,
"error": null
}GET /v1/videos/{task_id} 使用规范化对象 object: "video",状态为 queued、in_progress、completed、failed。成功地址为 video_url / metadata.url,尾帧为 metadata.last_frame_url,用量为 metadata.usage,实际输出格式为 metadata.output_format,仅在上游提供时返回。GET /v1/video/generations/{task_id} 则保留 {code, data} 包装,任务状态为 data.status,上游原始快照位于 data.data。兼容字段 task_id 可能省略,应保存 id。原生入口也有渠道采用这一通用响应,接入前按选用渠道确定结构。完整示例见通用视频格式调用。
同步与异步错误
| 阶段 | 结果 | 处理 |
|---|---|---|
| 显式任务类型的参数校验失败 | 创建接口立即报错,不创建任务 | 修正枚举、参考视频、比例或时长;不要进入轮询 |
auto 判断后参数不适用 | 异步 InvalidParameter.TaskTypeConstraint | 按实际任务类型修正参数后重新提交 |
| 实际类型与指定值冲突 | 异步 InvalidParameter.TaskTypeMismatch | 调整提示词,让编辑、延长或参考生成的意图与指定类型一致 |
{
"id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
"status": "failed",
"error": {
"code": "InvalidParameter.TaskTypeMismatch",
"message": "The detected task type does not match omni_reference_task_type."
}
}错误示例中的 message 仅作说明,实际文案以上游为准。通用响应的 error.code 可能规范化为 failed,不要要求它保留方舟原始错误码。轮询遇到 failed、cancelled 或 expired 应停止,并设置本地等待上限。