睿枢智算 视频生成接口文档
版本: v2.0 | 更新日期: 2026-08-07
Base URLhttps://mjlm.coral-gpu.com:3000/v1
模型 IDdoubao-seedance-2-0-260128
认证方式Bearer Token
请求头Authorization: Bearer <your-api-key>Content-Type: application/json
基础信息
| 项目 | 说明 |
|---|---|
| Base URL | https://mjlm.coral-gpu.com:3000/v1 |
| 模型 ID | doubao-seedance-2-0-260128 |
| 认证方式 | Bearer Token |
| 请求头 | Authorization: Bearer <your-api-key>Content-Type: application/json |
一、创建视频生成任务
1.1 接口信息
| 项目 | 值 |
|---|---|
| 方法 | POST |
| 路径 | /v1/contents/generations/tasks |
| Content-Type | application/json |
| 超时建议 | 60 秒 |
1.2 请求参数(完整版)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | String | 是 | 模型ID,需提前开通模型服务,固定值: doubao-seedance-2-0-260128 |
| content | Object[] | 是 | 模型生成视频的输入内容,支持文本、图片、音频、视频、样片任务ID多种素材 |
| callback_url | String | 否 | 任务回调通知地址,任务状态变更(排队、运行、成功、失败、超时)会推送POST请求,回调结构与查询任务接口返回体一致 |
| return_last_frame | Boolean | 否 | 默认false;true 返回视频尾帧图片,false 不返回尾帧图片 |
| execution_expires_after | Integer | 否 | 默认172800秒(48小时),任务超时时间,取值范围3600~259200,超时自动标记为expired |
| generate_audio | Boolean | 否 | 默认true;true自动生成匹配视频的背景音乐/音效/人声,false生成无声视频 |
| tools | Object[] | 否 | 配置模型需要调用的工具能力,按需传入,对象示例:{"type":"web_search"} 使用工具名称 |
| safety_identifier | String | 否 | 终端用户唯一标识,固定不重复,长度<=64位,建议哈希处理保护隐私 |
| resolution | String | 否 | 默认720p;支持480p、720p、1080p |
| ratio | String | 否 | 默认adaptive自适应;可选16:9、4:3、1:1、3:4、9:16、21:9;自适应可根据参考素材自动匹配比例 |
| duration | Integer | 否 | 视频时长,单位:秒。doubao-seedance-2.0支持 [4, 15] 范围内的整数。支持设置为 -1,由模型自动选择合适时长 |
| seed | Integer | 否 | 随机种子,用于固定生成结果复现,默认-1随机,取值范围 -1 ~ 2^32-1 |
| watermark | Boolean | 否 | 默认false;true视频右下角带AI水印,false无水印 |
1.3 Content 对象详细说明
content 是一个对象数组,每个元素代表一个素材项,通过 type 字段区分类型。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | String | 是 | 素材类型,支持 video_url、image_url、audio_url、text 四种类型 |
| text | String | 条件必填 | 视频生成提示词,详细定义视频镜头、画面、音效、旁白、运镜、首尾帧效果 |
| image_url | Object | 条件必填 | 图片素材对象,仅type为image_url时生效,用于视频首帧、尾帧、画面风格参考 |
| video_url | Object | 条件必填 | 视频素材对象,仅type为video_url时生效;需传入合规可解析的视频资源URL |
| audio_url | Object | 条件必填 | 音频素材对象,仅type为audio_url时生效,用于视频背景音乐、音效参考 |
| role | String | 否 | 素材角色标识:reference_video(参考视频)、reference_image(参考图片)、reference_audio(参考音频),用于模型识别素材用途 |
1.4 各类型素材对象结构
image_url 对象:
json
{"url": "https://example.com/image.jpg"}video_url 对象:
json
{"url": "https://example.com/video.mp4"}audio_url 对象:
json
{"url": "https://example.com/audio.mp3"}1.5 请求示例 - 文生视频
POST / JSON
POST https://mjlm.coral-gpu.com:3000/v1/contents/generations/tasks{ "model": "doubao-seedance-2-0-260128", "content": [ {"type": "text", "text": "一只猫在草地上奔跑,阳光明媚"} ], "resolution": "720p", "ratio": "16:9", "duration": 5, "generate_audio": false, "watermark": false}1.6 请求示例 - 图生视频(带 role)
POST / JSON
POST https://mjlm.coral-gpu.com:3000/v1/contents/generations/tasks{ "model": "doubao-seedance-2-0-260128", "content": [ {"type": "text", "text": "让画面中的人物微笑并转身"}, { "type": "image_url", "image_url": {"url": "https://example.com/ref.jpg"}, "role": "reference_image" } ], "resolution": "720p", "ratio": "16:9", "duration": 5}1.7 请求示例 - 返回尾帧 + 固定种子 + 自定义超时
POST / JSON
POST https://mjlm.coral-gpu.com:3000/v1/contents/generations/tasks{ "model": "doubao-seedance-2-0-260128", "content": [ {"type": "text", "text": "一朵花从花苞到盛开的过程"} ], "resolution": "1080p", "duration": 8, "return_last_frame": true, "seed": 42, "generate_audio": true, "execution_expires_after": 3600, "safety_identifier": "user_abc123"}1.8 请求示例 - 带工具调用
POST / JSON
POST https://mjlm.coral-gpu.com:3000/v1/contents/generations/tasks{ "model": "doubao-seedance-2-0-260128", "content": [ {"type": "text", "text": "生成一个关于最新科技新闻的视频"} ], "tools": [{"type": "web_search"}], "duration": 10}1.9 成功响应
json
{ "id": "vt-016569a13c00646194323164"}说明: 返回 id 即任务已提交成功。视频生成为异步任务,需轮询查询接口获取最终结果。
1.10 错误响应
| HTTP 状态码 | 错误码 | 说明 |
|---|---|---|
| 400 | input_text_sensitive | 提示词未通过安全校验 |
| 400 | input_image_sensitive | 参考图未通过安全校验 |
| 400 | reference_video_duration_exceeded | 参考视频时长超限 |
| 403 | insufficient_user_quota | 余额不足 |
| 429 | rate_limit_error | 请求过于频繁 |
二、查询视频生成任务
2.1 接口信息
| 项目 | 值 |
|---|---|
| 方法 | GET |
| 路径 | /v1/contents/generations/tasks/{task_id} |
2.2 路径参数
| 参数 | 类型 | 说明 |
|---|---|---|
| task_id | String | 任务 ID,创建任务时返回的 id |
2.3 成功响应
json
{ "id": "vt-016569a13c00646194323164", "model": "doubao-seedance-2-0-260128", "status": "succeeded", "output": { "video_url": "https://...", "last_frame_url": "https://..." // 仅 return_last_frame=true 时返回 }, "usage": { "output_tokens": 324900 }}2.4 任务状态说明
| 状态 | 说明 |
|---|---|
| pending | 排队中 |
| running | 生成中 |
| succeeded | 已完成 |
| failed | 失败 |
| expired | 已超时(超过 execution_expires_after 设置的时间) |
2.5 回调通知
如果创建任务时指定了 callback_url,任务状态变更时会向该地址发送 POST 请求,请求体与查询接口返回体一致。
三、完整调用流程
- 1调用创建任务接口,提交视频生成请求
- 2获取返回的任务 ID
- 3使用任务 ID 轮询查询任务状态(建议间隔 5 秒)
- 4当 status 为 succeeded 时,从 output.video_url 获取视频
- 5如果设置了 return_last_frame=true,可从 output.last_frame_url 获取尾帧图片
- 6如果设置了 callback_url,任务完成时会收到回调通知
四、注意事项
- ✓视频生成为异步任务,通常需要 30 秒到几分钟不等
- ✓建议轮询间隔设置为 5 秒
- ✓任务有效期默认 48 小时,可通过 execution_expires_after 自定义(3600~259200秒)
- ✓超时任务自动标记为 expired
- ✓使用 seed 参数可以固定生成结果,便于复现
- ✓return_last_frame 返回的尾帧可用于续接生成
- ✓所有金额单位为人民币(元)
- ✓safety_identifier 建议使用用户唯一标识的哈希值,用于安全审计