super-video-maker について
アイデア、台本、製品フロー、画面録画、長尺動画から完成素材を作る動画制作スキルです。台本、素材、編集、品質確認、書き出しの段階的な工程で、アバター解説や広告、モーションコラージュなどに対応します。
主な機能
- 01複数形式の動画レシピを提供
- 02台本・ショット・制作工程を計画
- 03アバター動画と AI B-roll を作成
- 04字幕・モーショングラフィックス・FFmpeg 書き出し
- 05品質確認まで中間素材を管理
活用シーン
- 01製品フローを解説動画にする
- 02架空の AI クリエイターによる広告を制作
- 03長尺動画から短尺素材を作成
- 04字幕とモーショングラフィックス付き動画を編集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bomx/ super-video-maker-skill --skill super-video-makerインストール後、Claude Code で/super-video-makerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.exampleFFMPEG_PLAYBOOK.mdMOTION_COLLAGE_STYLE.md.gitignoreREMOTION_VIDEO_GUIDE.mdHYPERREALISTIC_IMAGE_SOP.mdREADME.mdREFERENCE.mdLIVING_CANVAS_PLAYBOOK.mdHOOK_PLAYBOOK_ARTICLE_SPRINT.mdREVIEW_VIDEO_PLAYBOOK.mdSEEDANCE_AVATAR_ROI.mdTABLETOP_EXPLAINER_PLAYBOOK.mdSPOKEN_VO_HUMANIZER.mdVIDEO_COPY_PLAYBOOK.mdWORKFLOW_EXAMPLES.mdpackage.jsoncommands/avatar-vo-reel.mdreview-video.mdavatar-insta-reel.mdhyperframes-template/README.mdpackage.jsonhyperframes-template/compositions/demo.htmlrecipes/agent-browser-proof.jsonREADME.mdavatar-explainer.jsonavatar-hook-broll.jsonavatar-insta-split.jsonavatar-vo-broll.jsonavatar-product-walkthrough.json詳細
Super Video Maker
このスキルでできること
動画のアイデア、スクリプト、製品の操作フロー、画面録画、アバターの概要、または既存の長尺動画から、洗練された動画アセットを作成します。このスキルでは、次のものを制作できます。
- アバター解説動画(
avatar-explainer):合成プレゼンター、画面録画/出典資料、UIの短いストーリー、字幕、実践的なポイントを盛り込んだ、根拠に基づくアバター動画 - UGC AI広告(
ugc-ai-ad):架空のAIクリエイター、参照画像によるキャラクターの一貫性、Seedance 2.5のクリップ、ElevenLabsによる音声の一貫性、フックのバリエーション、字幕、ダイレクトレスポンス型のCTAを用いた有料ソーシャル広告 - モーションコラージュ解説動画(
motion-collage-explainer):大胆なシルクスクリーン風切り抜きコラージュの静止画(gpt-image-2)をSeedance 2.5で動きのあるコラージュに仕上げ、落ち着いた「In a Nutshell」風のドキュメンタリー調ナレーションを加えた、顔出しなしの1つのアイデアを解説するショート動画(MOTION_COLLAGE_STYLE.mdを参照) - HeyGenを使ったアバター動画
- fal.ai経由のSeedance 2.5を使ったAI Bロール
- OpenAIの画像モデルを使った画像の生成や編集
- カーソル/イベントログ付きの画面録画
- RemotionまたはHyperFramesを使ったモーショングラフィックス
- 字幕、サブタイトル、音楽、FFmpegによる最終書き出し
必要に応じてこれらのファイルをお読みください
VIDEO_COPY_PLAYBOOK.md:すべてのレシピにおけるコピー層について説明しています。4行の基本構成(視聴者1人、約束1つ、仕組み1つ、次のステップ1つ)、2トラックのルール(ナレーションが主張を伝え、画面が根拠を示し、どちらも相手の内容を繰り返さない)、画面上のコピーの作り方(動きのある見出し、データバッジ、ゴーストタイトル、エンドカードのオファー、タイポグラフィによる打ち消し)、形式ごとの展開、信頼性に関するルール、最初の有料生成呼び出し前に実行するコピーゲートが含まれています。スクリプト、フック、見出し、CTAを書く前に読み、まずセクション11を確認してください。そこには、オーナー承認済みの「平易な話し方」を用いた、文字起こし済みの参考ナレーション(70秒間に比喩表現はゼロ)と、オーナーが「詩的すぎる、概念的すぎる、AIの粗雑な文章」として却下したコピーの修正前/修正後の表が載っています。指差しテストもここにあります。視聴者が、たった今口にした名詞を指差せないなら、書き直してください。一般的な声とリズムのルールを扱うcopywriting-skillスキルと併用してください。SPOKEN_VO_HUMANIZER.md:セリフの「聞こえ方」を説明しています(ショート動画スクリプトの12のルールと、音声におけるAIらしさを感じさせる表現の禁止リスト)。HOOK_PLAYBOOK_ARTICLE_SPRINT.md:フックの種類、コピーを書く前に切り口を決めるルール、ループの計算について説明しています。recipes/README.mdとtools/video_recipes.py:機械可読な動画レシピ(一覧、照合、計画、検証)について説明しています。REFERENCE.md:プロバイダーの機能とルーティングの判断について説明しています。FFMPEG_PLAYBOOK.md:FFmpeg の正確なレシピについて説明しています。WORKFLOW_EXAMPLES.md:制作の全工程例について説明しています。REMOTION_VIDEO_GUIDE.md:Remotion のモーションデザインのルールについて説明しています。TABLETOP_EXPLAINER_PLAYBOOK.md+workflows/tabletop-levels-explainer/:「Xのレベル」形式の階層型解説リールの作り方について説明しています(架空のプレゼンター+最初/最後のフレームを意識したクラフト系Bロール+ビートに合わせたスイッチ組み立て)。LIVING_CANVAS_PLAYBOOK.md+workflows/living-canvas-explainer/:ブティックスタジオ品質の、SaaSローンチ/解説動画向け単一キャンバスの作り方について説明しています。連続した1つのキャンバス上での要素単位のペース配分(ハードカットは0~3回)、持続的に表示されるUIカード上でナレーションの語句に同期したカメラ演出、因果関係に沿った物理挙動+レイアウトの再配置+変形の連鎖、感情を込めたナレーションとコメディの間で始まるストーリー、3層の音楽、ビートに同期した効果音バスが含まれています。「一流のモーションスタジオのような雰囲気にして」という依頼に取りかかる前に読んでください。各尺、ズーム倍率、スプリング定数がすべて指定されています。HYPERREALISTIC_IMAGE_SOP.md:参考画像から、フォトリアルでAIらしく見えないUGCクリエイター用プロンプトを作る12項目のフレームワークについて説明しています。クリエイターの静止画や超リアルなキャラクターを生成する前に読んでください。MOTION_COLLAGE_STYLE.md:motion-collage-explainerレシピについて説明しています。gpt-image-2で大胆なシルクスクリーン風の切り抜きコラージュ静止画を作り、Seedance 2.5 で動きのあるコラージュにアニメーション化し、落ち着いた「In a Nutshell」風のドキュメンタリー解説ナレーションを加える方法です。顔を出さないコラージュ/慣用句/概念解説のショート動画を作る前に読んでください。REVIEW_VIDEO_PLAYBOOK.md+commands/review-video.md:review-conquest-compilationレシピ(/review-video)について説明しています。「<競合他社> reviews」というキーワードを狙い、実在確認済みの競合他社レビューを顔出しなしのナレーション付きモンタージュにまとめ、繰り返し寄せられる不満を挙げ、ユーザー自身のビジネスを代替案として位置づけたうえで、ユーザー自身の推薦動画リールを追加します。最後に登場するビジネス名は可変です。特定の会社名をハードコードしないでください。競合レビュー/比較/競合攻略動画を作る前に読んでください。
運用ルール
- ランダムにツールを呼び出すのではなく、段階的なパイプラインを実行してください。 次の順序で進めます:インテーク -> スクリプト/ショットリスト -> アセット -> 組み立て -> FFmpeg による仕上げ -> QC -> 書き出し。
1a. コピーは飾りではなく、制作の必須ゲートです。 最初の TTS 呼び出し、クリップ生成、タイムライン構築より前に、
VIDEO_COPY_PLAYBOOK.mdにある4行の骨子(視聴者1人、約束1つ、仕組み1つ、次のステップ1つ)を書き、切り口を選び、コピーのチェックリストを実行してください。音声と画面で同じ文を伝えてはいけません。動画をミュートしてもストーリーが追え、画面を空白にしても主張が伝わるようにしてください。この順序はスタイル上のものではありません。VO にロックされる形式では、スクリプトがタイムラインそのものです。そのため、構築後にスクリプトを変更すると、すべてのフレーム番号を再びロックし直すことになります。 - 最初の有料呼び出しの前に、有料生成について確認してください。 使用予定のプロバイダー、クリップ/画像の数、長さ、解像度、主なコスト要因を提示してください。
- スキル内のツールを優先してください。 プロジェクトのルートにあるスクリプトを使う前に、
tools/内のファイルを使用してください。 - すべてのツールで
RESULT: {...}を出力してください。 その JSON を信頼できる唯一の情報源として解析してください。 - ジョブの状態を保持してください。 各実行を
tmp/video_jobs/<job_id>/に保存し、job_state.json、入力、作業中のファイル、最終書き出しを含めてください。 - QC に合格するまで中間アセットを削除しないでください。 失敗した動画ジョブも、元のクリップが残っていれば修正しやすくなります。
- シークレットやユーザーセッションをコミットしないでください。
.env、Cookie、生成した録画、プライベートなアバター、ダウンロードしたユーザー動画を公開してはいけません。 - エラーはユーザーにわかりやすくしてください。 エンドユーザーには生のスタックトレースを見せず、デバッグ用の詳細ログは保存してください。
- ストーリーを優先する動画を標準にしてください。 ニュースのスライドショーをそのまま作ってはいけません。次の構成を使ってください:フック -> 透明性のあるアバター紹介 -> ニュースの要点 -> 具体的なストーリー/事例 -> 情報源の証拠 -> アクションステップ。
9a. HeyGen アバターのナレーション、画面録画/情報源の証拠、UI のミニストーリー、B ロール、字幕、実行可能なまとめを組み合わせる形式のデフォルトのレシピ名には、
avatar-explainerを使用してください。 - 合成プレゼンターであることを、アバター自身の声で開示してください。 フックの直後に「Quick note, this is the digital avatar of 」という一文をスクリプトに入れてください。静止した免責カードを先頭に表示してはいけません。音声に開示が含まれていない場合は、冒頭約4秒間、左上隅に小さく透明な角丸ピル型 PNG バッジを表示してください(Pillow で描画:濃紺の塗り
#0A1228、アルファ96%、ブランドオレンジ#FF6B2Cの2pxアウトライン、16px のアクセントドット、白いサンセリフ体で「Digital avatar of 」、角丸半径22px、各端から50px)。画面下部の帯には、重いdrawboxのローワーサードを使わないでください。中央揃えの字幕と重なります。アウトロカードには、常時表示するフッター行「Digital avatar of . 」を必ず入れてください。 - HeyGen のアバターと音声は意図的に組み合わせてください。 アバターと音声は別々の ID です。音声が明示的に指定されていない場合は、別のものに切り替える前に、選択したアバター名に音声名を合わせてください。
- 画面録画は、壁紙のようにスクロールするのではなく、調査しているように見せてください。 ブラウザーでの証拠提示では、エージェントが主張を検証している様子を見せてください。情報源を開く、見出しに移動する、該当箇所をハイライトする、ページ内検索で機能名を探す、関連段落までスクロールする、タブを切り替えて裏付けとなる記事を表示する、証拠にズームする、といった操作を行います。静的なページ、目的のない移動、繰り返されるヒーロー画像の切り抜き、広告、CAPTCHA、Cookie モーダル、新しい情報を見せない遅いスクロールは避けてください。
- B ロールは飾りではなく、視覚的な説明として使ってください。 各文について、「このアイデアによって、どの場所や画面がどう変化するか?」と考えてください。「創業者」なら「ノート PC の前にいる人」といった、名詞に一般的な画像を当てはめてはいけません。変化が起きる環境を見せてください。Google Doc、カレンダー、SERP、アナリティクスダッシュボード、Slack スレッド、CMS エディター、ブラウザータブ、または変化の前/操作/後を示す製品 UI などです。既存の YouTube チャンネルのスタイルを模倣せず、オリジナルのモダンなエディトリアルモーション、UI のミニストーリー、情報源の証拠、すっきりとした注釈を使ってください。
- すべてのビジュアルをナレーションのビートに合わせて固定してください。 アバター音声は必ず Whisper で文字起こしし、単語レベルのタイムスタンプを取得してください。画面の切り替え、B ロールのカット、字幕、ローワーサードはすべて、実際に単語が発話される秒数に合わせて配置します。想定のタイミングに合わせてビジュアルを重ねてはいけません。
- HeyGen スクリプトの重複を検出してください。 HeyGen のレンダリングでスクリプトが予期せず繰り返される場合があります。ダウンロード後に Whisper のセグメントを比較し、合成前にマスターを最初の重複しない一巡分までトリミングしてください。
- 重ならないゾーンと枠線なし PiP で、視覚的な階層を構築してください。 フックのビートではアバターを全画面表示します。それ以外のすべてのビートでは、アバターをピクチャーインピクチャーで表示します。枠線なし、角丸24px、柔らかなドロップシャドウにし、色付きの硬い枠は使わないでください。実装:Pillow でジョブごとに一度
pip_mask.png(角丸長方形のアルファマスク)とpip_shadow.png(ぼかした暗い形状)を生成します。FFmpeg ではchromakey -> scale -> alphamergeを使ってアバターの角を丸くし、その下にオフセット+4, +16でシャドウを合成します。1920x1080 のマスターでは、デフォルトのサイズを492x276にします。PiP の隅は字幕の配置に合わせて変えてください。 字幕が下部中央揃え(デフォルト)の場合、PiP は右上のx=W-pip_w-50, y=50に配置します。PiP を字幕と同じ帯に置かず、アウトロの CTA 尾部では PiP を完全に非表示にして、リキャップカードに画面を任せてください。静止したタイトルカードは省き、アバターの全画面表示から直接始めます。最後には、アクションステップと常時表示の開示フッターを含むアウトロのリキャップカードを置いてください。 - カラオケ字幕は下部中央に焼き込んでください。 太字の大文字 Arial Black を約64pxで使い、2~3語のまとまりに分け、発話中の単語を黄色で強調します。白いドロップシャドウと5pxの縁取りを付けてください。ASS スタイルは
Alignment=2(下部中央)、MarginL=MarginR=80、MarginV=90とします。Whisper の単語 JSON から生成し、マスターのオフセットを適用してください。左下をデフォルトにしてはいけません。左揃えの字幕は素人っぽく見え、開示オーバーレイとぶつかります。 - マスター音声をラウドネス正規化して、
I=-16:TP=-1.5:LRA=11に設定し、YouTube、LinkedIn、X、ポッドキャストへのアップロードで放送品質に対応できるようにしてください。 - Seedance 2.5 にはデフォルトで fal.ai を使用してください。
tools/fal_seedance_video.pyは、--seedance-version 2.0を渡すかSEEDANCE_VERSION=2.0を設定しない限り、2.5 を対象にします。このアカウントでは2.5の利用権があり、動作確認済み(2026-08-09)のため、2.5のクリップを期待だけの結果ではなく通常の結果として扱ってください。常に守るルールは3つです。(i)ツールを実行するインタープリターにfal_clientをインストールする必要があります(python3 -m pip install fal-client)。そうしないと、すべての Seedance 呼び出しが fal に到達する前にModuleNotFoundErrorで失敗します。(ii)ツールのプレースホルダーガードを絶対に削除しないでください。fal は利用権のない2.5リクエストに対してエラーではなく HTTP 200 とサンプルクリップを返すため、自動の2.0へのフォールバックが、完成動画にストック映像が混入するのを防ぐ唯一の仕組みです。(iii)クリップが2.5由来だと主張する前に、必ず RESULT ペイロードのfell_backを確認してください。現在、trueはアクセス権が失効したことを意味するため、見過ごして納品するのではなく、その旨を伝えてください。2.5は価格が高いため(720pで約$0.4730/s、2.0 standardで$0.3024/s、2.0 fastで$0.2419/s)、動画を支えるショットに使い、つなぎのビートには--fastを使用してください。--fastと--miniは、蒸留版の品質階層がある唯一のバージョンである2.0を指定します。fal Seedance がスロットリングされているか、クレジット切れの場合は、次の順でフォールバックしてください。(a)REPLICATE_API_TOKENが設定され、fal が利用できない場合に限り、Replicate Seedance を使います。(b)実際の情報源のスクリーンショット、UI モックアップ、ストック映像、またはビートを直接説明するタイポグラフィカードを使います。(c)OpenAIgpt-image-2の静止画をquality=high、ネイティブ16:9(2048x1152)で生成し、FFmpeg の Ken Burns でスケールして画面いっぱいにした後、クロップします。(d)local_explainer_broll.pyは、実際の UI/イベント/状態の変化をレンダリングできる場合に限り使用します。抽象的な暗い宇宙、発光、浮遊、象徴的な「AI」画像には絶対にフォールバックしないでください。 - 長時間の HeyGen ジョブは再生成せず、
video_idで復旧してください。 ローカルのポーリングがタイムアウトした場合は、既存の HeyGen ジョブを照会し、完了後にダウンロードしてクレジットの二重請求を避けてください。 - 長いビートの中で B ロールをループさせてはいけません。 Whisper に合わせたビートがクリップより長い場合は、(a)後半用の補完 B ロールを生成する、(b)約2秒までの超過なら
tpad=stop_mode=clone:stop_duration=Nで最終フレームを保持する、または(c)Ken Burns 静止画とクロスカットする、のいずれかを行ってください。ループが見てわかるほどの切り替わりは、短時間フレームを保持するよりも見ていて落ち着きません。 - B ロールはプロンプトの面白さではなく、ビートの目的で選んでください。必ず生成映像より実映像を優先してください。 B ロールは、その瞬間にナレーションが何をしているかで決め、「生成したらかっこいい」かどうかで決めるものではありません。次の基準で選んでください。
- ニュースのビート(「何が変わったのか」): 発表の実際のスクリーンショット(公式ブログ、製品ページ、リリース投稿)→ Ken Burns。生成映像よりも優先します。
- 情報源の証拠: エージェントが操作するブラウザー映像、または証拠となるページの実際のスクリーンショット。生成 B ロールで置き換えてはいけません。
- ストーリー/事例(「創業者が X をする」): 実際の人物がその行動をしているストック映像(Pexels/Pixabay)>エディトリアル写真+Ken Burns>最終手段としての生成。
- 概念/比喩: 抽象的な象徴画像より、タイポグラフィを使った「引用カード」か、実物を写した写真を1枚だけ使うことを優先します。
- 集合的な関心/勢い(「誰もが話題にしている」): Ken Burns を加えた Techmeme/Trends/HN のスクリーンショット、または机上の新聞見出しの写真を使い、「データの星座」のような生成画像は使いません。
- アクションステップ: 矢印/ハイライトのオーバーレイを付けた実際の UI スクリーンショット、または実際に手で操作している様子を使います。空間に浮かぶ発光アイコンは使いません。 生成 B ロール(Seedance、OpenAI Ken Burns)は、各カテゴリーで最後の選択肢とし、そのビートに実際のビジュアルがない場合に限って選んでください。
- すべてのカットを文の切れ目に合わせてください。 信頼できる唯一の情報源は Whisper のセグメントです。ビジュアルは文の途中ではなく、文と文の間の無音部分で切り替え、それぞれのビートが必然的な「映像+考え」の組み合わせとして伝わるようにしてください。
- 合成前にレイアウトゾーンを計画してください。オーバーレイの重なりは、視覚的な不具合の第1位です。 FFmpeg でオーバーレイする前に、各要素がどのゾーンを占めるかを決め、同時に同じ画面領域を共有しないようにします。下部中央に字幕を配置する1920x1080のデフォルトのゾーンマップ:
- 左上(50,50): フック中のみ表示する開示バッジ(約4.5秒までにフェードアウト)。
- 右上(1378,50): 全画面表示でないすべてのビートに表示するアバター PiP(492x276)。
- 中央: B ロール、ブラウザーでの証拠提示、またはアバターの全画面表示。
- 下部の帯(最後の約140px): カラオケ字幕のみ。
- アウトロカード: 下部中央に常時表示する開示フッター、中央にアクションステップ。
2つの要素が同じゾーンを共有する場合は、一方を再設計するか、
enable=の時間帯をずらしてください。
- 必ず音声による CTA の尾部で終わらせ、無音のアウトロにしてはいけません。 アクションの締めの後に、アバターのスクリプトへ6~8秒の CTA を加えてください(例:「If this is useful, hit follow at for more . See you in the next one.」)。新しい音声を再度 Whisper にかけ、話されている CTA の間、アウトロのリキャップカードを画面に表示し続けてください。この最後の部分では PiP を非表示にし、アクションステップに視線が集まるようにします。無音のエンドカードは視聴維持率を下げ、未完成に見えます。
- ブランド要素には、
drawboxのローワーサードではなく Pillow の PNG オーバーレイを使ってください。 Pillow(Image.new("RGBA", (W,H), (0,0,0,0))、ImageDraw.rounded_rectangle、アンチエイリアス処理したテキスト)で、バッジ、ローワーサード、チップ、ボタンを透明 PNG として生成し、[bg][badge]overlay=x:y:enable='between(t,t0,t1)'でオーバーレイしてください。PNG は適切なアンチエイリアス、サブピクセル単位の角丸、透明な縁でレンダリングされます。drawboxは硬いブロックを生成し、プロ品質の字幕や PiP の隣では素人っぽく見えます。 - AI らしさが鼻につく B ロールの美学は、デフォルトで排除してください。 生成クリップしか選択肢がない場合、プロンプトに次のような AI らしさが出る表現を絶対に含めないでください。
- 「dark cosmic / cyberspace / neon grid / glowing particles / data streams / neural network」。
- 「floating」する被写体(足場のない空間に浮かぶノート PC、アイコン、グリフ、デバイス)。
- どのようなロゴのグリフやブランドマークも不可(Android のロボット、Chrome の球体、アプリアイコン、企業ロゴなど。著作権上安全ではなく、すぐに AI 生成だとわかるため)。
- 「magic / ethereal / ethereal blue / volumetric light rays」のようなサイバーファンタジー用語。
- パレット全体をオレンジ/ティールの「Hollywood look」にすること。
- 抽象概念の象徴的なビジュアル化(「データの星座」、「2つのオペレーティングシステムの融合」、「AI の脳」など)。この種の画像は必ず生成したように見えます。 代わりに、プロンプトはドキュメンタリーのようなリアリズムを強制してください。実際の環境にいる人が実際の行動をしている様子、信頼できる光源からの自然光、35mm または50mmの写真らしい質感、浅い被写界深度、ムードに合わせたエディトリアルなカラーグレーディング(温かみのある家庭的な色調、クールな企業風、ニュートラルなドキュメンタリー調)などです。役立つ具体的な表現:「documentary photography」、「editorial portrait」、「natural window light」、「shot on Sony FX3」(または同等の機材)、「shallow depth of field」、「real environment」、「candid moment」。クリップごとに画角を変え(マクロのクローズアップ、中距離のポートレート、環境を広く見せるショットなど)、1つのスタイルの生成画像を並べたモンタージュではなく、実際に編集した映像のようにしてください。
- クリップごとに B ロールの美しさに変化をつけてください。同じような見た目が続くと AI 生成だとわかります。 60~90秒のマスターでは、少なくとも3種類の異なる視覚的な質感を選んでください(例:エディトリアル写真の Ken Burns、手持ちのストック映像、タイポグラフィを使った引用カード)。同じ支配色や構図のクリップが連続しないようにします。「統一されたビジュアル言語」が適用されるのはブランドカード/バッジ/字幕であり、B ロールの内容ではありません。ドキュメンタリー編集が本物らしく感じられるのは、すべてのクリップの見た目が異なるからです。
- OpenAI の画像生成では、デフォルトで
quality=highのgpt-image-2と、ネイティブ16:9サイズを使用してください。 ドキュメンタリーのようなリアルさを求める写真や、マスターでフレーム全体に表示するその他の静止画には、2048x1152(正確な16:9で、両辺が16の倍数)を使用してください。1024x1024や1536x1024をデフォルトにしてはいけません。1920x1080のタイムラインに合成する際にレターボックスの余白が必要になります。許可される例外は、ブランドアイコン/バッジ(1024x1024)と、縦長のポートレートのみ(1024x1536)です。 - B ロールは色付き余白を付けず、フィット・トゥ・フィル+中央クロップで拡大してください。 Ken Burns と画像から動画を生成するすべてのヘルパーでは、元画像をフレームいっぱいに表示し、端がわずかに欠けるように
scale=W*2:H*2:force_original_aspect_ratio=increase,crop=W*2:H*2を使用してください。余白バー(pad=W:H:...:color=#0F1320など)を使うのは、意図的にシネマティックなレターボックスにする場合のみです。デフォルトとして使ってはいけません。ドキュメンタリー写真に使うと素人っぽく見えます。 - AI の静止画像は2~4秒ごと、実際のスクリーンショットは3~6秒ごとにカットしてください。 AI 生成の静止画を1枚だけ約3.5秒を超えて表示してはいけません。長いビート(5秒超)は、異なる写真、同じスクリーンショットの異なるクロップ、または写真/スクリーンショット/カードのテクスチャを交互に使い、必ず2~3カットに分けてください。AI 写真を1枚だけ5秒以上表示すると、生成画像だと宣伝しているようなものです。カットを速くすることでドキュメンタリーの雰囲気を保てます。
- すべてのビジュアルに、編集上の役割を1つだけ割り当ててください。 ストーリーボードでは、各ショットを次のいずれか1つに限定して分類します。証拠(「これは実際のことです」)、仕組み(「こういう仕組みです」)、結果(「これが重要な理由です」)、アクション(「こうしてください」)、切り替え(「次のアイデアに移ります」)。役割のないショットは埋め草なので削除してください。連続する2つのショットが同じ役割で同じ情報源を使う場合、2つ目は別の詳細を証明するものにするか、別のショットに差し替えてください。
- ニュース/解説動画を編集する前に、情報源デッキを作成してください。 タイムラインの組み立て前に、役割が重複しない情報源アセットを集めます。公式発表のヒーロー画像、該当段落の切り抜き、機能セクションの切り抜き、製品/UI 画像、執筆者名/日付の切り抜き、記事まとめサイト、見出し一覧、アクションに関連する UI などです。1つのウェブサイトのヒーロー画像を一般的な壁紙のように使い回してはいけません。同じウェブサイトを複数回表示する場合は、表示のたびに異なる疑問に答えるようにしてください。
- スクリーンショットと画面録画は、背景の質感ではなく証拠として使ってください。 スクリーンショットは、見出し、執筆者名/日付、正確な表現、機能 UI、媒体の一覧、数値、引用、アクションステップなど、特定の文を証明する必要があります。画面録画には、カーソルの移動、ページ内検索、対象箇所へのスクロール、表現のハイライト、タブの切り替え、情報源の証拠オーバーレイ、画面の分割比較など、操作を含めてください。新しい事実を見せない遅いスクロールは禁止です。
- ストーリー/事例のビートでは、変化が起きる作業画面を見せてください。 表情やボディランゲージそのものが重要な場合を除き、影響を受ける人物を映してはいけません。「創業者が Google Docs で仕事をしている」なら、コメント、TODO、日付、画像のサムネイル、貼り付けたグラフ、カーソル操作で進むアクションカードを含む、もっともらしい Google Docs 風のローンチ計画を見せます。ビジュアルは、変更前の状態 -> カーソル操作/アクション -> 役立つ変更後の状態、と進む必要があります。
- モダンなエディトリアルモーションの表現を使ってください。 すばやい UI の挿入、情報源の証拠カード、細い角丸のコールアウトボックス、カーソルに連動した表示、画面分割、見出しのモンタージュ、マッチカット、変更前/変更後の UI、正確な表現へのタイトなプッシュインを優先します。一般的なストック映像の人物、繰り返されるウェブサイトのズーム、Ken Burns だけの遅いシーケンス、装飾的なグラデーション、文と関連しているように見えるだけで説明にならないショットは避けてください。
- 最終合成の前に、B ロールのレイアウト QC/編集パスを実行してください。 生成画像、UI カード、スクリーンショット、動画 B ロールは、レンダリングされただけでは承認されません。マスターを合成する前に、すべての B ロールアセットに対して
tools/broll_layout_qc.pyを実行し、安全マージン、字幕帯、アバター PiP のオーバーレイを含む確認用フレーム/コンタクトシートを作成してください。それらのフレームを開いて内容を確認し、各アセットをpass、crop-edit、layout-edit、re-render、replaceのいずれかに分類します。PiP の下に重要なテキスト/顔がある、重要なコンテンツが字幕帯にある、文字が窮屈に見える、間隔がずれている、画面端が不自然に接している、ビジュアルの役割が不明確、といったアセットは不合格にしてください。 - B ロールのレイアウト問題は、最も低コストの順に修正してください。 まずクロップ/リフレーム(
scale-to-fill、crop、x_expr/y_expr、zoompan の開始/終了)を行い、次にレイアウト/静止画を編集し(Pillow/Remotion/HTML)、その後、プロンプトを修正して再レンダリングし、最後にショットを差し替えます。間隔が明らかにおかしい生成 B ロールを「ほぼ正しい」からと受け入れてはいけません。間隔や構図のミスは、センスに関わる問題です。 - 有料ソーシャル向け UGC には
ugc-ai-adを使い、avatar-explainerは使わないでください。 コンバージョン、アプリのインストール、リード獲得、ウェイトリスト登録、オファーのテストが目的の TikTok/Reels/Shorts 広告リクエストは、UGC レシピに振り分けます。デフォルトは9:16、15~45秒、手持ちスマートフォンで撮影したリアルさ、テンポの速い字幕、明確な CTA 1つです。 - 権利がある人、またはユーザーから使用許可を得た人のみを参照してください。 実在人物の画像を品質/スタイルの参照として使う場合でも、出力するクリエイターは新しい架空の人物にする必要があります。参照人物が製品を推奨したと主張してはいけません。公人を再現したり、個人レベルで識別できる類似性を保ったり、ユーザーが所有していない、または使用許可を得ていないプライベート写真を使ったりしてはいけません。
- 生成前に UGC キャラクターの設定資料を作成してください。
character_card.jsonを保存し、creator_name、架空のプロフィール、年齢層、服装、髪型、肌の色、音声スタイル、アクセント、カメラの前での雰囲気、許可された主張、visual_seed、voice_seed、参照アセット、ネガティブプロンプトを記録してください。すべての広告バリエーションで同じカードを使用します。 - Seedance の前に、OpenAI の画像編集で架空のクリエイターを作成してください。 写真品質の参照として、ライセンスを取得した、またはユーザー提供の実在人物の写真を1枚用意します。OpenAI
gpt-image-2をquality=highで使用し、自然な肌の質感、レンズらしさ、照明、画像の忠実度を維持しながら、はっきりと異なる架空のクリエイターに変換します。少なくとも3種類の参照を生成します。顔のヒーローポートレート、カメラに向かって話す中距離のフレーム、環境を広く映したフレームです。 42a. クリエイターの静止画プロンプトはすべて、Hyper-Realistic Image SOP に従って作成してください。 架空のクリエイターや超リアルなキャラクターのためにimage_provider.pyを呼び出す前に、HYPERREALISTIC_IMAGE_SOP.mdに従ってください。参照を調べ、最も特徴的な5つの詳細を列挙し、12項目のフレームワーク(被写体、肌の質感、目/眉/鼻/口、髪、布地レベルの服装、ポーズ、環境、カメラ/レンズ、照明、ムード、AI らしさを避ける注意事項、ネガティブプロンプト)を記入して、標準 JSON を出力します。AI らしさを避ける注意事項とネガティブプロンプトの項目が重要です。出力が AI 生成に見える原因(滑らかで毛穴のない肌、左右対称の顔、プラスチックのような髪、ぼやけたアクセサリー、CGI のような布地)を防ぐためのものだからです。gpt-image-2にはネガティブプロンプト欄がないため、それらを明示的な「避ける/絶対に描画しない」という指示としてポジティブプロンプトに加えてください。最終 JSON は参照画像と一緒にassets/character/に保存し、すべてのバリエーションで再利用します。 - Seedance の一貫性制御は意図的に使ってください。 UGC クリップごとに、選択したキャラクターの参照画像を渡し、可能であれば短い参照動画または参照音声も渡してください。fal の Seedance には seed 入力がないため、参照がアイデンティティを制御する唯一の手段です。ビートごとにショットの動作/カメラのプロンプトだけを変更してください。シーンごとに新しい顔を生成してはいけません。顔が変化する場合は、参照を減らす、プロンプトを絞り込む、またはヒーローポートレートを拡大クロップして再実行してください。
- 音声の一貫性は、ビジュアルの一貫性と分けて管理してください。 ナレーションには ElevenLabs の音声クローン/音声デザイン、または固定した音声 ID を使います。
character_card.jsonにvoice_idとvoice_seedを保存します。Seedance で生成した音声を使う場合は、--reference-audioを渡し、音色の変化を QC で確認してください。広告では、ネイティブ音声をショットの一部として意図的に使う場合を除き、制御された ElevenLabs VO と Seedance のビジュアルクリップを優先します。 44a. Seedance のネイティブ音声を複数クリップで使う場合は、最初に承認された音声に固定してください。 最適なフック/トーキングヘッドのクリップを承認したら、そのクリップからノイズの少ない短い WAV を取り出し、後続のすべての Seedance クリップに--reference-audioとして渡してください。組み立てたマスターを Whisper にかけ、納品前にクリップの境界で音声の変化を比較してください。 44b. 外部の音声プロバイダーがクレジット/割当量切れの場合は、Seedance のネイティブ音声にフォールバックしてください。ジョブを止めてはいけません。 ElevenLabs(または選択した TTS)がquota_exceeded/402/クレジット不足を返した場合は、ナレーションを Seedance の音声に切り替えます。スクリプトを文単位で、発話時間が約12秒以下になるよう分割し、それぞれを--mode reference --generate-audioのトーキングヘッドクリップとして生成します(ヒーロー画像の参照+そのチャンクのセリフをプロンプトに含めます)。各クリップのネイティブ音声はそのまま使用します。最初に承認されたクリップからノイズの少ない WAV を取り出し、それを後続のすべてのチャンクに--reference-audioとして渡して音声を固定します(ルール44a)。連結したクリップ音声が連続した VO 音声になります。プレゼンターのビートではトーキングヘッドを表示し、B ロールのビートでは同じ音声を流したまま、その上に B ロールを重ねます。各クリップを Whisper にかけて単語のタイミング(字幕+カットポイント)を取得し、チャンク境界で音声が変化していないか確認します。単一の連続した外部 VO を優先する場合は、OpenAIgpt-4o-mini-tts/tts-1-hd(単語のタイミング取得にはローカル Whisper を使用)も代替手段ですが、Seedance のネイティブ音声ならリップシンクが完璧で、オーバーレイのずれもありません。 - 重い速度圧縮で悪い読み上げを補正してはいけません。 ボイスオーバーの時間を合わせるために約6%を超える速度調整が必要なら、スクリプトを短く書き直すか、音声を再生成してください。12%を超える調整は QC 不合格です。自然なスマートフォン撮影らしい雰囲気が、音声を繰り返し制御できることより重要な UGC では、Seedance のネイティブ音声(
--generate-audio --reference-audio)と固定した外部音声を聴き比べ、より人間らしいテイクを採用してください。 - スマートフォン/UI のショットでは、実際の製品のピクセルを使ってください。 クリエイターがスマートフォン、ノート PC、ダッシュボードを持つ場合、読み取れる UI を生成に頼ってはいけません。製品のスクリーンショットを明示的な参照として使用し、可能な場合はポストプロダクションで実際の画面をトラッキング/合成してください。画面が空白のスマートフォン、偽の白い画面、読めないダッシュボード、生成された製品テキストは QC 不合格です。
- UGC コピーは解説文ではなく、ダイレクトレスポンス型にしてください。 次の構成を使います:パターンを崩すフック -> あまりに具体的な問題 -> 個人的な発見/実演 -> 製品の仕組み -> 証拠または信じられる結果 -> 反論への対応 -> 簡潔な CTA。広告1本につき、切り口1つ、約束1つ、次のステップ1つです。大まかな主張、裏付けのない収入/健康に関する約束、偽の推薦コメントは避けてください。
- 有料アセットを制作する前に、必ず複数のフックを書いてください。 体験談、逆説的な主張、問題の呼びかけ、証拠/根拠、実演から始めるもの、好奇心を引くもの、時間を短縮するもの、変更前/変更後など、異なるタイプから少なくとも5つのフックを作成します。そのうち2~3個を選んで制作し、残りはバリエーション用のスクリプトとして保存します。
- 納品前に参照一致の品質ゲートを実行してください。 インスピレーションを得た広告では、最終レンダリング後に参照分析、ショット計画、文字起こし、未加工/最終音声ファイルを使用して
tools/ad_quality_gate.pyを実行します。顔、手、スマートフォン、UI、画面、CTA、字幕、製品の証拠に関わる、情報量が多くリスクの高い時間帯をすべて確認してからユーザーに見せてください。 49a. 競合のフレームは分析のみに使用してください。 競合広告に着想を得た動画を作る場合、競合の映像は文字起こしのタイミング、シーンの区切り、ショットの意図、テンポを抽出する目的に限って使用してください。競合のフレーム/動画を Seedance/OpenAI の参照メディアとして渡したり、競合のピクセルを最終動画に合成したり、競合のフレームに「一致させる」ようモデルに依頼したりしてはいけません。まず各ソースシーンを、自社で制作するショットの意図(カメラの距離、動作、ビートの目的、テンポ)に変換します。その後、自社で用意したクリエイターの参照、自社製品のスクリーンショット、またはテキストプロンプトのみから生成してください。ユーザーが Seedance のネイティブ音声によるテストを求めた場合、ユーザーが製品画面の合成を明示的に承認しない限り、Seedance 以外に許されるレイヤーは字幕/字幕テキストのみです。 - AI UGC は、洗練されたコマーシャルではなく、実際のスマートフォン撮影のように見せてください。 自然な室内音、わずかなカメラの不完全さ、手の動き、信じられる家庭/オフィス/車内の環境、ジャンプカット、カジュアルな服装、クリエイター固有の話し方を使ってください。完璧なスタジオ照明、滑らかすぎる肌、作り物のインフルエンサーの笑顔、ブランドに完璧に合わせたセット、UGC の信頼感を損なうシネマティックな B ロールは避けてください。
- 広告テストはバッチとして計画してください。 UGC ジョブごとに、フック、最初のフレームに表示するテキスト、クリエイターの参照、オファーの切り口、CTA、seed、クリップのパス、対象プラットフォームを含む
variant_matrix.jsonを出力します。まず実用最小限のバリエーションを制作します:フック3種類 × ボディ1種類。その後、勝ちパターンを新しいボディ、クリエイター、CTA に展開します。
標準的なワークフロー
Stage 0: レシピを選ぶ
インテークの前に、レシピを一覧表示し、ユーザーの目標に合うものを選びます。
python3 .agents/skills/super-video-maker/tools/video_recipes.py list
python3 .agents/skills/super-video-maker/tools/video_recipes.py match --goal "<user request>"
python3 .agents/skills/super-video-maker/tools/video_recipes.py plan --recipe <recipe_id> --goal "<user request>"
デフォルトの振り分け:ニュース/チュートリアルのマスター → avatar-explainer、有料ソーシャル向けクリエイター広告 → ugc-ai-ad、SaaS のデモ → screencast-demo または avatar-product-walkthrough、ポッドキャストのクリップ → longform-repurpose、顔出しなしの短いコンセプト/慣用句解説(切り抜きコラージュ、「In a Nutshell」風のドキュメンタリー調ナレーション) → motion-collage-explainer。
Stage 1: インテーク
以下を収集します。
- 対象プラットフォーム:YouTube、TikTok、Reels、Shorts、広告、ランディングページ、コース、デモ
- 出力アスペクト比:
16:9、9:16、1:1、4:5 - 希望する動画の長さ
- 元素材
- ブランドスタイル
- 行動喚起
- 広告の場合:製品/オファー、ランディングページ、ターゲットペルソナ、ペインポイント、希望するコンバージョンイベント、証拠となるポイント、訴求表現/コンプライアンス上の制限、競合の事例
- UGC 広告の場合:クリエイターのペルソナ、実在の人物の参照画像の使用権、架空のキャラクターに関する方針、音声スタイル、ビジュアルシード、音声シード、フックのバリエーション数
- アバター、顔出しなし、スクリーンキャスト、ハイブリッドのどれを希望するか
生成前に簡潔な計画を提示します。
Stage 2: 台本とショットリスト
以下を作成します。
- 音声用台本
- ビジュアルショットリスト
ugc-ai-adが選択された場合の UGC 広告アングルマトリクス- ソースデッキ(各素材に固有の編集上の役割を割り当てます)
- 各ショットのビジュアル上の役割ラベル:証拠/仕組み/結果/アクション/トランジション
- B ロールのプロンプト
- 画面上のテキスト
- キャプションのスタイル
- 音楽のムード
- エクスポート先
台本の構成:
- フック(最初の 5~6 秒):視聴者が気にかけるべき理由を、一息で伝えます。
- カジュアルなアバター紹介(フックの直後に、アバター自身の声で短い節を入れます):「ちょっとだけお知らせです。こちらは最新情報をご案内する、 のデジタルアバターです。」フックの前に静止した免責事項のスライドを表示してはいけません。
- ニュースの要点:何が変わったのか。
- ストーリー/例:変更を実感できる具体的な状況。
- 情報源の証拠:エージェントが操作するブラウザーの映像、または情報源を示すスクリーンショット。
- アクションステップ:視聴者が次にすべきこと(アウトロカードでは、番号付きの 3 つのステップが効果的です)。
- 音声での CTA(最後の 6~8 秒、必須):アバターがアウトロのまとめカードに合わせて、フォローを促す CTA を話します。例:「このような分析がお役に立つなら、 の情報をもっとお届けしますので、 でフォローしてください。また次回お会いしましょう。」これにより、無音の間延びしたカードではなく、マスターに自然な終わりを与えます。
各ビートのビジュアルブリーフの構成:
- **ナレーション:**正確な台詞または Whisper セグメント。
- **ビジュアル上の役割:**証拠/仕組み/結果/アクション/トランジション。
- **画面:**情報源のページ、UI、ドキュメント、ダッシュボード、カレンダー、エディター、ブラウザータブなど。
- **変更前の状態:**受け身、雑然としている、手作業、未知、または未証明の状態。
- **アクション/動き:**カーソルの移動、ハイライト、クロップ、タブの切り替え、カードの表示、画面分割、モンタージュなど。
- **変更後の状態:**視聴者が新たに理解できること。
- **却下リスト:**このビートで禁止する安易なビジュアル(ノートパソコンの前にいるありきたりな人物、同じヒーローページの再登場、抽象的な AI の脳、浮遊するアイコンなど)。
UGC AI 広告レシピ(ugc-ai-ad)
実在のクリエイターが、手短で信頼感のあるおすすめ、デモ、不満、または発見を伝えているように視聴者に感じてもらいたい場合は、このレシピを使用します。
- オファーを受け取ります。 商品、ICP、課題、望ましいアクション、許可されている訴求、禁止されている訴求、証拠素材、ランディングページ、プラットフォーム、アスペクト比、尺、目標コスト/テスト数を記録します。
- 広告の切り口マトリクスを作成します。 3~5 行の切り口を作成し、それぞれにフックの種類、最初のフレームのテキスト、冒頭のセリフ、中心となる課題、商品の仕組み、証拠となるポイント、払拭する懸念、CTA、コンプライアンス上のリスクを含めます。
- クリエイターを選びます。 ユーザー提供またはライセンス取得済みの実在人物の写真は、写真の参考としてのみ使用します。名前、経歴、スタイリング、服装、環境が異なり、顔にも十分な違いを持たせて、本人の再現を避けた、独自の架空のクリエイターを設定します。
- 参考画像を新しい架空のキャラクターに編集します。 OpenAI
gpt-image-2、quality=high、input_fidelity=highと、利用可能な中で最も高品質なソース画像を使って、tools/image_provider.py editを実行します。リアルなUGCクリエイター、自然なスマートフォンカメラの質感、信頼できる肌、ビューティーフィルターのような見た目を避けること、ブランドロゴを入れないこと、元の人物のアイデンティティを引き継がないことを指示します。承認済みの出力をassets/character/creator_hero.pngとして保存します。 - 参考素材一式を生成します。 承認済みのヒーロー画像から、
creator_face.png、creator_medium_phone.png、creator_wide_environment.pngと、必要に応じて 2~3 秒のアイドル状態の参考動画を作成します。これらをcharacter_card.jsonと一緒に保存します。 - 参考素材と音声を固定します。 ElevenLabs の
voice_seedまたはvoice_idを保存します。バッチ内のすべてのクリップで、承認済みの同じ参考素材一式を再利用します。変えるのはショットの動作、フックのテキスト、CTA のみにします。fal の Seedance(2.5 または 2.0)には seed の入力機能がないため、顔は参考画像のみで維持されます。visual_seedはバッチのラベルであり、一貫性を制御するものではありません。 - fal.ai 経由で Seedance 2.5 を使ってクリップを制作します。 承認済みのクリエイター参考素材には、
tools/fal_seedance_video.py generate --mode referenceと--reference-imageを使用します。Seedance のネイティブ音声/リップムーブメントを意図して使用する場合は--reference-audioを指定し、広告ナレーションを細かく制御する場合は ElevenLabs の音声トラックを別途使用します。各ビートは、カメラに向かって話すクリエイター、商品を手に持つ様子、画面のデモ、肩越しにアプリを使う様子、リアクションショット、レシート/証拠のショット、CTA の締めなど、スマートフォンで撮影した自然なシーンとして指示します。 - UGC 広告らしく編集します。 視聴者がキャプションを読む前に、最初のフレームでフックが伝わるようにします。ジャンプカット、パターン割り込み、大きな画面下部のキャプション、商品/UI の挿入、素早い証拠のオーバーレイを使い、間延びした部分は入れません。
- 信憑性、音声、映像、コンプライアンスについて品質を確認します。 顔の変化、滑らかすぎる肌、不自然な手や歯、リップシンクのずれ、偽のプラットフォームロゴ、何も表示されていないスマートフォン画面、読めないまたは生成された商品 UI、実現不可能な商品訴求、ユーザーがその体験を提供していないのに実在顧客の体験を示唆する証言表現は却下します。参考素材をもとにした広告では、
tools/ad_quality_gate.pyを実行し、秒ごとの参考素材/候補シートと、リスクの高いすべての高密度ウィンドウのシートを確認します。 - テスト用のバリエーションを書き出します。 まず
9:16のマスターを書き出し、指定があれば1:1または4:5も作成します。variant_matrix.json、最終版の MP4、キャプション、キャラクター参考素材、seed、プロンプト、品質確認メモをジョブフォルダーに保存します。
本文を書く前に使用するUGCのフックの種類:
- 告白: 「これを試すのをやめようかと思ったのは……」
- 逆張り: 「<結果>を得たいなら、<よくある行動>はやめましょう。」
- 問題提起: 「<悩み>が何度も起きるなら、まずこれを確認してください。」
- 証拠: 「<期間>、<もの>を試してみたら、こう変わりました。」
- デモから開始: 「<具体的な操作>をするとどうなるか、見てください。」
- スピードラン: 「3つの手順で、<短い期間>のうちに<悩み>を解決しました。」
- ビフォー/アフター: 「これが<商品/行動>前の<散らかった状態>で、これがその後です。」
- 好奇心を引く: 「意外なのは<明らかなこと>ではなく、<具体的な仕組み>です。」
UGC の本文パターン:
- 課題 -> 小さなデモ -> 効果 -> CTA。
- 従来の方法 -> 新しい方法 -> 実証 -> CTA。
- 誤り -> 修正 -> プロダクトの仕組み -> CTA。
- 懐疑的な人 -> テスト -> 結果 -> 反論 -> CTA。
Seedance のプロンプトのひな形:
Handheld vertical phone video. Fictional UGC creator from reference images,
same face, same hair, same wardrobe family, natural skin texture, no beauty
filter. <specific beat action>. Real <home office / kitchen / parked car /
desk> environment, natural light, casual speech energy, slight handheld motion,
believable phone-camera exposure. No logos, no subtitles in the footage, no
perfect studio lighting, no face morphing, no extra people.
HeyGen でアバターをレンダリングしたら、すぐに次を行います。
- FFmpeg(
-vn -acodec libmp3lame)でアバターの音声を抽出します。 - OpenAI Whisper(
response_format=verbose_json、timestamp_granularities=['word','segment'])で文字起こしし、単語単位およびセグメント単位のタイムスタンプを取得します。 - セグメントを確認します。スクリプトが重複している場合は、最初の重複のないパスの最後の秒にアバターのトリム終了位置を設定します。
- 各セグメントをレイアウト(アバター全画面/Bロール PiP/ブラウザー PiP)、映像上の役割、サーフェス、ビフォー/アクション/アフターの説明、ソースデッキのアセット、章のタイトル、出典表記に対応付ける
storyboard.jsonを作成します。 - 以降のすべての工程で、これらの正確なタイムスタンプを使用します。対象はキャプション、セグメントのカット、ローワーサードです。
ステージ 3:アセットの生成
次のルーティングルールを使用します。
- プレゼンター/アバターのクリップには HeyGen。
- 映画のようなBロールや生成モーションには Seedance 2.5。
- UGC のキャラクターの一貫性を保つクリップには Seedance 2.5 の参照画像モード。
- ストーリーボード、静止画、サムネイル、挿入映像、架空の UGC クリエイターのリファレンスには OpenAI の画像生成/編集。
- 一貫性のあるエージェント操作のブラウザー映像には
agent_browser_recorder.py。 - より低レベルなプロダクトのウォークスルー録画には
screen_recorder.py。 - fal/Seedance が利用できない場合、クレジット不要の代替手段として
local_explainer_broll.py。 - 利用可能な場合、ナレーションと音楽には ElevenLabs。
ステージ 4:タイムラインの組み立て
次の合成エンジンを選択します。
- React タイムライン、再利用可能なプロダクトのモックアップ、キャプション付きトーキングヘッド、Bロールのオーバーレイ、ブラウザーのプレビューには Remotion。
- HTML ネイティブのタイムライン、決定論的なフレームキャプチャ、GSAP/Lottie/CSS アニメーション、エージェント向けのブラウザープレビューには HyperFrames。
- 実用的な合成、マルチプレクス、クロマキー、字幕、音声、最終的なプラットフォーム用書き出しには FFmpeg。
ステージ 5:QC と書き出し
必ず次を確認します。
- 動画ストリームがあり、解像度が想定どおりであること。
- 想定される場合、音声が存在すること。
- 再生時間が目標範囲内であること。
- キャプションが読みやすく、同期していること。
- 目立つ黒フレームがないこと。
- 最終コーデックに互換性があること:
libx264、aac、yuv420p。 - Bロールのレイアウト QC コンタクトシートが確認済みで、合格しなかったアセットがすべて修正または差し替え済みであること。
主なツール
python3 .agents/skills/super-video-maker/tools/video_recipes.py list
python3 .agents/skills/super-video-maker/tools/video_recipes.py test
python3 .agents/skills/super-video-maker/tools/heygen_client.py
python3 .agents/skills/super-video-maker/tools/fal_seedance_video.py generate --mode reference --prompt "@Image1 handheld UGC creator..." --duration 7 --resolution 1080p --aspect-ratio 16:9 --reference-image assets/character/creator_hero.png
python3 .agents/skills/super-video-maker/tools/fal_seedance_video.py generate --mode reference --prompt "@Image1 and @Image2 show the same fictional creator. Handheld vertical phone video..." --duration 5 --resolution 720p --aspect-ratio 9:16 --reference-image assets/character/creator_hero.png --reference-image assets/character/creator_medium_phone.png
python3 .agents/skills/super-video-maker/tools/image_provider.py edit --reference-image real_person_reference.jpg --prompt "Create a distinct fictional UGC creator..." --size 1024x1536 --quality high --input-fidelity high --model gpt-image-2
python3 .agents/skills/super-video-maker/tools/agent_browser_recorder.py
python3 .agents/skills/super-video-maker/tools/local_explainer_broll.py
python3 .agents/skills/super-video-maker/tools/screen_recorder.py
python3 .agents/skills/super-video-maker/tools/demo_video_composer.py
python3 .agents/skills/super-video-maker/tools/video_captioner.py
python3 .agents/skills/super-video-maker/tools/ffmpeg_qc.py
python3 .agents/skills/super-video-maker/tools/broll_layout_qc.py
成果物の形式
各ステージの最後に、次の形式の1行を出力します。
RESULT: {"status":"succeeded","stage":"asset_generation","job_id":"video_001","artifacts":[{"type":"video","path":"output_videos/clip.mp4"}],"metrics":{"duration_seconds":7,"aspect_ratio":"16:9"},"next_action":"assemble_timeline"}
失敗した場合:
RESULT: {"status":"failed","stage":"asset_generation","error":"friendly explanation","debug_log":"tmp/video_jobs/video_001/log.txt"}
プロバイダーのデフォルト設定
- アバター:HeyGen。
- AI 動画の Bロール:fal.ai
bytedance/seedance-2.5/reference-to-video。--fastを指定するとbytedance/seedance-2.0/fast/reference-to-videoに固定されます。蒸留版のティアがあるのは 2.0 のみです。 - 画像:OpenAI の画像生成/編集。
- 音声:ElevenLabs。
- 音楽:まず ElevenLabs Music、次に設定済みの場合は Replicate または Suno アダプター。
- プログラムによる編集:Remotion。
- HTML ネイティブの編集:HyperFrames。
- 最終レンダリング/QC:FFmpeg と ffprobe。
このスキルを使用しないケース
- ユーザーが単一の画像だけを求めている場合。
- ユーザーが動画作業なしのプレーンな文字起こしだけを求めている場合。
- ユーザーが手動の Premiere/DaVinci の手順を求め、自動化を望んでいない場合。