ワンクリックショート動画(エンドツーエンド・オーケストレーション)
1つのテーマを入力すると、自動的にショート動画を生成します。本スキルはオーケストレーション層です。既存の制作部品をパイプラインとして連結します—— 台本(video-script) → シーンごとの画像(ai-image-gen)または動画クリップ(ai-video-gen) → ナレーション(tts-voiceover) → 字幕(auto-subtitle) → BGM(ai-music) → 合成(scripts/assemble.py)。 Pixelle-Video / MoneyPrinterTurbo の自動ショート動画エンジンのコンセプトを基にしています。
入力
- テーマ / 台本(必須)
- オプション:目標の尺、スタイル、ナレーション/字幕/BGMの有無、画像生成にAIを使うかユーザー素材を使うか
- アスペクト比確認は必須:ユーザーまたは上流タスクから横長/縦長(または16:9/9:16/具体的な解像度)が明示されていない場合、制作・課金APIの呼び出し前に必ず確認し、回答を待つこと。プラットフォーム、Profile、デフォルト値から黙って推測してはいけません。既に明示されている場合は再度尋ねない。
出力
完成したショート動画は outputs/テーマ名/final.mp4 に保存されます。各シーンの画像、ナレーション、字幕、storyboard は outputs/テーマ名/assets/ に保存されます。
実行手順(必要に応じてスキップ。APIキー不足の工程は自動的にフォールバックまたはユーザーに確認)
-
台本・シーン分割:video-script を使ってテーマからナレーション台本を作成し、N個の文(各文=1シーン)に分割します。各文に対して画面描写を生成します。
-
画像・動画の生成(各シーンごとに1枚の画像または1つの動画クリップ):
- 画像生成APIキーあり → ai-image-gen で文ごとに text2img(確認済みアスペクト比に従う)
- 動的な映像が必要 → ai-video-gen で text2video / image2video
- ユーザー提供素材あり → image-editing の
padで確認済みアスペクト比に調整 - どちらもなし → 確認済みアスペクト比に基づいてテンプレートカード(縦長:card-xiaohongshu/poster-hero、横長:card-quote)を選び、pad で調整。アスペクト比の不整合を防止。
-
ナレーション:tts-voiceover で台本をナレーション音声に合成(同時にSRT字幕ファイルも出力)。
VOICE_PROVIDERが設定されていれば高品質なクローズドソース音声(感情表現があり人間らしい)がデフォルトで使用されます。キーがなければ edge(機械的)にフォールバック。ナレーションを「不自然」にしたくなければ必ずクローズドソースAPIキーを設定してください。ナレーション不要の場合はスキップ。 -
字幕:TTSで生成されたSRTを使用するか、ナレーションに対して auto-subtitle を実行します。また、assemble が各シーンのキャプションから自動生成することも可能。
-
BGM:ai-music で生成するか、ユーザー提供の音楽を使用。オプション。
-
動画合成:上記の素材を storyboard JSON にまとめ、合成スクリプトを実行します。
python skills/openclaw/auto-short-video/scripts/assemble.py assemble \ --storyboard outputs/テーマ名/assets/storyboard.json \ -o outputs/テーマ名/final.mp4storyboard 構造(画像/動画どちらか必須。narration/bgm/subtitle はオプション。duration 未指定の場合はナレーション時間を均等割り):
{ "size": "<確認済みサイズ、例:1080x1920 または 1920x1080>", "image_motion": "ken-burns", "shots": [ {"image": "outputs/テーマ名/assets/shot1.png", "duration": 3, "caption": "第1文", "motion": "static"}, {"video": "outputs/テーマ名/assets/clip2.mp4", "caption": "第2文"} ], "narration": "outputs/テーマ名/assets/voice.mp3", "bgm": "outputs/テーマ名/assets/bgm.mp3", "subtitle": "outputs/テーマ名/assets/voice.srt" }image_motionは画像全体のデフォルトの動きを設定。個別のシーンでmotionを指定すると上書き可能:写真にはken-burns、テキストを含むスライド/グラフ/UI には必ずstatic(等倍リサイズ+余白補完、トリミングやパンなし)を使用。 合成スクリプトは自動的に:image_motionに従って静止画または Ken Burns アニメーションを生成、アスペクト比に合わせて余白補完、クリップの連結、ナレーション+BGMのミキシング(BGMは自動で音量ダック)、字幕の焼き込みを行います。 -
納品:final.mp4 を出力し、使用した工程とフォールバックした工程を説明する簡単な注釈を添付します。
オーケストレーションの原則
- 部品の欠落を許容:画像/動画/TTSのAPIキー不足の工程は自動的にフォールバック(テンプレートカードで補完 / ナレーションスキップ)し、全体の実行をブロックしません。そして、何がフォールバックされたかをユーザーに正直に通知します。
- 事前にPlanを提示:複数の課金API(画像生成/動画生成/音楽生成)が関わる場合、事前にユーザーに「何を呼び出すか」「おおよその所要時間/費用」を説明し、確認を得てから実行します。
- 中間成果物を保存:シーン画像、ナレーション、字幕、storyboard はすべて
outputs/テーマ名/assets/に書き出し、後から個別に差し替えて再合成できるようにします。
Profile 認識
- Profileあり:
style.mdからトーン/ビジュアルスタイルを取得し、台本と画像プロンプト全体に反映。platforms.mdはアスペクト比や尺の提案のみに使用(アスペクト比自体は依然として確認必須)。preferences.mdのフィルターを遵守。 - Profileなし:まず横長/縦長を確認し、汎用的なナレーションスタイルを使用。