本文介绍 Doubao 视频生成大模型 API 的输入输出参数,方便您通过接口,向大模型发起视频生成的请求。模型会依据传入的图片及文本信息生成视频,待生成完成后,您可以按条件查询任务并获取生成的视频。
说明
当前支持文生视频和图生视频:
本接口支持 API Key 鉴权方式,详见鉴权认证方式。
POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks
单主账号在方舟服务端排队(queued
)的任务数量上限为120个。您排队的任务数量可以使用查询内容生成任务列表 API筛选任务状态查询到。
running
)的任务、执行失败(failed
)、中止(cancelled
)、成功(succeeded
)的任务。参数 | 子字段 | 类型 | 必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|---|
model | - | String | 是 | - | 您创建的推理接入点(Endpoint)ID。该推理接入点需部署了视频生成的模型。
| ep-2024****-** |
content | - | List | 是 | - | 注意 目前支持的输入组合:
暂不支持的输入组合:
示例:
| - |
type | String | 是 | - | 输入内容的类型。取值:
|
| |
text | String | 条件必填 | - | 输入给模型的文本内容,描述期望生成的视频,包含视频描述以及模型支持的参数。如果
示例:描述+参数
| - | |
image_url | Object | 条件必填 | - | 输入给模型的图片对象,如果 | - | |
image_url.url | String | 条件必填 | - | 图片的信息,可以是图片URL或图片Base64编码。
说明 传入图片需要满足以下条件:
示例:传入图片url
示例:传入图片Base64编码
| - |
文本信息中添加下面参数,可以帮助您控制视频输出的规格,包括宽高比、帧率、分辨率等。
注意
参数 | 类型 | 描述 | 默认值 | 示例 |
---|---|---|---|---|
ratio | String | 宽高比例。枚举值,取值范围以及对应的宽高(p)在默认分辨率
"一只小猫咪朝镜头跑过来 --ratio 16:9" |
|
|
duration | Integer | 生成视频时长,单位:秒
|
|
|
fps | Integer | 帧率,即一秒时间内视频画面数量。枚举值:
|
|
|
resolution | String | 视频分辨率,枚举值:
|
|
|
watermark | Boolean | 生成视频是否包含水印。取值范围:
|
|
|
参数 | 类型 | 描述 |
---|---|---|
id | String | 视频生成任务 ID。 |
curl -X POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 59385462-****" \ -d '{ "model": "ep-2024**-**", // 指定您创建的推理接入点 ID "content": [ { "type": "text", "text": "一只小猫咪朝镜头跑过来 --ratio 1:1 --fps 24 --dur 5" }, { "type": "image_url", "image_url": { "url": "https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_fb43d6e713440886e485dea203686239.png" } } ] }'
{ "id": "cgt-2024****-**", }
GET https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/{id}
下面参数为Query String Parameters,在URL String中传入。
参数 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
id | String | 必填 | 视频生成任务 ID。 |
|
参数 | 子参数 | 类型 | 描述 | 示例值 |
---|---|---|---|---|
id | - | String | 生成任务 ID |
|
model | - | String | 任务使用的模型名称和版本, |
|
status | - | String | 任务状态,以及相关的信息:
|
|
error | - | Object | 错误提示信息,当任务失败时返回。 | - |
code | String | 错误码,具体参见 错误处理。 |
| |
message | String | 错误提示信息,具体参见 错误处理。 |
| |
created_at | - | Integer | 任务创建时间的 Unix 时间戳(秒)。 |
|
updated_at | - | Integer | 任务当前状态更新时间的 Unix 时间戳(秒)。 |
|
content | - | Object | 当视频生成任务完成,会输出该字段,包含生成视频下载的 URL。
| - |
video_url | String | 生成视频的URL。
|
| |
usage | - | Object | 用量统计。 | - |
completion_tokens | Integer | 本次任务的 token 用量,包含输入信息和生成视频的消耗。 |
|
curl -X GET https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/cgt-2024****-** \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 59385462-****"
非failed
状态返回示例
{ "id":"cgt-2024****-**", "model":"doubao-****-**", //与请求参数含义不同,此处含义为任务使用的 {模型名称}-{版本} "status":"succeeded", "created_at":"1718049470", "updated_at":"1718049470", "content":{ "video_url":"https://xxx", }, "usage":{ "completion_tokens":35800, } }
failed
状态返回示例
{ "id":"cgt-2024****-**", "model":"doubao-****-**", //与请求参数含义不同,此处含义为任务使用的 {模型名称}-{版本} "status":"failed", "error":{ "code":"OutputVideoSensitiveContentDetected", "message":"The request failed because the output video may contain sensitive information.Request ID: {id}" } "created_at":"1718049470", "updated_at":"1718049470" }
GET https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks?page_num={page_num}&page_size={page_size}&filter.status={filter.status}&filter.task_ids={filter.task_ids}&filter.model={filter.model}
下面参数为Query String Parameters,在URL String中传入。
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
page_num | Integer | 可选 |
| 页码,取值范围:[1, 500]。 |
page_size | Integer | 可选 |
| 每页数据量, 取值范围:[1, 500] |
filter.status | String | 可选 | - | 过滤参数,查询某个任务状态。
|
filter.task_ids | Array of String | 可选 | - | 视频生成任务 ID,精确搜索。 |
filter.model | String | 可选 | - | 与返回参数不同,为任务使用的推理接入点ID,精确搜索。 |
参数 | 子参数 | 类型 | 描述 | 示例 |
---|---|---|---|---|
items | - | Array | 视频生成任务列表。 | - |
id | String | 生成任务 ID。 |
| |
model | String | 与请求参数不同,指任务使用的模型名称和版本, |
| |
status | String | 任务状态,以及相关的信息:
|
| |
error | Object | 错误,包括错误码和错误提示信息,当任务失败时返回。 | - | |
created_at | Integer | 任务创建时间的 Unix 时间戳(秒)。 |
| |
updated_at | Integer | 任务当前状态更新时间的 Unix 时间戳(秒)。 |
| |
content | Object | 输出视频的信息,包括视频下载的 URL。
| - | |
usage | Object | 本次请求的tokens 用量。
| - | |
total | - | Integer | 符合筛选条件的任务数量。 |
|
curl -X GET https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks?page_num=1&page_size=100&filter.task_ids=cgt-***&filter.task_ids=cgt-*** \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 59385462-****"
{ "items": [ { "id":"cgt-2024****-**", "model":"doubao-****-**", //与请求参数含义不同,此处含义为任务使用的 {模型名称}-{版本} "status":"succeeded", "created_at":"1718049470", "updated_at":"1718049470", "content":{ "video_url":"https://xxx", }, "usage":{ "completion_tokens":35800, } }, { "id":"cgt-2024****-**", "model":"doubao-****-**", //与请求参数含义不同,此处含义为任务使用的 {模型名称}-{版本} "status":"succeeded", "created_at":"1718049870", "updated_at":"1718049870", "content":{ "video_url":"https://xxx", }, "usage":{ "completion_tokens":35800, } }, ] , "total": 2 }
DELETE https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/{id}
下面参数为Query String Parameters,在URL String中传入。
参数 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
id | String | 必填 | 视频生成任务 ID。 |
|
本接口无返回参数。
curl -X DELETE https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/cgt-2024****-** \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 59385462-****"
{}
任务状态不同,调用DELETE
接口,执行的操作有所不同,具体说明如下表。
当前任务状态 | 支持DELETE操作 | 操作含义 | DELETE操作后任务状态 |
---|---|---|---|
queued | 是 | 任务取消排队,任务状态被变更为 | cancelled |
running | 不支持 | - | - |
succeeded | 是 | 删除视频生成任务记录,后续将不支持查询。 | - |
failed | 是 | 删除视频生成任务记录,后续将不支持查询。 | - |
cancelled | 不支持 | - | - |
本接口调用失败的返回结构和参数释义请参见返回结构文档。
本接口与业务逻辑相关的错误码如下表所示。公共错误码请参见公共错误码。
HTTP 状态码 | 错误类型 type | 错误代码 code | 错误信息 message | 含义 |
---|---|---|---|---|
400 | BadRequest | InputTextSensitiveContentDetected | The request failed because the input text may contain sensitive information.Request ID: {id} | 输入文本可能包含敏感信息,请您更换后重试。 |
400 | BadRequest | InputImageSensitiveContentDetected | The request failed because the input image may contain sensitive information.Request ID: {id} | 输入图像可能包含敏感信息,请您更换后重试。 |
400 | BadRequest | OutputVideoSensitiveContentDetected | The request failed because the output video may contain sensitive information.Request ID: {id} | 生成的视频可能包含敏感信息,请您更换输入内容后重试。 |
429 | TooManyRequests | QuotaExceeded | The request has exceeded the quota. Request ID: {id} | 当前账号处于排队中状态的任务数已超过限制,请稍后重试。 |