このトピックでは、一般的なシナリオにおけるインテリジェントな図文マッチングの合成パラメーター、詳細設定、および SDK 呼び出しの例について説明します。
スクリプトベースの自動ビデオ制作とインテリジェントな図文マッチングは、タスクを送信するために同じ API を共有します。パラメーターを通じてこれら 2 つを区別する方法については、「パラメーターの違いの説明」をご参照ください。
注:このインターフェイスでは、すべてのメディアアセットの OSS URL のリージョンは、OpenAPI エンドポイントのリージョンと一致している必要があります。
サポートされているリージョン:中国 (上海)、中国 (北京)、中国 (杭州)、中国 (深圳)、米国 (西部)、シンガポール。
実際の使用では、ドキュメント内の [your-bucket]、[your-region-id]、[your-file-name]、[your-file-path]、およびメディアアセット ID (例: 「****9d46c8b4548681030f6e****」) などのすべてのパラメーター例を実際の値に置き換えてください。
このトピックをよりよく理解するために、まず「インテリジェントワンクリックビデオ制作操作ガイド」を通じて [インテリジェント図文マッチング - 一般的なシナリオ] の概念と使用プロセスについて学習することをお勧めします。
インテリジェント図文マッチング - 一般的なシナリオには 2 つの制作モードが含まれます。このトピックでは、次のモードについて詳しく説明します。
ブロードキャストモード
ストーリーボードスクリプト
使用方法
複数のビデオ、オーディオファイル、およびイメージをインテリジェントにミキシングおよび編集してビデオをバッチ制作するためのインターフェイスについては、「SubmitBatchMediaProducingJob - バッチインテリジェントワンクリックビデオ制作」をご参照ください。主要な API パラメーターについては、次のセクションをご参照ください:InputConfig パラメーターの説明、EditingConfig パラメーターの説明、および OutputConfig パラメーターの説明。
バッチインテリジェントワンクリックビデオ制作ジョブの詳細情報を取得するには、「GetBatchMediaProducingJob - バッチインテリジェントワンクリックビデオ制作タスク情報を取得する」をご参照ください。
InputConfig パラメーターの説明
InputConfig を構成して、ビデオ素材、ナレーション、バックグラウンドミュージック、ステッカーなどの基本素材のパラメーター構成を指定できます。
パラメーター | タイプ | 説明 | 値の例 | 必須 | サポートされているモード |
MediaArray | List<String> |
| ["****b4549d46c88681030f6e****","****549d46c88b4681030f6e****"] | MediaArray または MediaSearchInput のいずれかが必要です | すべて |
MediaSearchInput | 検索ライブラリと主題説明テキストを指定して、編集素材をインテリジェントに検索およびマッチングします。 | {"LibSearchCondition":{"SearchLibs":["ims-default-search-lib","test-20"],"SearchText":"Alibaba Cloud assistant is learning how to livestream"}} | すべて | ||
TitleArray | List<String> | タイトル配列、各制作で 1 つがランダムに選択されます 最大 50 タイトル、各タイトルは 50 文字を超えないこと | ["タイトル 1","タイトル 2"] | いいえ | すべて |
SubHeadingArray | List<SubHeading> | 字幕設定 | [{"Level":1,"TitleArray":["レベル 1 字幕 1","レベル 1 字幕 2"]},{"Level":3,"TitleArray":["レベル 3 字幕"]}] | いいえ | すべて |
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****"] | いいえ | すべて |
MediaSearchInput パラメーターの説明
パラメーター | タイプ | 説明 | 必須 |
LibSearchCondition | 検索ライブラリの検索条件設定 | 必須 |
LibSearchCondition パラメーターの説明
パラメーター | タイプ | 説明 | 値の例 | 必須 |
SearchLibs | List<String> | 検索ライブラリリスト | ["ims-default-search-lib"] | はい |
SearchText | String | 主題説明テキスト。ターゲットのマッチング素材のテーマコンテンツを説明するために使用され、最大テキスト長は 20 文字です。 | 海、サンゴ礁、アザラシ、イルカ、海洋環境 | はい |
SceneInfo パラメーターの説明
パラメーター | タイプ | 説明 | 必須 |
Scene | String | マッチングシーンタイプ。一般的なシナリオでは、固定値 "General" を渡す必要があります。 | はい |
ShotInfo | ストーリーボードスクリプトを設定します。 説明 このパラメーターはストーリーボードスクリプトモードにのみ適用されます。ブロードキャストモードを使用する場合、このパラメーターは不要です。 | いいえ |
ShotInfo パラメーターの説明
このパラメーターはストーリーボードスクリプトモードにのみ適用されます。ブロードキャストモードを使用する場合、このパラメーターは不要です。
パラメーター | タイプ | 説明 | 必須 |
ShotScripts | List<ShotScript> | ストーリーボードスクリプト配列 | はい |
ShotScript パラメーターの説明
このパラメーターはストーリーボードスクリプトモードにのみ適用されます。ブロードキャストモードを使用する場合、このパラメーターは不要です。
パラメーター | タイプ | 説明 | 値の例 | 必須 |
ScriptText | String | 単一ショットのスクリプトテキスト。ショットの内容を説明するために使用されます。 | 彼は最近、新しい魔法の薬を開発しています。 | いいえ |
SpeechText | String |
| 老魔法使いのダニーは奇妙な楽器をいじっています。彼は最近、新しい魔法の薬を開発しています。 | いいえ |
Duration | Float |
| 5 | いいえ |
Volume | Float |
| 0.5 | いいえ |
パラメーター例:ブロードキャストモード
{
// MediaArray または MediaSearchInput のいずれかを選択
"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"
],
// MediaArray または MediaSearchInput のいずれかを選択
"MediaSearchInput": {
"LibSearchCondition": {
"SearchLibs": [
"ims-default-search-lib",
"test-20"
],
"SearchText": "Alibaba Cloud assistant is learning how to livestream"
}
},
"TitleArray": [
"回龍観盒馬鮮生オープン",
"盒馬鮮生がオープンしました"
],
"SubHeadingArray": [
{
"Level": 1,
"TitleArray": ["字幕 1", "字幕 2"]
},
{
"Level": 3,
"TitleArray": ["レベル 3 字幕"]
}
],
"SpeechTextArray": [
"近くのモールに新しい盒馬鮮生の店がオープンしました。今日はオープニング初日です、急いで盛り上がりに参加しましょう。この盒馬の店は大きくありませんが、モールにはたくさんの人がいます。スナックや飲み物はかなり手頃です。人々は長い列を作っています。ぜひ見に来てください!",
"近くのモールに新しい盒馬鮮生の店がオープンしました。今日はオープニング初日です、急いで盛り上がりに参加しましょう",
"<speak>戦いは <phoneme alphabet=\"py\" ph=\"zheng4 hao3\">激しい</phoneme>。今日、我々の主人公、卓球の伝説馬龍は、栄光の頂点に向かって突き進んでいます。準々決勝で強敵の上園俊平と対戦し、馬龍は恐れることなく、すべてのラリーで全力を尽くします。彼の正確なボール配置と冷静な判断力は、この試合で彼に優位をもたらしました。最終的に、馬龍は相手を打ち破り、準決勝に進出しました。</speak>"
],
"Sticker": {
"MediaId": "****b681034549d46c880f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300,
"Opacity": 0.6
},
"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 または MediaSearchInput のいずれかを選択
"MediaArray": ["****9d46c886b45481030f6e****", "****c886810b4549d4630f6e****"],
// MediaArray または MediaSearchInput のいずれかを選択
"MediaSearchInput": {
"LibSearchCondition": {
"SearchLibs": [
"ims-default-search-lib",
"test-20"
],
"SearchText": "Alibaba Cloud assistant is learning how to livestream"
}
},
"SceneInfo": {
"Scene": "General", // 一般的なマッチング
"ShotInfo": {
"ShotScripts": [
{
"ScriptText": "これは最初のショットのスクリプトテキストです",
"SpeechText": "これは最初のショットのナレーションスクリプトです、ショットの持続時間はナレーションの持続時間に一致します"
},
{
"ScriptText": "これは 2 番目のショットのスクリプトテキストです、ナレーションスクリプトがない場合、Duration を設定してショットの長さを制御できます",
"Duration": 5.0, // ナレーションスクリプトがない場合に設定可能
"Volume": 1.0 // このショットのビデオ素材のボリュームを設定
},
{
"ScriptText": "これは 3 番目のショットのスクリプトテキストです",
"SpeechText": "<speak>ナレーションスクリプトは ssml をサポートしています。戦いは <phoneme alphabet=\"py\" ph=\"zheng4 hao3\">激しい</phoneme>。今日、我々の主人公、卓球の伝説馬龍は、栄光の頂点に向かって突き進んでいます。<s>準々決勝で強敵の上園俊平と対戦し、馬龍は恐れることなく、すべてのラリーで全力を尽くします</s>彼の正確なボール配置と冷静な判断力は、この試合で彼に優位をもたらしました。最終的に、馬龍は相手を打ち破り、準決勝に進出しました<break time=\"1000ms\"/></speak>"
}
]
}
},
"TitleArray": [
"回龍観盒馬鮮生オープン",
"盒馬鮮生がオープンしました"
],
"SubHeadingArray": [
{
"Level": 1,
"TitleArray": ["字幕 1", "字幕 2"]
},
{
"Level": 3,
"TitleArray": ["レベル 3 字幕"]
}
],
"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
}
],
"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 | バックグラウンドイメージ関連の構成。InputConfig でバックグラウンドイメージがすでに構成されている場合、このフィールドは有効になりません。 | {"SubType":"Blur","Radius":0.5} | いいえ | |
JSON | ミキシング編集処理構成。 | 「パラメーター例」をご参照ください。 | いいえ | |
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 パラメーターの説明
パラメーター | タイプ | 説明 | 値の例 | 必須 |
SingleShotDuration | Float | 長いビデオ素材を編集すると、自動的にセグメントに分割されます。これは分割後の各ショットの持続時間 (秒) です。 | 5 | オプション、デフォルトは 3 |
EnableClipSplit | Boolean | AI セグメンテーションを実行するかどうかを示します (ビデオシーンの変更に応じて長い素材を自動的に分割します)。true の場合、SingleShotDuration パラメーターは無効になります。 | false | オプション、デフォルトは false |
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 |
ImageDuration | Float | イメージ素材の持続時間 (秒)。 | 2 | オプション、デフォルトは 2 |
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": {
"SingleShotDuration": 3, // 分割後のショットの持続時間、SingleShotDuration または EnableClipSplit のいずれかを選択
"EnableClipSplit": false // AI セグメンテーションを実行するかどうか、true の場合、SingleShotDuration パラメーターは無効になります
"AllowVfxEffect": false, // 特殊効果を追加するかどうか
"AllowTransition": false, // トランジション効果を追加するかどうか
"AllowDuplicateMatch": false, // 図文マッチングモードで、マッチしたクリップを再利用できるかどうか
}
}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-cn-shanghai.aliyuncs.com/example/example_{index}.mp4 | GeneratePreviewOnly=false で、出力ビデオが OSS に保存される場合に必須 |
StorageLocation | String | 出力メディアファイルの VOD への保存場所を指定します。 | フォーマット:[your-vod-bucket].oss-[your-region-id].aliyuncs.com 例:outin-****6c886b4549d481030f6e****.oss-cn-shanghai.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 | 出力ビデオの数
| 10 | オプション、デフォルトは 1 |
MaxDuration | Float | 単一の出力ビデオの最大持続時間制限。 「ナレーションテキスト」パラメーターが定義されている場合、持続時間はナレーションテキストの TTS 持続時間に基づいており、このパラメーターは無効です。 「ナレーションテキスト」がない場合、現在の設定が単一ビデオの最大持続時間として使用され、デフォルトは 15 秒です。 | 20 | オプション、デフォルトは 15 秒 |
FixedDuration | Float | 単一の出力ビデオの固定持続時間。固定持続時間が設定されている場合、ビデオの持続時間はこのパラメーターに合わせられます。 注:
| 20 | オプション、デフォルトは 15 秒 |
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,
"MaxDuration": 15,
"Width": 1080,
"Height": 1920,
"Video": {"Crf": 27},
"GeneratePreviewOnly":false
}SDK 呼び出しの例
前提条件
IMS サーバー SDK をインストール済みであること。詳細については、「準備」をご参照ください。
コード例
ブロードキャストモードを例として使用
API 呼び出し入力パラメーターの詳細
ミキシング編集ロジックと詳細設定
処理ロジック
ブロードキャストモード:
「指定された検索ライブラリ + 設定された主題説明テキスト」を通じてビデオ素材が選択された場合、「主題説明テキスト」を検索条件として使用して、指定された検索ライブラリで対応するビデオクリップをインテリジェントに検索し、入力ビデオとして使用できます。
入力ビデオが長いビデオクリップの場合、まずセグメント化されます。ミキシング編集中に、セグメント化されたビデオクリップが選択されて接合および合成されます。セグメント化後の各ショットのデフォルトの持続時間は 3 秒です。SingleShotDuration パラメーターを使用してショットの持続時間を指定することもできます。
ナレーションスクリプトがない場合、ビデオクリップがランダムに選択され、接合されて約 15 秒のビデオが制作されます。
ナレーションスクリプトがある場合、インテリジェントな図文マッチングが実行され、ナレーションスクリプトと整合されて複数のビデオがバッチ制作されます。
ストーリーボードスクリプト:
「指定された検索ライブラリ + 設定された主題説明テキスト」を通じてビデオ素材が指定された場合、「主題説明テキスト」を使用して指定された検索ライブラリでインテリジェントに検索し、対応するビデオクリップを入力ビデオとして抽出する必要があります。
ストーリーボードスクリプトモードでは、SpeechTextArray/SpeechText を設定する必要はありません。代わりに、SceneInfo.ShotInfo.ShotScripts を使用して、ビデオの各ショットの内容、持続時間、ナレーション、およびその他の情報を制御します。
単一のショットでは、スクリプトテキストを介したインテリジェントなクリッピングとマッチングが優先されます。スクリプトテキストが設定されておらず、ナレーションテキストが設定されている場合、ナレーションテキストを介してマッチングが行われます。
単一のショットでは、ショットの持続時間はナレーションの持続時間またはカスタムの持続時間と整合されます。
詳細設定
詳細設定の詳細については、「バッチワンクリックビデオ制作ミキシング編集ロジックと詳細設定」をご参照ください。