本文旨在介紹在智能圖文匹配-影視集錦情境下的合成參數、進階配置、SDK調用樣本。
指令碼化自動成片與智能圖文匹配成片共用同一個提交任務API。有關如何通過參數區分這兩者,請參見參數區別說明
注意:在此介面中,所有媒資的OSS URL中的地區(region)必須與調用OpenAPI服務地址中的地區(region)保持一致。
支援的地區:華東2(上海)、華北2(北京)、華東1(杭州)、華南1(深圳)、美國(西部)、新加坡。
在實際使用過程中,請將文檔所有參數樣本中的 [your-bucket]、[your-region-id]、[your-file-name]、[your-file-path]、媒資ID(例如:“****9d46c8b4548681030f6e****”)等參數替換為您的實際值。
為了更好地閱讀本文,建議您在閱讀本文之前先通過智能一鍵成片操作指南瞭解【智能圖文匹配成片-影視集錦情境】相關的概念與使用流程。
智能圖文匹配-影視集錦情境包含兩種成片模式。本文將針對以下幾種“模式”進行詳細闡述:
全域口播模式
分鏡指令碼模式
使用說明
將多個視頻、音頻、圖片素材進行智能混剪,一鍵批量合成視頻介面說明,請參見SubmitBatchMediaProducingJob - 批量智能一鍵成片,api關鍵參數詳見下文InputConfig 參數說明、EditingConfig 參數說明、OutputConfig 參數說明。
擷取批量智能一鍵成片作業的詳細資料,請參見GetBatchMediaProducingJob - 擷取批量智能一鍵成片任務資訊。
InputConfig 參數說明
使用者可通過配置InputConfig,指定視頻素材、口播、背景音樂、貼紙等基礎素材的參數配置。
參數 | 類型 | 說明 | 樣本值 | 是否必填 | 支援模式 |
MediaArray | List<String> |
| ["****b4549d46c88681030f6e****","****549d46c88b4681030f6e****"] | 是 | 全部支援 |
TitleArray | List<String> | 標題數組,每次合成隨機選一個 最多50個,每個標題不超過50字 | ["標題1","標題2"] | 否 | 全部支援 |
SubHeadingArray | List<SubHeading> | 副標題設定 | [{"Level":1,"TitleArray":["一級副標題1","一級副標題2"]},{"Level":3,"TitleArray":["三級副標題"]}] | 否 | 全部支援 |
SpeechTextArray | List<String> |
| ["口播內容1","口播內容2"] | 否 |
|
SceneInfo | 情境資訊,用於情境相關的參數. | 是 |
| ||
StickerArray | List<Sticker> |
| [{"MediaId":"****9d46c8b4548681030f6e****","X":10,"Y":100,"Width":300,"Height":300,"Opacity":0.6}] | 否 | 全部支援 |
BackgroundMusicArray | List<String> |
| ["****b4549d46c88681030f6e****","****549d46c88b4681030f6e****"] | 否 | 全部支援 |
BackgroundImageArray | List<String> |
| ["****b4549d46c88681030f6e****","****549d46c88b4681030f6e****"] | 否 | 全部支援 |
SceneInfo 參數說明
參數 | 類型 | 說明 | 是否必填 | 支援模式 |
Scene | String | 匹配情境類型,影視集錦情境下傳固定值“MovieHighlights”即可。 | 是 |
|
ShotInfo | 設定分鏡指令碼 | 是 |
| |
FaceInfo | 設定人臉資訊 | 否 | 全部支援 |
ShotInfo 參數說明
此參數只適用於分鏡指令碼模式,如果是全域口播模式無需設定此參數。
參數 | 類型 | 說明 | 是否必填 |
ShotScripts | List<ShotScript> | 分鏡指令碼數組 | 是 |
ShotScript 參數說明
此參數只適用於分鏡指令碼模式,如果是全域口播模式無需設定此參數。
在影視集錦情境-分鏡指令碼模式中,有兩種分鏡模式:“文案描述模式”、“手工解析模式”,在設定參數時,需要二選一。
參數 | 類型 | 說明 | 樣本值 | 是否必填 | 分鏡模式 |
ScriptText | String | 單個分鏡的指令碼文案,用於描述分鏡的內容。請盡量用1至2句話對分鏡內容進行概括。 | 地鐵車廂裡,林夏坐在角落,悄悄舉起手機錄影。老奶奶正牽著孫子的手,輕輕哼著歌。 | 否 | 文案描述模式 |
SpeechText | String |
| 深夜的車廂很安靜,但有些人,用歌聲點亮了整節車廂的溫度。 | 否 | 全部支援 |
Duration | Float |
| 5 | 否 | |
Descriptions | List<String> | 單個分鏡中的細節描述。請盡量用1至2句話對分鏡內容進行概括。 | ["林夏坐在地鐵車廂角落,悄悄舉起手機錄影", "老奶奶牽著孫子的手,輕輕哼著歌"] | 否 | 手工解析模式 |
Characters | List<String> | 單個分鏡中的人物(人臉)名稱。注意:人物名稱必須與FaceInfo.ImageInfoList中的ImageInfo.Name保持一致。 | ["林夏", "老奶奶", "孫子"] | 否 | |
Settings | List<String> | 單個分鏡中的情境描述。 | ["深夜地鐵車廂"] | 否 | |
Volume | Float |
| 0.5 | 否 | 全部支援 |
FaceInfo 參數說明
參數 | 類型 | 說明 | 是否必填 |
ImageInfoList | List<ImageInfo> | 人物(人臉)照片列表,列表長度上限200。 | 否 |
ImageInfo 參數說明
參數 | 類型 | 說明 | 樣本值 | 是否必填 |
Name | String | 人物(人臉)名稱 | 丹尼爾 | 是 |
ImageURL | String | 人物(人臉)照片儲存地址,需要是公網可訪問的URL連結。請確保人臉圖片中僅包含一名個體,並且人臉應清晰可見,無明顯遮擋或缺失現象。 | http://[your-cdn-domain]/[your-file-path]/face1.png | 是,二選一必填 |
ImageId | String | 圖片媒資ID | ****9d46c886b45481030f6e**** |
參數樣本:全域口播模式
{
"MediaArray": [
"****9d46c886b45481030f6e****",
"****c886810b4549d4630f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.mp4",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test2.png"
],
"SceneInfo": {
"Scene": "MovieHighlights", //MovieHighlights影視劇匹配
"FaceInfo": {
"ImageInfoList": [
{
"Name": "人物A",
"ImageURL": "https://bkimg.cdn.bcebos.com/pic/3853ad1bdd9f70558718bf38?x-bce-process=image/format,f_auto/watermark,image_d2F0ZXIvYmFpa2UyNzI,g_7,xp_5,yp_5,P_20/resize,m_lfit,limit_1,h_1080"
},
{
"Name": "人物B",
"ImageURL": "https://bkimg.cdn.bcebos.com/pic/622762d0f703918ffbedc1125b3d269759eec42e?x-bce-process=image/format,f_auto/watermark,image_d2F0ZXIvYmFpa2UyNzI,g_7,xp_5,yp_5,P_20/resize,m_lfit,limit_1,h_1080"
},
{
"Name": "人物C",
"ImageId": "****b681034549d46c880f6e****"
}
]
}
},
"TitleArray": [
"回龍觀盒馬鮮生開業啦",
"盒馬鮮生開業啦"
],
"SubHeadingArray": [
{
"Level": 1,
"TitleArray": ["副標題1", "副標題2"]
},
{
"Level": 3,
"TitleArray": ["三級副標題"]
}
],
"SpeechTextArray": [
"附近的商場新開了一家盒馬鮮生,今天是第一天開業,趕緊來湊熱鬧,這家盒馬面積不大,但商場裡的人不少,零食、酒水都比較便宜,排隊的人都排成了長龍,大家也快來看看呀",
"附近的商場新開了一家盒馬鮮生,今天是第一天開業,趕緊來湊熱鬧"
],
"Sticker": {
"MediaId": "****b681034549d46c880f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300
},
"StickerArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300,
"Opacity": 0.6
},
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test3.png",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300
}
],
"BackgroundMusicArray": [
"****b4549d46c88681030f6e****",
"****549d46c88b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test4.mp3"
],
"BackgroundImageArray": [
"****6c886b4549d481030f6e****",
"****9d46c8548b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.png"
]
}參數樣本:分鏡指令碼模式
{
"MediaArray": [
"****9d46c886b45481030f6e****",
"****c886810b4549d4630f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.mp4",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test2.png"
],
"SceneInfo": {
"Scene": "MovieHighlights", // MovieHighlights影視劇匹配
"ShotInfo": {
"ShotScripts": [
// 文案描述模式樣本start,對於每個分鏡,手工解析模式與文案描述模式二選一
{
"ScriptText": "地鐵車廂裡,林夏坐在角落,悄悄舉起手機錄影。老奶奶正牽著孫子的手,輕輕哼著歌。",
"SpeechText": "深夜的車廂很安靜,但有些人,用歌聲點亮了整節車廂的溫度。"
},
{
"ScriptText": "老奶奶的白髮在車燈下泛著光,她一邊摸著孫子的頭,一邊輕聲說:‘你還記得這首歌嗎?’",
"SpeechText": "她的世界或許模糊了,但在他面前,她還是那個最溫柔的母親。"
},
{
"ScriptText": "林夏停下拍攝,看著窗外飛速掠過的廣告牌,眼神變得柔軟。",
"SpeechText": "我以為我在記錄別人的故事,其實我被悄悄治癒了。"
},
{
"ScriptText": "家中,林夏翻出相機,寫下第一篇日記:‘今天,我看見了幸福的樣子。’",
"SpeechText": "有時候,幸福不是大事,而是那些被我們忽略的小瞬間。"
},
{
"ScriptText": "幾天后,林夏的社交媒體上,一張張溫暖照片引髮網友共鳴。",
"SpeechText": "她開始用鏡頭講故事,而每一個故事,都藏著一份愛。"
},
{
"ScriptText": "夜晚,林夏再次走進地鐵站,這一次,她帶著微笑和新的目標。",
"SpeechText": "這座城市很大,但總有人在等你,也有人值得你去發現。"
}
// 文案描述模式樣本 end
// 手工解析模式樣本 start,對於每個分鏡,手工解析模式與文案描述模式二選一
{
"Descriptions": ["林夏坐在地鐵車廂角落,悄悄舉起手機錄影", "老奶奶牽著孫子的手,輕輕哼著歌"],
"Characters": ["林夏", "老奶奶", "孫子"],
"Settings": ["深夜地鐵車廂"],
"SpeechText": "深夜的車廂很安靜,但有些人,用歌聲點亮了整節車廂的溫度。"
},
{
"Descriptions": ["老奶奶白髮在車燈下泛光", "她一邊摸著孫子的頭,一邊輕聲說話"],
"Characters": ["老奶奶", "孫子"],
"Settings": ["地鐵車廂"],
"SpeechText": "她的世界或許模糊了,但在他面前,她還是那個最溫柔的母親。"
},
{
"Descriptions": ["林夏停下拍攝動作", "望向窗外飛速掠過的廣告牌,眼神變得柔軟"],
"Characters": ["林夏"],
"Settings": ["行駛中的地鐵車廂"],
"SpeechText": "我以為我在記錄別人的故事,其實我被悄悄治癒了。"
},
{
"Descriptions": ["林夏在家翻出相機", "寫下第一篇日記‘今天,我看見了幸福的樣子’"],
"Characters": ["林夏"],
"Settings": ["現代公寓 / 居室"],
"SpeechText": "有時候,幸福不是大事,而是那些被我們忽略的小瞬間。"
},
{
"Descriptions": ["林夏的社交媒體頁面上,溫暖照片陸續發布", "網友紛紛點贊留言"],
"Characters": ["林夏"],
"Settings": ["手機螢幕 / 社交平台介面"],
"SpeechText": "她開始用鏡頭講故事,而每一個故事,都藏著一份愛。"
},
{
"Descriptions": ["夜晚,林夏走進地鐵站", "她帶著微笑和新的目標"],
"Characters": ["林夏"],
"Settings": ["城市地鐵站"],
"SpeechText": "這座城市很大,但總有人在等你,也有人值得你去發現。"
}
// 手工解析模式樣本 end
// 支援不配置口播,僅配置分鏡指令碼和分鏡時間長度,設定視頻原聲播放
{
"ScripText": "地鐵車廂裡,林夏坐在角落,悄悄舉起手機錄影。老奶奶正牽著孫子的手,輕輕哼著歌。",
"Duration": 8.0, // 無口播文案時支援設定
"Volume": 1.0 //設定視頻素材原聲音量"
}
]
},
"FaceInfo": {
"ImageInfoList": [
{
"Name": "人物A",
"ImageURL": "https://bkimg.cdn.bcebos.com/pic/3853ad1bdd9f70558718bf38?x-bce-process=image/format,f_auto/watermark,image_d2F0ZXIvYmFpa2UyNzI,g_7,xp_5,yp_5,P_20/resize,m_lfit,limit_1,h_1080"
},
{
"Name": "人物B",
"ImageURL": "https://bkimg.cdn.bcebos.com/pic/622762d0f703918ffbedc1125b3d269759eec42e?x-bce-process=image/format,f_auto/watermark,image_d2F0ZXIvYmFpa2UyNzI,g_7,xp_5,yp_5,P_20/resize,m_lfit,limit_1,h_1080"
},
{
"Name": "人物C",
"ImageId": "****b681034549d46c880f6e****"
}
]
}
},
"TitleArray": [
"回龍觀盒馬鮮生開業啦",
"盒馬鮮生開業啦"
],
"StickerArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300
},
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test3.png",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300,
"Opacity": 0.6
}
],
"BackgroundMusicArray": [
"****b4549d46c88681030f6e****",
"****549d46c88b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test4.mp3"
],
"BackgroundImageArray": [
"****6c886b4549d481030f6e****",
"****9d46c8548b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.png"
]
}EditingConfig 參數說明
使用者可通過配置EditingConfig,指定成片素材的音量、位置及其他合成參數。如無特殊需求,建議客戶使用預設配置,該欄位可置空。
影視集錦情境下的“全域口播模式”和“分鏡指令碼模式”參數說明皆相同。
參數 | 類型 | 說明 | 樣本值 | 是否必填 |
JSON | 輸入視頻素材相關配置。 | 詳見參數樣本 | 否 | |
JSON | 標題相關配置。支援配置字幕參數,欄位詳見:橫幅文字。 | 詳見參數樣本 | 否 | |
SubHeadingConfig | JSON | 多級副標題相關配置。支援設定字幕參數。 JSON欄位說明: | 詳見參數樣本 | 否 |
JSON | 口播文案相關配置。 | 詳見參數樣本 | 否 | |
JSON | 背景音樂相關配置。 | {"Volume":0.2} | 否 | |
JSON | 背景圖相關配置。 | {"SubType":"Blur","Radius":0.5} | 否 | |
混剪處理配置。 | 詳見參數樣本 | 否 | ||
JSON | 用於前端頁面預覽時的畫布配置。 | {"Width": 1080,"Height": 1920} | 否 | |
ProduceConfig | JSON | 普通剪輯合成配置,欄位詳見:EditingProduceConfig | {"AutoRegisterInputVodMedia":true,"OutputWebmTransparentChannel":true,"CoverConfig":{"StartTime":3.3},"AudioChannelCopy":"left","PipelineId":"***d54a97cff4108b555b01166d4b***","MaxBitrate":5000,"KeepOriginMaxBitrate":false,"KeepOriginVideoMaxFps":false} | 否 |
ProcessConfig 參數說明
參數 | 類型 | 說明 | 樣本值 | 是否必填 |
AllowVfxEffect | Boolean | 是否允許添加特效效果。 | true | 否,預設false |
VfxEffectProbability | Float | 特效應用在每個視頻片段上的機率,取值:0.0 - 1.0,支援2位小數。 | 0.6 | 否,預設0.5 |
VfxFirstClipEffectList | List<String> |
| ["slightshow","starfieldshinee"] | 否 |
VfxNotFirstClipEffectList | List<String> |
| ["zoomslight","zoom"] | 否 |
AllowTransition | Boolean | 是否允許添加轉場效果。 | true | 否,預設false |
TransitionDuration | Float | 轉場時間長度,單位秒。如果轉場時間長度 > 片段時間長度 - 1,則該片段上的轉場效果不會生效。 | 0.5 | 否,預設0.5秒 |
TransitionList | List<String> | 自訂轉場效果列表,當AllowTransition=true時,隨機選取列表中的一個轉場效果進行合成。轉場效果的可選範圍詳見轉場效果庫。如果此參數為空白,則會從以下特效中隨機選取:"linearblur", "colordistance", "crosshatch", "dreamyzoom", "doomscreentransition_up" | ["directional", "linearblur"] | 否 |
UseUniformTransition | Boolean | 單個成片中是否使用一致的轉場效果。 | true | 否,預設true |
AllowFilter | Boolean | 是否允許添加自訂濾鏡 | false | 否,預設false |
FilterList | List<String> | 自訂濾鏡效果列表,當AllowFilter=true時,隨機選取列表中的一個濾鏡進行合成,濾鏡效果的可選範圍濾鏡效果樣本,如果此參數為空白,則不會添加濾鏡效果。 | ["m1", "m2"] | 否 |
AllowDuplicateMatch | Boolean | 表示匹配過的片段是否允許重複使用。 | false | 否,預設false |
EnableClipDetection: | Boolean | 是否對素材進行分鏡檢測。僅影視集錦可配置。支援自動劃分鏡頭,識別鏡頭類型(標題片尾、廣告、黑屏等不參與成片)。 | true | 否,預設為true |
EnableTemporalOpt | Boolean | 是否對匹配結果進行時序最佳化,僅影視集錦可配置。當輸入的分鏡資訊或解說文案,與源片的內容順序基本保持一致時,建議填寫為true。 | true | 否,預設false |
EnableSubtitleMatch | Boolean | 基於OCR和ASR識別的結果,最佳化口播文案與畫面之間的匹配。
| true | 否,預設false |
EditingConfig參數樣本
EditingConfig 中的所有參數均為非必填項,以下是預設配置。
{
"MediaConfig": {
"Volume": 0 // 預設視頻素材靜音
},
"TitleConfig": {
"Alignment": "TopCenter",
"AdaptMode": "AutoWrap",
"Font": "Alibaba PuHuiTi 2.0 95 ExtraBold",
"SizeRequestType": "Nominal",
"Y": 0.1, // 成片為豎屏時,標題Y座標值
"Y": 0.05, // 成片為橫屏時,標題Y座標值
"Y": 0.08 // 成片為方屏時,標題Y座標值
},
"SpeechConfig": {
"Volume": 1, // 口播音頻預設用原始音量
"SpeechRate": 0,
"Voice": null,
"Style": null,
"CustomizedVoice": null, // 人聲複製voiceId,若填寫了此欄位,Voice和Style將失效。
"AsrConfig": {
"Alignment": "TopCenter",
"AdaptMode": "AutoWrap",
"Font": "Alibaba PuHuiTi 2.0 65 Medium",
"SizeRequestType": "Nominal",
"Spacing": -1,
"Y": 0.8, // 成片為豎屏時,字幕Y座標值
"Y": 0.9, // 成片為橫屏時,字幕Y座標值
"Y": 0.85 // 成片為方屏時,字幕Y座標值
}
},
"SubHeadingConfig": {
"1": {
"Y": 0.3,
"FontSize": 40
},
"3": {
"Y": 0.5,
"FontSize": 30
}
},
"BackgroundMusicConfig": {
"Volume": 0.2, // 背景音樂預設用20%音量,
"Style": null
},
"ProcessConfig": {
"AllowVfxEffect": false, // 是否添加特效效果
"AllowTransition": false, // 是否添加轉場效果
"AllowDuplicateMatch": false, // 圖文匹配模式下,匹配過的片段是否允許重複使用
"EnableClipDetection": true, // 是否進行鏡頭檢測
"EnableTemporalOpt": true // 是否進行時序最佳化
}
}TemplateConfig 參數說明
TemplateConfig為一鍵成片的公用參數,用於設定一鍵成片模板。詳細參數說明和使用樣本詳見TemplateConfig 參數說明
OutputConfig 參數說明
使用者可通過配置OutputConfig,指定成片輸出地址、名稱規則、成片的寬高、輸出成片數量等合成參數配置。
參數 | 類型 | 說明 | 樣本值 | 是否必填 |
MediaURL | String | 輸出視頻地址,必須要有預留位置 {index}。 | 規則:http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-path]/[your-file-name]_{index}.mp4 樣本:http://example.oss-[your-region-id].aliyuncs.com/example/example_{index}.mp4 | 當GeneratePreviewOnly=false時,且成片輸出到OSS時必填 |
StorageLocation | String | 指定輸出到VOD的媒資檔案儲存體地址。 | 規則:[your-vod-bucket].oss-[your-region-id].aliyuncs.com 樣本:outin-****6c886b4549d481030f6e****.oss-[your-region-id].aliyuncs.com | 當GeneratePreviewOnly=false時,且成片輸出到VOD時必填 |
FileName | String | 輸出檔案名稱,必須要有預留位置 {index}。 | 規則:[your-file-name]__{index}.mp4 樣本:example_{index}.mp4 | 當GeneratePreviewOnly=false時,且成片輸出到VOD時必填 |
GeneratePreviewOnly | Boolean |
| false | 否,預設false |
Count | Integer | 輸出視頻數
| 1 | 否,預設1 |
Width | Integer | 成片寬,px | 1080 | 是 |
Height | Integer | 成片高,px | 1920 | 是 |
JSONObject | 輸出視頻流相關配置,Crf、Codec等 | {"Crf": 27} | 否 |
參數樣本
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-path]/[your-file-name]_{index}.mp4",
"Count": 1,
"Width": 1080,
"Height": 1920,
"Video": {"Crf": 27},
"GeneratePreviewOnly":false
}SDK調用樣本
前提條件
您已安裝IMS服務端SDK,詳情請參見準備工作。
程式碼範例
以全域口播模式為例
API調用入參詳情
進階配置
進階配置詳見批量一鍵成片混剪邏輯與進階配置
常見問題
指令碼化自動成片常見問題請參見影視集錦FAQ: