You need to enable JavaScript to run this app.
导航
ContentsGenerationsTasks-视频生成
最近更新时间:2025.01.23 19:37:13首次发布时间:2024.12.26 18:01:26

本文介绍 Doubao 视频生成大模型 API 的输入输出参数,方便您通过接口,向大模型发起视频生成的请求。模型会依据传入的图片及文本信息生成视频,待生成完成后,您可以按条件查询任务并获取生成的视频。

说明

当前支持文生视频和图生视频:

  • 文生视频:输入的请求中不包含图片时,则为文生视频,系统根据您输入的文本提示词+参数(可选)生成目标视频。
  • 图生视频:输入的请求中包含图片时,则为图生视频,系统根据您输入的首帧图片+文本提示词(可选)+参数(可选)生成目标视频。

鉴权方式

本接口支持 API Key 鉴权方式,详见鉴权认证方式

创建视频生成任务 API
POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks

使用限制

单主账号在方舟服务端排队(queued)的任务数量上限为120个。您排队的任务数量可以使用查询内容生成任务列表 API筛选任务状态查询到。

  • 不包含处理中(running)的任务、执行失败(failed)、中止(cancelled)、成功(succeeded)的任务。
  • 如有需求提升规格,可提交 工单 申请。

请求参数

请求体

参数

子字段

类型

必填

默认值

描述

示例值

model

-

String

-

您创建的推理接入点(Endpoint)ID。该推理接入点需部署了视频生成的模型。

如无推理接入点,请参考创建推理接入点(Endpoint)文档创建。

ep-2024****-**

content

-

List

-

注意

目前支持的输入组合:

  • 文本描述+参数+图
  • 文本描述+图
  • 参数+图
  • 文本描述+参数
  • 文本描述

暂不支持的输入组合:

  • 无输入
  • 参数

示例:

[
  {
    "type": "text",
    "text": "夜晚,一只萨摩耶犬和一只金毛犬在充满未来感的霓虹城市中嬉戏玩耍。附近建筑物发出的霓虹灯光在它们的皮毛上闪闪发光。--ratio 16:9"
  },
  {
    "type": "image_url",
    "image_url": {
      "url":"https://xxx.jpg"
    }
  }
]

-

type

String

-

输入内容的类型。取值:

  • "text" :输入给模型的内容为文本。
  • "image_url":输入给模型的内容为图片。

"text"

text

String

条件必填

-

输入给模型的文本内容,描述期望生成的视频,包含视频描述以及模型支持的参数。如果"type" : "text"则需要传入。
在此输入模型支持的视频参数,如画幅的宽高比、视频帧数等。详细见 模型文本命令参考
示例:文字描述

{
    "type": "text",
    "text": "夜晚,一只萨摩耶犬和一只金毛犬在充满未来感的霓虹城市中嬉戏玩耍。附近建筑物发出的霓虹灯光在它们的皮毛上闪闪发光。"
}

示例:描述+参数

{
    "type": "text",
    "text": "夜晚,一只萨摩耶犬和一只金毛犬在充满未来感的霓虹城市中嬉戏玩耍。附近建筑物发出的霓虹灯光在它们的皮毛上闪闪发光。--ratio 16:9"
}

-

image_url

Object

条件必填

-

输入给模型的图片对象,如果"type" : "image_url"则需要传入。

-

image_url.url

String

条件必填

-

图片的信息,可以是图片URL或图片Base64编码。

  • 用图片URL方式时,请确保图片URL可被访问。
  • 用图片Base64编码时,请遵循此格式data:image/{图片格式};base64,{Base64编码}

说明

传入图片需要满足以下条件:

  • 格式为JPEG(JPG)或 PNG。
  • 宽高比范围(2:5, 5:2),即宽/高在范围 (0.4, 2.5) 。
  • 宽及高长度均需大于300px。
  • 图片文件小于10MB。

示例:传入图片url

{
    "type": "image_url",
    "image_url": {
      "url":"https://xxx.jpg"
    }
}

示例:传入图片Base64编码

{
    "type": "image_url",
    "image_url": {
        "url":  f"data:image/jpeg;base64,{base64_image}"
    }
}

-

模型文本命令参考

文本信息中添加下面参数,可以帮助您控制视频输出的规格,包括宽高比、帧率、分辨率等。

注意

  • 不同版本模型支持的帧数不同,当选择的模型和设置的值不兼容时,设置将不会生效。
  • 需搭配文本

参数

类型

描述

默认值

示例

ratio

String

宽高比例。枚举值,取值范围以及对应的宽高(p)在默认分辨率--resolution 720P

  • 16:9:[1280, 720]
  • 4:3:[960, 720]
  • 1:1:[720, 720]
  • 3:4:[720, 960]
  • 9:16:[720, 1280]
  • 21:9:[1280, 544]

短边为720p,其中21:9宽高比下,为防止显存溢出,宽被设置为1280p。

"一只小猫咪朝镜头跑过来 --ratio 1:1"


"一只小猫咪朝镜头跑过来 --ratio 16:9"

16:9

  • 文生视频默认宽高比为 16:9
  • 图生视频根据上传图片的比例自动适配合适的宽高比

一只小猫咪朝镜头跑过来 --ratio 1:1
一只小猫咪朝镜头跑过来 --rt 16:9

duration

Integer

生成视频时长,单位:秒
枚举值:

  • 5:文生视频,图生视频
  • 10:文生视频

5

一只小猫咪朝镜头跑过来 --duration 5
一只小猫咪朝镜头跑过来 --dur 10

fps

Integer

帧率,即一秒时间内视频画面数量。枚举值:

  • 24

24

一只小猫咪朝镜头跑过来 --framepersecond 24
一只小猫咪朝镜头跑过来 --fps 24"

resolution

String

视频分辨率,枚举值:

  • 720p

720p

一只小猫咪朝镜头跑过来 --rs 720p
一只小猫咪朝镜头跑过来 --resolution 720p

watermark

Boolean

生成视频是否包含水印。取值范围:

  • false:不含水印。
  • true:含有水印。

false

一只小猫咪朝镜头跑过来 --watermark true
一只小猫咪朝镜头跑过来 --wm true

响应参数

参数

类型

描述

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****-**",
}

查询视频生成任务信息 API
GET https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/{id}

请求参数

下面参数为Query String Parameters,在URL String中传入。

参数

类型

必填

描述

示例值

id

String

必填

视频生成任务 ID。

cgt-2024****-**

响应参数

参数

子参数

类型

描述

示例值

id

-

String

生成任务 ID

cgt-2024****-**

model

-

String

任务使用的模型名称和版本,模型名称-版本

doubao-***

status

-

String

任务状态,以及相关的信息:

  • queued:排队中。
  • running:任务运行中。
  • cancelled:取消任务,取消状态24h自动删除(只支持排队中状态的任务被取消),详细见取消或删除内容生成任务
  • succeeded: 任务成功。
  • failed:任务失败。

queued

error

-

Object

错误提示信息,当任务失败时返回。

-

code

String

错误码,具体参见 错误处理

OutputVideoSensitiveContentDetected

message

String

错误提示信息,具体参见 错误处理

The request failed because the output video may contain sensitive information

created_at

-

Integer

任务创建时间的 Unix 时间戳(秒)。

1718049470

updated_at

-

Integer

任务当前状态更新时间的 Unix 时间戳(秒)。

1718049470

content

-

Object

当视频生成任务完成,会输出该字段,包含生成视频下载的 URL。

"content":{
    "video_url":"https://xxx"
 }

-

video_url

String

生成视频的URL。

为保障信息安全,生成的视频会在24小时后被清理,请及时转存。

https://xxx

usage

-

Object

用量统计。

-

completion_tokens

Integer

本次任务的 token 用量,包含输入信息和生成视频的消耗。

35800

请求示例

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"
}

查询内容生成任务列表 API
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

可选

10

页码,取值范围:[1, 500]。

page_size

Integer

可选

20

每页数据量, 取值范围:[1, 500]

filter.status

String

可选

-

过滤参数,查询某个任务状态。

  • queued:排队中的任务。
  • running:运行中任务。
  • cancelled:取消的任务,只能查询到24h内取消的任务。取消任务超出24h,会被删除。取消任务接口请参见取消或删除内容生成任务
  • succeeded: 成功的任务。
  • failed:失败的任务。

filter.task_ids

Array of String

可选

-

视频生成任务 ID,精确搜索。
支持同时搜索多个任务 ID。

filter.model

String

可选

-

与返回参数不同,为任务使用的推理接入点ID,精确搜索。

响应参数

参数

子参数

类型

描述

示例

items

-

Array

视频生成任务列表。

-

id

String

生成任务 ID。

cgt-2024****-**

model

String

与请求参数不同,指任务使用的模型名称和版本,<模型名称>-<版本>

doubao-***

status

String

任务状态,以及相关的信息:

  • queued:排队中。
  • running:任务运行中。
  • cancelled:取消的任务,只能查询到24h内取消的任务。取消状态的任务超出24h,会被删除。取消任务接口请参见取消或删除内容生成任务
  • succeeded: 任务成功。
  • failed:任务失败。

queued

error

Object

错误,包括错误码和错误提示信息,当任务失败时返回。

-

created_at

Integer

任务创建时间的 Unix 时间戳(秒)。

1718049470

updated_at

Integer

任务当前状态更新时间的 Unix 时间戳(秒)。

1718049470

content

Object

输出视频的信息,包括视频下载的 URL。

"content":{
    "video_url":"https://xxx"
 }

为保障信息安全,生成的视频会在24小时后被清理,请及时转存。

-

usage

Object

本次请求的tokens 用量。

"usage":{
   "completion_tokens":35800,
}

-

total

-

Integer

符合筛选条件的任务数量。

200

请求示例

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。

cgt-2024****-**

响应参数

本接口无返回参数。

请求示例

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

cancelled

running

不支持

-

-

succeeded

删除视频生成任务记录,后续将不支持查询。

-

failed

删除视频生成任务记录,后续将不支持查询。

-

cancelled

不支持
24小时后自动删除

-

-

错误处理

错误响应

本接口调用失败的返回结构和参数释义请参见返回结构文档。

错误码

本接口与业务逻辑相关的错误码如下表所示。公共错误码请参见公共错误码

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}

当前账号处于排队中状态的任务数已超过限制,请稍后重试。