创建视频生成任务
本接口用于创建视频生成任务。模型会依据传入的文本提示词及图片信息生成视频。视频生成为异步过程,创建成功后返回任务 ID,您需通过查询视频生成任务接口轮询任务状态,待任务成功后获取生成的视频下载地址。
请求方法
POST:<ai-api-base-url>/llm/v1/contents/generations/tasks
其中,<ai-api-base-url> 为您的 API Key 所属数据中心的域名:
- 北京数据中心:
https://ai.rong-api.com - 北美数据中心:
https://ai.us-light-api.com
请求头参数
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| Authorization | string | 是 | - | 身份认证令牌,格式为 Bearer <your API key>,需替换为实际 API Key,用于验证用户权限。 |
正文参数
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | 调用的模型名称,目前支持 Doubao/Doubao-seedance-1.5-pro。 |
| content | object[] | 是 | - | 输入给模型的内容,支持文本与图片的组合。支持以下组合:文本单独输入、文本 + 图片(图生视频)。详见 content 参数说明。 |
| generate_audio | boolean | 否 | true | 是否生成与画面同步的音频。true:输出包含人声、音效及背景音乐;false:输出无声视频。建议将对话内容放在双引号内以优化音频效果。 |
| return_last_frame | boolean | 否 | false | 是否返回生成视频的尾帧图像(PNG 格式,无水印)。可用于以上一个视频的尾帧作为下一个视频任务的首帧,实现多段连续视频生成。 |
| callback_url | string | 否 | - | 任务状态变更时的回调通知地址。融云将向此地址发送 POST 请求,内容结构与查询视频生成任务接口的返回体一致。回调状态包括:queued、running、succeeded、failed、expired。 |
| resolution | string | 否 | 720p | 输出视频分辨率。可选值:480p、720p、1080p。 |
| ratio | string | 否 | adaptive | 输出视频宽高比。可选值:16:9、4:3、1:1、3:4、9:16、21:9、adaptive(根据提示词或首帧图片自动选择最合适的宽高比)。 |
| duration | integer | 否 | 5 | 视频时长,单位:秒。支持 [4, 12] 范围内的整数。设为 -1 时由模型在 [4, 12] 范围内自动选择合适时长。 |
| seed | integer | 否 | -1 | 随机种子,用于控制生成结果的随机性 。取值范围:[-1, 2³²-1]。设为 -1 时使用随机数。相同 seed 与相同请求会生成类似结果,但不保证完全一致。 |
| camera_fixed | boolean | 否 | false | 是否固定摄像头视角。true:固定摄像头;false:允许镜头运动。 |
| watermark | boolean | 否 | false | 是否在输出视频中添加水印。 |
| execution_expires_after | integer | 否 | 172800 | 任务超时阈值(单位:秒),从任务创建时间开始计算。默认 172800 秒(48 小时)。取值范围:[3600, 259200]。超时后任务将被自动终止并标记为 expired 状态。 |
| service_tier | string | 否 | default | 处理本次请求的服务等级类型。default:在线推理模式,适合对推理时效性要求较高的场景;flex:离线推理模式,价格为在线推理的 50%,适合对推理时延要求不高的场景。注意:已提交的任务不支持修改服务等级。 |
| draft | boolean | 否 | false | 是否开启样片模式(仅 Seedance 1.5 pro 支持)。true:生成预览视频,用于快速验证场景结构、镜头调度与 prompt 意图是否符合预期,消耗 token 较少;false:正常生成视频。开启样片模式时,固定使用 480p 分辨率,不支持返回尾帧,不支持离线推理。 |
| frames | integer | 否 | - | 生成视频的帧数,与 duration 二选一(frames 优先级更高)。适用于需要生成小数秒视频的场景。取值范围:[29, 289] 区间内满足 25 + 4n 格式的整数(n 为正整数)。计算公式:帧数 = 时长(秒)× 24。暂不支持 Seedance 1.5 pro。 |
content 参数说明
content 数组的每个元素通过 type 字段区分输入类型。
文本输入(type: "text"):
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "text"。 |
text | string | 是 | 文本提示词,描述期望生成的视频内容、风格、镜头运动等。支持中英文,建议中文不超过 500 字、英文不超过 1000 词。 |
图片输入(type: "image_url"):
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "image_url"。 |
image_url.url | string | 是 | 图片的公网可访问 URL 或 Base64 编码数据(格式:data:image/<格式>;base64,<编码>,格式名需小写,如 data:image/png;base64,...)。 |
image_url.role | string | 条件必填 | 图片用途,取值如下: - first_frame:首帧图片。首帧图生视频时可不填或填此值;首尾帧图生视频时必填。- last_frame:尾帧图片。首尾帧图生视频时必填,需与 first_frame 分别传入 2 个图片对象。- reference_image:参考图片(仅 Seedance 1.0 lite i2v 支持),支持传入 1~4 张,每张图片均需填写此值。注意:首帧图生视频、首尾帧图生视 频、参考图生视频为互斥场景,不可混用。 |
样片输入(type: "draft_task"):
基于样片任务 ID 生成正式视频,仅 Seedance 1.5 pro 支持。
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定值 "draft_task"。 |
draft_task.id | string | 是 | 样片任务 ID。平台将自动复用该 Draft 视频使用的输入参数(model、content.text、content.image_url、generate_audio、seed、ratio、duration、camera_fixed)生成正式视频;其余参数可重新指定,不指定时使用模型默认值。 |
样片转正式视频流程
- 调用本接口并设置
"draft": true,生成 Draft 预览视频。 - 确认 Draft 视频符合预期后,将 Step 1 返回的任务 ID 填入
draft_task.id,再次调用本接口生成最终正式视频。
传入图片要求
- 格式:jpeg、png、webp、bmp、tiff、gif、heic、heif
- 宽高比(宽/高):(0.4, 2.5)
- 像素尺寸:宽高均在 (300, 6000) px 范围内
- 大小:小于 30 MB
首帧图生视频与首尾帧图生视频为互斥场景,不可混用。首尾帧图片宽高比不一致时,以首帧为主,尾帧会自动裁剪适配。
请求示例
- cURL
- Python
- JavaScript
文生视频
bash
curl --request POST \
--url '<ai-api-base-url>/llm/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "Doubao/Doubao-seedance-1.5-pro",
"content": [
{
"type": "text",
"text": "写实风格,晴朗的蓝天之下,一大片白色的雏菊花田,镜头逐渐拉近,最终定格在一朵雏菊花的特写上,花瓣上有几颗晶莹的露珠"
}
],
"ratio": "16:9",
"duration": 5,
"generate_audio": false,
"watermark": false
}'
图生视频(首帧图生视频)
bash
curl --request POST \
--url '<ai-api-base-url>/llm/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "Doubao/Doubao-seedance-1.5-pro",
"content": [
{
"type": "text",
"text": "女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,镜头缓缓拉出,女孩的头发被风吹动"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/your-image.png",
"role": "first_frame"
}
}
],
"ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"watermark": false
}'
图生视频(首尾帧图生视频)
bash
curl --request POST \
--url '<ai-api-base-url>/llm/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "Doubao/Doubao-seedance-1.5-pro",
"content": [
{
"type": "text",
"text": "360度环绕运镜"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/first-frame.png",
"role": "first_frame"
}
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/last-frame.png",
"role": "last_frame"
}
}
],
"ratio": "adaptive",
"duration": 5,
"generate_audio": false,
"watermark": false
}'
python
import requests
url = "<ai-api-base-url>/llm/v1/contents/generations/tasks"
payload = {
"model": "Doubao/Doubao-seedance-1.5-pro",
"content": [
{
"type": "text",
"text": "写实风格,晴朗的蓝天之下,一大片白色的雏菊花田,镜头逐渐拉近,最终定格在一朵雏菊花的特写上,花瓣上有几颗晶莹的露珠"
}
],
"ratio": "16:9",
"duration": 5,
"generate_audio": False,
"watermark": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
JavaScript
const options = {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'Doubao/Doubao-seedance-1.5-pro',
content: [
{
type: 'text',
text: '写实风格,晴朗的蓝天之下,一大片白色的雏菊花田,镜头逐渐拉近,最终定格在一朵雏菊花的特写上,花瓣上有几颗晶莹的露珠'
}
],
ratio: '16:9',
duration: 5,
generate_audio: false,
watermark: false
})
};
fetch('<ai-api-base-url>/llm/v1/contents/generations/tasks', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
返回结果
| 参数名 | 类型 | 是否必返 | 说明 |
|---|---|---|---|
| id | string | 是 | 视频生成任务 ID,任务记录仅保存 7 天,超时后自动清除。获取后需通过查询视频生成任务接口轮询任务状态。 |
返回结果示例
JSON
{
"id": "cgt-2025xxxxxx-xxxx"
}