video-generation について
構造化 JSON プロンプトと Python スクリプトを使って動画を生成するスキルです。任意の参照画像に対応し、プロンプト準備から生成結果の扱いまでを案内します。
主な機能
- 01構造化 JSON 動画プロンプト
- 02任意の参照画像によるガイド
- 03Python スクリプトでの動画生成
- 04Gemini または MiniMax の選択
活用シーン
- 01シーンの説明から動画を生成
- 02参照フレームを使った動画生成
- 03指定したアスペクト比で動画を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bytedance/ deer-flow --skill video-generationインストール後、Claude Code で/video-generationを入力して読み込まれたか確認します。
同梱ファイルAGENTS.mdscripts/generate.py
詳細
動画生成スキル
概要
このスキルでは、構造化プロンプトと Python スクリプトを使用して高品質な動画を生成します。ワークフローでは、JSON 形式のプロンプトを作成し、必要に応じて参照画像を指定して動画を生成します。
主な機能
- AIGC 動画生成用の構造化 JSON プロンプトを作成
- 参照画像をガイダンスとして使用したり、動画の最初または最後のフレームとして使用したりできます
- Python スクリプトの自動実行による動画生成
ワークフロー
ステップ 1:要件を把握する
ユーザーから動画生成の依頼があった場合は、以下を確認します。
- 被写体/内容:画像に何を含めるか
- スタイルの希望:アートスタイル、雰囲気、カラーパレット
- 技術仕様:アスペクト比、構図、ライティング
- 参照画像:生成のガイドに使用する画像があるか
/mnt/user-data内のフォルダーを確認する必要はありません
ステップ 2:構造化プロンプトを作成する
/mnt/user-data/workspace/ に、命名パターン {descriptive-name}.json に従って構造化 JSON ファイルを作成します。
ステップ 3:参照画像を作成する(画像生成スキルが利用可能な場合は任意)
動画生成用の参照画像を生成します。
- 画像が 1 枚だけ提供されている場合は、動画のガイドフレームとして使用します
ステップ 3:生成を実行する
Python スクリプトを呼び出します。
python /mnt/skills/public/video-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/prompt-file.json \
--reference-images /path/to/ref1.jpg \
--output-file /mnt/user-data/outputs/generated-video.mp4 \
--aspect-ratio 16:9
パラメーター:
--prompt-file:JSON プロンプトファイルの絶対パス(必須)--reference-images:参照画像の絶対パス(任意)。プロバイダーが使用する画像には、認識可能なファイル名拡張子.png、.jpg、.jpeg、.webp、.gif(大文字と小文字を区別しない)が必要です。拡張子がない場合や、その他の拡張子の場合は、送信前に拒否されます。ファイル名の拡張子は画像の内容と一致している必要があります。スクリプトは画像の内容を検証せず、バイト列の変換も行いません。拡張子が認識されても、選択したプロバイダーがその形式を受け入れるとは限りません。--output-file:出力画像ファイルの絶対パス(必須)--aspect-ratio:生成する画像のアスペクト比(任意、既定値:16:9)
[!NOTE] Python ファイルを読まず、パラメーターを指定して呼び出してください。
動画生成の例
ユーザーの依頼:「『The Chronicles of Narnia: The Lion, the Witch and the Wardrobe』のオープニングシーンを描いた短い動画を生成してください」
ステップ 1:「The Chronicles of Narnia: The Lion, the Witch and the Wardrobe」のオープニングシーンをオンラインで検索します
ステップ 2:以下の内容で JSON プロンプトファイルを作成します。
{
"title": "The Chronicles of Narnia - Train Station Farewell",
"background": {
"description": "World War II evacuation scene at a crowded London train station. Steam and smoke fill the air as children are being sent to the countryside to escape the Blitz.",
"era": "1940s wartime Britain",
"location": "London railway station platform"
},
"characters": ["Mrs. Pevensie", "Lucy Pevensie"],
"camera": {
"type": "Close-up two-shot",
"movement": "Static with subtle handheld movement",
"angle": "Profile view, intimate framing",
"focus": "Both faces in focus, background soft bokeh"
},
"dialogue": [
{
"character": "Mrs. Pevensie",
"text": "You must be brave for me, darling. I'll come for you... I promise."
},
{
"character": "Lucy Pevensie",
"text": "I will be, mother. I promise."
}
],
"audio": [
{
"type": "Train whistle blows (signaling departure)",
"volume": 1
},
{
"type": "Strings swell emotionally, then fade",
"volume": 0.5
},
{
"type": "Ambient sound of the train station",
"volume": 0.5
}
]
}
ステップ 3:画像生成スキルを使用して参照画像を生成します
画像生成スキルを読み込み、そのスキルに従って参照画像 narnia-farewell-scene-01.jpg を 1 枚生成します。
ステップ 4:generate.py スクリプトを使用して動画を生成します
python /mnt/skills/public/video-generation/scripts/generate.py \
--prompt-file /mnt/user-data/workspace/narnia-farewell-scene.json \
--reference-images /mnt/user-data/outputs/narnia-farewell-scene-01.jpg \
--output-file /mnt/user-data/outputs/narnia-farewell-scene-01.mp4 \
--aspect-ratio 16:9
Python ファイルを読まず、パラメーターを指定して呼び出してください。
出力の処理
生成に失敗した場合、生成コマンドはステータス 1 で終了し、プロバイダーの認証情報が不足している場合も含め、エラーを stderr に書き込みます。コマンドが成功した後にのみ動画を提示してください。以前の実行で残ったファイルは新しい結果ではありません。
生成後:
- 動画は通常
/mnt/user-data/outputs/に保存されます - 生成した動画(最初に提示)と、該当する場合は生成した画像を、
present_filesツールを使用してユーザーに共有します - 生成結果について簡潔に説明します
- 調整が必要な場合は、繰り返し生成できることを伝えます
注意事項
- ユーザーの言語にかかわらず、プロンプトには必ず英語を使用します
- JSON 形式にすることで、プロンプトを構造化して解析可能にできます
- 参照画像は生成品質を大幅に向上させます
- 最適な結果を得るために、反復して調整するのは通常のことです
プロバイダー(Gemini / MiniMax)
プロバイダーの認証情報はスクリプトに埋め込まず、実行環境から読み込まれます。 その値をプロンプトファイルやコマンドライン引数に記述しないでください。
環境変数によって自動選択されます(CLI は変更ありません)。
GEMINI_API_KEYが設定されている場合 → Gemini Veo(デフォルト、変更なし)。MINIMAX_API_KEYのみが設定されている場合 → MiniMax 動画(/v1/video_generation、非同期の3ステップのポーリング/ダウンロード)。VIDEO_GENERATION_PROVIDER=gemini|minimaxで強制指定できます。
MiniMax の上書き設定:MINIMAX_API_HOST(デフォルトは https://api.minimaxi.com)、
MINIMAX_VIDEO_MODEL(デフォルトは MiniMax-Hailuo-2.3)。最初の参照画像が
MiniMax の first_frame_image として使用されます。MiniMax は --aspect-ratio を無視します(解像度と長さを使用します)。