ModelSell 文档
视频系列Seedance 2.0 / 2.5

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_videoratio: "adaptive";可指定生成时长或使用 -1

原生接口把该字段放在 JSON 顶层。通用接口也推荐顶层字段,并兼容 metadata.omni_reference_task_type;两者都传时顶层优先。请显式填写编辑、延长所需的关联参数。网关校验枚举和关联字段,参考视频的真实时长由上游检查。

原生请求字段

接口为 POST /api/v3/contents/generations/tasks。下表的默认值和范围来自官方模型说明;实际可用字段取决于所选渠道。内置火山渠道和六个 Seedance 模板均转发下列原生选项;通用接口通过 metadata.<字段名> 传递高级选项,具体功能仍需所选上游模型支持。

字段类型默认值及说明
modelstring,必填实际可用的模型名称
contentobject array,必填非空内容数组;文本用 type: "text"text;媒体用 image_urlvideo_urlaudio_url 及对应的 url
omni_reference_task_typestringautoreferenceeditextend;默认 auto,仅 2.5
resolutionstring默认 720p;2.5 支持 480p720p1080p;2.0 标准版还支持 4k,2.0 fast/mini 仅支持 480p720p
ratiostring默认 adaptive;还可用 16:94:31:13:49:1621:9。2.5 编辑、延长、首帧及首尾帧任务必须为 adaptive
durationinteger2.5 默认 -1,支持 -1 或 4–30 秒;2.0 系列支持 -1 或 4–15 秒。-1 由模型选择时长;2.5 编辑任务必须为 -1
generate_audioboolean默认 truefalse 生成无声视频;有声产物为单声道
watermarkboolean官方默认 false
output_formatstring默认 mp4,可选 mp4mov,仅 2.5;原生顶层和通用 metadata.output_format 均转发
return_last_frameboolean默认 false;开启后查询结果可包含 PNG 尾帧地址;需渠道支持
callback_urlstring状态变化时接收 POST 通知的地址,官方通知体与查询结果结构一致;需渠道支持,不能假定通知里的上游 ID 已转换为 ModelSell ID
execution_expires_afterinteger默认 172800 秒;范围 3600–259200,从创建时间起计算;需渠道支持
priorityinteger默认 0,范围 0–9;同一 Endpoint 内数值越大越优先,不会中断运行中的任务;需渠道支持
safety_identifierstring最多 64 字符的稳定终端用户标识,建议传哈希;需渠道支持
toolsobject array联网工具项为 {"type":"web_search"};是否实际搜索由模型决定;需渠道支持

官网同时列出的 framesseedcamera_fixeddraftservice_tier: "flex" 属于其他模型的能力,不能据此认为 Seedance 2.5 支持。需要指定整数秒时使用 duration

2026-09-09 对照官方 SDK 请求结构补齐全系列字段转发。未传选项不会注入默认值,显式 false / 0 会保留。完整映射及尾帧示例见通用视频格式调用

输入素材与角色

图片角色为 reference_imagefirst_framelast_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 列为返回字段,不要依赖它回传。

字段类型含义
idmodelstring公共任务 ID、模型名称与版本
statusstringqueuedrunningsucceededfailedcancelled;超过任务时限可为 expired
content.video_urlstring成功后的视频地址
content.last_frame_urlstring开启 return_last_frame 且渠道支持时的尾帧地址
created_atupdated_atintegerUnix 秒级创建、更新时间
durationinteger实际输出时长约数,不是请求的 -1;官方按实际总帧数除以 24 向下取整
framespersecondinteger输出帧率
resolutionratiostring实际输出分辨率和宽高比
output_formatstring实际格式 mp4mov,2.5 字段
generate_audioboolean实际产物是否带同步音频
usage.completion_tokensinteger视频生成 token 用量
usage.total_tokensinteger官方总 token 数;视频模型不统计输入 token,与 completion tokens 相等
usage.tool_usage.web_searchinteger开启联网搜索时返回的实际调用次数,可能为 0
tools[].typestring实际使用的工具,未使用时可省略
execution_expires_afterinteger从创建时间计算的任务时限(秒)
safety_identifierstring请求设置且渠道支持时回传的用户标识
errorobject 或 null成功时可为 null;失败时读取 error.codeerror.message
framesseedservice_tierdraftdraft_task_id随字段不同官方共用响应中的模型相关字段;framesduration 二选一,不能据此推断 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;还可能有 usagelast_frame_urlprep 和字符串 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",状态为 queuedin_progresscompletedfailed。成功地址为 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,不要要求它保留方舟原始错误码。轮询遇到 failedcancelledexpired 应停止,并设置本地等待上限。

On this page