图文生成视频
更新时间:2020-10-13
各接口用途说明
创建视频任务,有三个接口:
- 视频任务创建接口:传入图文的url,创建视频任务。
- 创建时间轴视频接口:传入字幕、视频、时间等素材及与时间的对应关系,创建视频任务。
- 创建素材视频接口:传入字幕、视频等素材,创建视频任务。
以上三个接口分别以不同输入参数,进行视频任务的创建。
创建的视频任务,通过一段时间的生成,会通过视频任务查询接口返回可下载的视频地址。
视频任务查询接口:用于在视频任务创建后,查看视频生成状态。待视频生成完毕,通过查询接口即可查看视频地址链接。
视频任务中止接口:用于在视频任务创建后,中止视频生成,或者删除视频。
视频任务创建接口
接口描述
创建图文生成视频任务,提供新闻链接和必要的参数,即可创建一个视频任务,得到任务id,用于后续的查询或中止操作。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rest/2.0/nlp/v1/create_vidpress
- URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
news_url | 是 | string | 新闻链接:https://baijiahao.baidu.com/ 作为域名 |
tts_per | 是 | int | 发音人,支持范围如下。0:成熟女声;1:温润男声、3:磁性男声、4:乖巧女童、100:甜美女生、103:可爱女生、106:成熟男声 |
duration | 是 | int | 目标视频时长,单位:秒,要求40 - 120秒 |
extra_config | 否 | json | 自定义参数 |
+Video/CUSTOM_TITLE_PATH | 否 | string | 自定义片头视频地址 |
+DEFAULT/TITLE_DURATION | 否 | int | 片头视频播放时长 |
+Production/CUSTOM_ENDING_PATH | 否 | string | 自定义片尾视频地址 |
+Production/CUSTOM_LOGO_PATH | 否 | string | 自定义角标图片地址。目前角标只支持图片,不支持视频类(包括GIF) |
+Production/LOGO_MARGIN | 否 | int | 设定角标上方和左右的margin |
+Production/LOGO_POS | 否 | string | 设定角标的位置。可用的数值为["top-left","top-right"],default是top-left。 |
+Production/CUSTOM_CAPTION_BG_PATH | 否 | string | 字幕块。目前字幕块只支持图片,不支持视频类(包括GIF) |
+Production/CUSTOM_BG_MUSIC_PATH | 否 | string | 自定义背景音乐地址 |
+Production/CUSTOM_OVERLAY_PATH | 否 | string | 透明通道 |
+Production/CUSTOM_OVERLAY_POS_X | 否 | int | 透明通道X坐标 |
+Production/CUSTOM_OVERLAY_POS_X | 否 | int | 透明通道Y坐标 |
+Summarizer/TTS_PAUSE_MARKER | 否 | string | 停顿标记 |
+Summarizer/TTS_PAUSE_DURATION | 否 | string | 停顿时长 |
返回说明
返回参数
参数 | 类型 | 详细说明 |
---|---|---|
error_code | int | 错误码,0代表成功,其他代表失败 |
error_msg | string | 错误信息,成功时为空,失败返回错误原因 |
result | array | 成功时,返回的结果数组 |
+job_id | int | 任务id,用于后续查询或中止任务 |
+status | int | 任务状态,1:已创建,2:排队中,3:生成中,4:生成成功,5:生成失败 |
+estimate_start_time | datetime | 任务预计开始时间 |
+estimate_finish_time | datetime | 任务预计结束时间 |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"result": {
"job_id": 111,
"status": 2,
"estimate_start_time": "2020-01-07 12:00:00",
"estimate_finish_time": "2020-01-07 12:30:00"
}
}
失败返回示例:
{
"error_code": 84001,
"error_msg": "已有任务正在生成视频, 任务完成后可再次创建!",
"result": []
}
创建时间轴视频接口
接口描述
创建图文生成视频任务,提供时间轴(字幕、图片视频素材等,与起始时间、时长等信息的对应关系,即为时间轴)信息作为参数,即可创建一个视频任务,得到任务id,用于后续的查询或中止操作。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/create_vidpress_timeline
- URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
tracks | 是 | array | 视频或图片素材数组,总时长范围为10-300秒 |
+media_path | 是 | string | 素材链接 |
+start | 是 | float | 片头视频后时间轴中的起始时间,从0开始。单位:秒,小数点后最多三位 |
+duration | 是 | float | 素材时长,单位:秒,小数点后最多三位 |
+type | 是 | string | 素材类型,支持“video”、“image” |
+description | 是 | string | 自定义二级标题 |
caption_tracks | 是 | array | 字幕素材数组 |
+txt | 是 | string | 文本 |
+start | 是 | float | 片头视频后时间轴中的起始时间,从0开始。单位:秒,小数点后最多三位 |
+duration | 是 | float | 字幕时长,单位:秒,小数点后最多三位 |
tts_per | 是 | int | 发音人,支持的范围如下。0:成熟女声、1:温润男声、3:磁性男声、4:乖巧女童、100:甜美女生、103:可爱女生、106:成熟男声 |
video_title | 是 | string | 视频中的标题文字。在不传入片头视频时,会根据此标题内容,生成片头视频 |
video_begin | 否 | string | 片头视频地址 |
video_begin_duration | 否 | float | 若传入片头视频,需传入视频时长,单位:秒 |
video_end | 否 | string | 片尾视频地址,暂不需片尾时长 |
video_logo | 否 | string | 台标链接 |
video_logo_margin | 否 | int | 台标边缘距离,可选参数,默认为0。会同时指定上方和左右的距离 |
video_logo_pos | 否 | string | 台标位置,可选参数,支持“top-left”、“top-right”。默认是top-left |
bg_music | 否 | string | 背景音乐链接 |
bg_caption | 否 | string | 字幕背景图片链接,建议大小为1280 x 130 |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"result": {
"job_id": 111,
"status": 2,
"estimate_start_time": "2020-01-07 12:00:00",
"estimate_finish_time": "2020-01-07 12:30:00"
}
}
错误码详见错误码列表
创建素材视频接口
接口描述
创建图文生成视频任务,提供素材(字幕、图片视频素材等,并不包括起始时间、时长等信息和对应关系)信息作为参数,即可创建一个视频任务,得到任务id,用于后续的查询或中止操作。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/create_vidpress_alignment
- URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
tracks | 是 | array | 视频或图片素材数组,总时长范围为10-300秒 |
+url | 是 | string | 素材链接 |
+expected_duration | 否 | float | 素材时长,单位:秒,视频类型必传,图片类型可选 |
+type | 是 | string | 素材类型,支持“video”、“image” |
content | 是 | string | 原始文章内容,3000字以内 |
tts_per | 是 | int | 发音人,支持的范围如下。0:成熟女声;1:温润男声;3:磁性男声;4:乖巧女童;100:甜美女生;103:可爱女生;106:成熟男声 |
total_duration | 否 | float | 素材总时长,单位:秒。若传入,以此值为准,范围为10-300秒 |
video_title | 是 | string | 文章标题。目前仅用于生成文章摘要,不用于生成片头视频 |
video_begin | 否 | string | 片头视频地址 |
video_begin_duration | 否 | float | 若传入片头视频,需传入视频时长,单位:秒 |
video_end | 否 | string | 片尾视频地址,暂不需片尾时长 |
video_logo | 否 | string | 台标链接 |
video_logo_margin | 否 | int | 台标边缘距离,可选参数,默认为0。会同时指定上方和左右的距离 |
video_logo_pos | 否 | string | 台标位置,可选参数,支持“top-left”、“top-right”。默认是top-left |
bg_music | 否 | string | 背景音乐链接 |
bg_caption | 否 | string | 字幕背景图片链接,建议大小为1280 x 130 |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"result": {
"job_id": 111,
"status": 2,
"estimate_start_time": "2020-01-07 12:00:00",
"estimate_finish_time": "2020-01-07 12:30:00"
}
}
错误码详见错误码列表
视频任务查询接口
接口描述
查询视频任务列表信息,或某个任务id的当前信息。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rest/2.0/nlp/v1/query_vidpress
- URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
job_id | 是 | int | 创建接口返回的任务id |
返回说明
返回参数
参数 | 类型 | 详细说明 |
---|---|---|
error_code | int | 错误码,0代表成功,其他代表失败 |
error_msg | string | 错误信息,成功时为空,失败返回错误原因 |
result | array | 成功时,返回的结果数组 |
+job_id | int | 以任务id为key的数组 |
++job_id | int | 任务id |
++status | int | 任务状态,1:已创建,2:排队中,3:生成中,4:生成成功,5:生成失败 |
++news_url | string | 新闻链接 |
++tts_per | int | 发音人类型 |
++duration | int | 预期视频时长 |
++create_time | datetime | 任务创建时间 |
任务成功时返回字段 | ||
++expire_time | datetime | 视频文件失效时间 |
++if_expire | int | 是否失效,1:已失效,2:未失效 |
++video_addr | string | 视频链接 |
++video_cover_addr | string | 视频封面链接 |
++video_duration | int | 结果视频时长,单位:秒 |
++video_title | string | 视频标题 |
++video_summary | string | 视频摘要 |
++video_category | string | 视频分类 |
任务失败时返回字段 | ||
++fail_reason | string | 任务失败的原因 |
任务排队或生成中时返回字段 | ||
++estimate_start_time | datetime | 任务预计开始时间 |
++estimate_finish_time | datetime | 任务预计结束时间 |
返回示例
成功返回示例
{
"error_code":0,
"error_msg":"",
"result":{
"3":{
"job_id":"3",
"news_url":"https://baijiahao.baidu.com/s?id=1618523948331231188&wfr=spider&for=pc",
"tts_per":"3",
"duration":"100",
"status":"4",
"create_time":"2020-01-13 18:08:52",
"expire_time":"2020-01-20 19:35:37",
"if_expire":2,
"video_addr":"http://bj.bcebos.com/nlpc-article-outer-vidpress/3_d3b5ab1fb988cc19ef99d5b3d1ba17ee.mp4",
"video_cover_addr":"http://bj.bcebos.com/nlpc-article-outer-vidpress/3_8d87d78ace2de50ae3d8d9059eeb5d51.jpeg",
"video_duration":"110",
"video_title":"新手必看:深度学习是什么?它的工作原理是什么?",
"video_summary":"在深入学习深度学习的原理之前,我们必须先解释下重要术语之间的差异。人工智能是计算机科学的一个分支,研究计算机中智能行为的仿真。每当一台机器根据一组预先定义的解决问题的规则来完成任务时,这种行为就被称为人工智能。开发人员引入了大量计算机需要遵守的规则。机器学习是指计算机使用大数据集而不是硬编码规则来学习的能力。从某种意义上来说,机器学习程序根据计算机所接触的数据来进行自我调整。监督式学习需要使用有输入和预期输出标记的数据集。当你使用监督式学习训练人工智能时,你需要提供一个输入并告诉它预期的输出结果。如果人工智能产生的输出结果是错误的,它将重新调整自己的计算。非监督式学习是利用既不分类也不标记的信息进行机器学习,并允许算法在没有指导的情况下对这些信息进行操作。当你使用非监督式学习训练人工智能时,你可以让人工智能对数据进行逻辑分类。深度学习是一种机器学习方法 , 它允许我们训练人工智能来预测输出,给定一组输入。Andrew Ng:与深度学习类似的是,火箭发动机是深度学习模型,燃料是我们可以提供给这些算法的海量数据。我们将通过建立一个公交票价估算在线服务来了解深度学习是如何工作的。一旦我们遍历了整个数据集,就有可能创建一个函数来衡量AI输出与实际输出之间的差异。",
"video_category":"科技"
}
}
}
失败返回示例
{
"error_code": 84003,
"error_msg": "任务不存在, 请检查输入数据后再试!",
"result": []
}
视频任务中止接口
接口描述
中止或删除已有的视频任务。
请求说明
请求示例
- HTTP方法: POST
- 请求URL: https://aip.baidubce.com/rest/2.0/nlp/v1/delete_vidpress
- URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
- Header如下:
参数 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
- body请求参数:
参数 | 是否必选 | 类型 | 描述 |
---|---|---|---|
job_id | 是 | int | 任务id |
返回说明
返回参数
参数 | 类型 | 详细说明 |
---|---|---|
error_code | int | 错误码,0代表成功,其他代表失败 |
error_msg | string | 错误信息,成功时为空,失败返回错误原因 |
result | array | 成功时,返回的结果数组 |
返回示例
成功返回示例
{
"error_code": 0,
"error_msg": "",
"result": []
}
失败返回示例
{
"error_code": 84005,
"error_msg": "任务不存在, 请检查输入数据后再试!",
"result": []
}
错误码
错误码 | 错误信息 |
---|---|
84001 | 创建视频生成任务失败, 请稍后重试! 已有任务正在生成视频, 任务完成后可再次创建! |
84002 | 创建视频生成任务失败, 请更换URL链接后再试! |
84003 | 查询视频生成任务失败, 请稍后重试! 任务不存在, 请检查输入数据后再试! |
84005 | 删除视频生成任务失败, 请稍后重试! 任务不存在, 请检查输入数据后再试! |