通用视频格式调用
使用 /v1/video/generations 调用 Seedance 2.0 / 2.5,并由 ModelSell 转换为官方 content 格式。
/v1/video/generations 是 ModelSell 的通用视频任务接口。使用 Seedance 2.0 / 2.5 模型时,可以用 prompt、image、images、metadata.video_url 和 metadata.audio_url 表达官方 content[] 中的文本、图片、视频和音频素材;系统会转为所选 Seedance 渠道的原生请求体;方舟渠道提交到 /api/v3/contents/generations/tasks,Service Inference / Max 提交到 /v2/video/generate。
素材支持自动上传。 image、images、metadata.video_url、metadata.audio_url 或 metadata.content 中的素材 URL 可直接使用公网可访问的 https:// 链接,系统会自动识别并上传素材,无需提前调用 /api/assets/upload。
接口
| 操作 | Endpoint |
|---|---|
| 创建任务 | POST /v1/video/generations |
| 查询规范化结果 | GET /v1/videos/{task_id} |
| 查询兼容任务记录 | GET /v1/video/generations/{task_id} |
| 上传素材 | POST /api/assets/upload |
字段映射
| 通用字段 | Seedance 2.0 / 2.5 官方字段 |
|---|---|
prompt | content[] 中 type: "text" |
image 或 images[] | content[] 中 type: "image_url",role: "reference_image" |
metadata.video_url | content[] 中 type: "video_url",role: "reference_video" |
metadata.audio_url | content[] 中 type: "audio_url",role: "reference_audio" |
size | resolution;未提供时兼容 metadata.resolution |
duration 或 seconds | duration,2.5 支持 -1 或 4–30 秒;2.0 支持 -1 或 4–15 秒;编辑必须为 -1 |
metadata.ratio | ratio,默认 adaptive;2.5 编辑、延长必须显式为 adaptive |
metadata.generate_audio | generate_audio |
metadata.watermark | watermark,显式 true / false 均保留 |
metadata.return_last_frame | return_last_frame,所选上游支持时生效 |
metadata.seed | seed,所选上游支持时生效 |
metadata.camera_fixed | camera_fixed,所选上游支持时生效 |
metadata.draft | draft,所选上游支持时生效 |
metadata.service_tier | service_tier,所选上游支持时生效 |
metadata.execution_expires_after | execution_expires_after,所选上游支持时生效 |
metadata.priority | priority,所选上游支持时生效 |
metadata.safety_identifier | safety_identifier,所选上游支持时生效 |
metadata.callback_url | callback_url,所选上游支持时生效 |
metadata.output_format | output_format,所选上游支持时生效 |
metadata.tools | tools,所选上游支持时生效 |
metadata.frames | frames,所选上游支持时生效 |
omni_reference_task_type | 同名顶层字段,仅 2.5;auto / reference / edit / extend |
metadata.omni_reference_task_type | 顶层任务类型未提供时的兼容来源 |
metadata.content | 非空时完整替换快捷字段生成的 content[],保留顺序和素材角色;文本也需放入该数组 |
参数传递与尾帧
上述映射覆盖内置火山视频渠道和六个 Seedance 协议模板,包括方舟、Modelsell、Service Inference / Max,以及各自的素材接口变体。适配适用于 Seedance 1.x、2.0 / Fast / Mini、2.5 及其渠道别名;网关转发字段,不代表每个模型都实现相同能力。frames、camera_fixed、draft、service_tier 等需按所选上游的能力使用。
可选字段未提供或为 null 时不发送;布尔 false、整数 0 不会被当成缺失值。metadata.video_url、metadata.audio_url 支持单个 URL 或 URL 数组,数组会按原顺序完整转发。完整 metadata.content 可以保留首尾帧角色、多段文本和 {"type":"draft_task","draft_task":{"id":"上游样片ID"}};样片复用由支持该能力的上游处理。
以下请求要求开启水印并返回尾帧;若要关闭水印,改为 false:
{
"model": "doubao-seedance-2-0-260128",
"prompt": "生成一段苹果果茶广告,展示鲜切苹果、现摇果茶和成品特写。",
"duration": 15,
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"watermark": true,
"return_last_frame": true
}
}Seedance 2.5 编辑与延长
完整规则见请求与返回参数。使用 metadata.content 时把全部文本和素材写入数组,顶层 prompt 可省略;非空数组会完整替换快捷输入。只有图片、视频、音频或 draft_task 输入时,也不必附加空提示词;具体输入组合由上游模型校验。seconds 与 duration 只选一个,二者都传时应一致。metadata.ratio 也兼容 metadata.aspect_ratio。
{
"model": "doubao-seedance-2-5-260628",
"prompt": "编辑参考视频,将背景改成雪山,保留原有动作。",
"omni_reference_task_type": "edit",
"duration": -1,
"size": "720p",
"metadata": {
"ratio": "adaptive",
"content": [
{
"type": "text",
"text": "编辑参考视频,将背景改成雪山,保留原有动作。"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/reference-video.mp4"
},
"role": "reference_video"
}
]
}
}延长任务改为 extend,提示词写明延长方向,保留 metadata.ratio: "adaptive",例如使用 duration: 10。单个参考视频也可用 metadata.video_url 简写。output_format 等高级原生字段放在 metadata 下,例如 metadata.output_format;通用顶层同名字段不是这些选项的转发位置。
七种通用调用模式
文生视频
curl -X POST "$MODELSELL_BASE_URL/v1/video/generations" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"prompt": "一只金色柴犬在樱花树下奔跑,镜头缓缓上升",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"watermark": false
}
}'图生视频
{
"model": "doubao-seedance-2-0-fast-260128",
"prompt": "让画面中的人物缓缓转身微笑",
"image": "https://example.com/photo.jpg",
"duration": 5,
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true,
"watermark": false
}
}视频生视频
{
"model": "doubao-seedance-2-0-260128",
"prompt": "让视频中的人物变成卡通风格",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"video_url": "https://example.com/reference-video.mp4",
"generate_audio": true,
"watermark": false
}
}音画协同
{
"model": "doubao-seedance-2-0-260128",
"prompt": "让人物根据音频内容说话",
"image": "https://example.com/reference-image.jpg",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"audio_url": "https://example.com/reference-audio.mp3",
"watermark": false
}
}多重引用
{
"model": "doubao-seedance-2-0-260128",
"prompt": "按照图片的风格,修改这个视频",
"image": "https://example.com/reference-image.jpg",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"video_url": "https://example.com/reference-video.mp4",
"watermark": false
}
}动态音效
{
"model": "doubao-seedance-2-0-260128",
"prompt": "根据音频内容为视频添加匹配的音效",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"video_url": "https://example.com/reference-video.mp4",
"audio_url": "https://example.com/reference-audio.mp3",
"watermark": false
}
}全模态生成
{
"model": "doubao-seedance-2-0-fast-260128",
"prompt": "使用图片的风格,把这个声音应用在女主说话的场景,并修改这个视频",
"image": "https://example.com/reference-image.jpg",
"duration": 5,
"size": "720p",
"metadata": {
"ratio": "16:9",
"video_url": "https://example.com/reference-video.mp4",
"audio_url": "https://example.com/reference-audio.mp3",
"generate_audio": true,
"watermark": false
}
}查询任务
创建任务成功后保存返回的 id 或 task_id,按固定间隔轮询:
创建时优先保存 id;task_id 是可能省略的兼容字段。使用 /v1/videos/{task_id} 查询规范化对象,成功状态为 completed,对象类型为 video。当上游返回相应字段时,可读取 metadata.last_frame_url、metadata.usage(含 tool_usage)、metadata.output_format、metadata.duration / metadata.duration_seconds,以及实际分辨率、种子等选项。不存在的尾帧不会由网关补造。
curl "$MODELSELL_BASE_URL/v1/videos/task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6" \
-H "Authorization: Bearer $MODELSELL_API_KEY"生成成功时,通用响应会返回任务状态和视频 URL:
{
"id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
"object": "video",
"status": "completed",
"model": "doubao-seedance-2-0-260128",
"progress": 100,
"created_at": 1788753600,
"completed_at": 1788753660,
"video_url": "https://example.com/doubao-seedance-2-0/result.mp4",
"metadata": {
"url": "https://example.com/doubao-seedance-2-0/result.mp4",
"last_frame_url": "https://example.com/doubao-seedance-2-0/last-frame.png",
"usage": {"completion_tokens": 100000, "total_tokens": 100000}
}
}兼容查询路径 /v1/video/generations/{task_id} 返回 {code, data} 任务记录:读取 data.status(成功为 SUCCESS)、data.result_url 和 data.data 中的上游快照。方舟尾帧位于快照的 content.last_frame_url;Service Inference / Max 可能位于 task.last_frame_url 或 task.metadata.content.last_frame_url。不要把兼容任务记录直接当作上面的规范化对象。
视频生成是异步任务,建议每 10 秒轮询一次。参考视频必须是公网可访问 URL,不支持 Base64;图片支持公网 URL,较小图片也可使用 Base64 Data URL。
如果需要通过素材 ID 复用参考图片、视频或音频,也可以手动调用 /api/assets/upload 上传素材,等素材状态为 Active 后,把 asset://<asset_id> 放入 image、metadata.video_url 或 metadata.audio_url。