建立影片創作任務
更新時間:2026-07-13 11:57:31
介面說明
1、创建视频创作任务, 接口支持批量创建任务, 单次最多支持20个
2、接口支持https协议
介面URL
http://api.polyv.net/live/v4/ai/video-produce/create-batch
請求方式
POST
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
URL請求參數說明(用於簽名)
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳記,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己的伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
body(application/json) 參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoName | true | String | 影片名稱 |
| hasDigitalHuman | true | Boolean | 是否包含數位人 |
| ttsVoiceInfo | true | Object | 聲音設定資訊;【詳見ttsVoiceInfo聲音設定資訊參數說明】 |
| subtitleInfo | true | Object | 字幕設定資訊;【詳見subtitleInfo字幕設定資訊參數說明】 |
| fileId | false | String | ppt檔案id,如果是基於ppt做影片創作,此參數必傳,並且materialInfos參數需要為空(fileId參數優先級低於materialInfos) |
| materialInfos | false | List | 自訂素材資訊【詳見materialInfos自訂素材資訊參數說明】 |
| digitalHumanInfos | false | List | 數位人的大小和位置資訊,如果目前影片創作任務需要數位人,此參數必填;【詳見digitalHumanInfos參數說明】 |
| tags | false | List | 標籤,字串陣列格式,標籤不支援重複,一個任務最多支援10個標籤,單個標籤長度限制20個字元 |
ttsVoiceInfo聲音設定資訊參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| ttsVoiceId | true | Integer | 聲音id,可從「查詢可用於影片創作的聲音列表」介面取得您目前可用的聲音 |
| rate | true | Float | 聲音語速,0.5 ~ 2.0之間,1為正常語速,如果不需要調整請傳1 |
subtitleInfo字幕設定資訊參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| enableSubtitle | true | Boolean | 是否需要字幕 |
materialInfos自訂素材資訊參數說明
注意事項:
- 單個影片創作任務最多支援100頁素材(100張背景圖和口播稿)
- 單個任務口播稿限制 25000 個字元
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| backgroundImage | true | String | 背景圖片素材url,圖片需要是 1920x1080(16:9) 或 1080x1920(9:16) 解析度,單個任務中不支援同時存在橫向和直向兩種圖片,否則最終影片會被異常拉伸 |
| remark | false | String | 口播稿,用於文字轉語音 |
| audioFileUrl | false | String | 自訂口播稿音訊,和remark參數二選一,僅支援mp3 wav m4a格式的音訊檔案,單個音訊檔案不超過50MB |
digitalHumanInfos參數說明
digitalHumanInfos參數說明:
- 這個參數是集合類型,如果目前任務不需要數位人,此參數不需要傳
- 這個參數是用於控制每頁素材中,控制數位人的顯示和隱藏,以及調整數位人的大小和位置
- 如果素材是ppt,將不支援對每頁ppt調整數位人的顯示和隱藏,也不支援對每頁ppt調整數位人的大小和位置( 僅需傳一份數位人id和數位人大小位置資訊即可,ppt的每頁影片中數位人的大小和位置都是一樣的)
- 如果素材是自訂背景圖和自訂口播稿,可以透過目前參數控制每頁口播稿中是否需要顯示數位人以及數位人的大小和位置。 但需注意有多少頁素材(一個背景圖+一個口播稿視為一頁素材)就要傳多少份數位人大小位置資訊,如果只傳一份大小位置資訊, 預設視為每份素材中的數位人都顯示,並且數位人的大小位置都保持一致
其他注意事項:
- 目前單個影片創作任務,暫時最多支援使用一個數位人
範例:
- 素材採用ppt,並且需要數位人,僅需傳一份數位人大小位置
[
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
}
]
- 自訂素材,並且需要數位人,假設一共有三頁素材,第一頁需要顯示數位人,第二頁不需要顯示數位人,第三頁需要顯示數位人, 並且數位人的大小位置相較第一頁有調整
[
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
},
{
"digitalHumanId": null,
"x": null,
"y": null,
"w": null,
"h": null
},
{
"digitalHumanId": 15,
"x": "1012",
"y": "147",
"w": "367",
"h": "530"
}
]
- 自訂素材,並且需要數位人,假如全部頁的素材都顯示數位人,並且數位人的大小位置都保持一致,傳一份大小位置參數即可
[
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
}
]
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| digitalHumanId | false | Integer | 數位人id,如果為空,代表目前頁素材不需要顯示數位人 |
| x | false | Integer | 數位人位置(x軸座標),數位人id不為空時此參數必傳 |
| y | false | Integer | 數位人位置(y軸座標),數位人id不為空時此參數必傳 |
| w | false | Integer | 數位人大小(寬度),數位人id不為空時此參數必傳 |
| h | false | Integer | 數位人大小(高度),數位人id不為空時此參數必傳 |
數位人預設的大小位置參數建議(不同的素材一般需要搭配不同的數位人大小位置參數,建議先把數位人的大小位置做成可視化然後在介面做調整):
- 16:9橫向影片,數位人在右邊:x: 1325, y: 28, w: 588, h: 1045
- 16:9橫向影片,數位人在左邊:x: 3, y: 80, w: 562, h: 1000
- 9:16直向影片:x: 10, y: 25, w: 1060, h: 1888
範例
http://api.polyv.net/live/v4/ai/video-produce/create-batch?timestamp=1716107535043&appId=gopl67qi7e&sign=6625340A6017272DF55CD1F5DC42CFCB
// ppt + 无数字人
[
{
"videoName": "ppt素材-无数字人",
"hasDigitalHuman": false,
"ttsVoiceInfo": {
"ttsVoiceId": 79,
"rate": "1.0"
},
"fileId": "abdd872ffae85752080989ca505b9525c560fac50fpptVideocommon",
"subtitleInfo": {
"enableSubtitle": true
}
}
]
// ppt + 有数字人
[
{
"videoName": "ppt素材-有数字人",
"hasDigitalHuman": true,
"ttsVoiceInfo": {
"ttsVoiceId": 79,
"rate": "1.2"
},
"fileId": "47023bd9a36fa692770e330a190fa7a9c560fac50fpptVideocommon",
"subtitleInfo": {
"enableSubtitle": false
},
"digitalHumanInfos": [
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
}
]
}
]
// 自定义素材 + 无数字人
[
{
"videoName": "自定义素材-无数字人",
"hasDigitalHuman": false,
"ttsVoiceInfo": {
"ttsVoiceId": 79,
"rate": "1.3"
},
"subtitleInfo": {
"enableSubtitle": false
},
"materialInfos": [
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "你好"
},
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/9_16/img/3simple/simple21.jpg",
"remark": "这里是保利威视频创作"
}
]
}
]
// 自定义素材 + 有数字人 + 全部页素材的数字人大小位置都一样
[
{
"videoName": "自定义素材-有数字人",
"hasDigitalHuman": true,
"ttsVoiceInfo": {
"ttsVoiceId": 79,
"rate": "1.3"
},
"subtitleInfo": {
"enableSubtitle": false
},
"materialInfos": [
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "你好"
},
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "这里是保利威视频创作"
}
],
"digitalHumanInfos": [
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
}
]
}
]
// 自定义素材 + 有数字人 + 自定义数字人显示和数字人大小位置
[
{
"videoName": "有数字人-素材-000000000",
"hasDigitalHuman": true,
"ttsVoiceInfo": {
"ttsVoiceId": 79,
"rate": "1.3"
},
"subtitleInfo": {
"enableSubtitle": false
},
"materialInfos": [
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "你好"
},
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "这里是保利威视频创作"
},
{
"backgroundImage": "https://img.videocc.net/e5f34f7744/html/adv/video-produce/background-image/16_9/img/5landscape/landscape7.jpg",
"remark": "感谢您的支持和使用"
}
],
"digitalHumanInfos": [
{
"digitalHumanId": 15,
"x": "1412",
"y": "247",
"w": "467",
"h": "830"
},
{
"digitalHumanId": null,
"x": null,
"y": null,
"w": null,
"h": null
},
{
"digitalHumanId": 15,
"x": "1012",
"y": "147",
"w": "367",
"h": "530"
}
]
}
]
回應參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗 |
| status | String | 回應結果,由業務決定,成功返回success,失敗返回error |
| success | Boolean | 回應結果,由業務決定,成功返回true,失敗返回false |
| data | Boolean | 成功回應true,失敗請從error參數中取得詳細的失敗資訊 |
| error | Object | 狀態碼非200時的錯誤資訊【詳見Error欄位說明】 |
| requestId | String | 請求ID,每次請求產生的唯一的 UUID,僅可用於排查、除錯,不應該和業務掛鉤 |
回應範例
成功範例
{
"code": 200,
"status": "success",
"requestId": "e90aba2c69a24bab894c7f708b853b75.71.17161341126309441",
"data": true,
"success": true
}
Error參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 錯誤代碼,用於確定具體的錯誤原因 |
| desc | String | 錯誤描述,與 error.code 對應 |
