Communitygithub.com

商品広告動画(コード生成)

コードのみで短い商品プロモーション動画やローンチ動画を制作します。Remotionを使った2Dモーショングラフィックス、またはBlenderでスクリプト化された「Apple風」の3D商品広告に、合成効果音、BGM、AIナレーションを加え、MP4としてレンダリングします。プロジェクト、アプリ、リポジトリのプロモーション動画や「Spotify/AirPodsの広告のような動画」を依頼されたときに使用します。

商品広告動画(コード生成) とは?

このスキルは、動画編集ソフトを使わずに、コードだけで15~20秒のプロフェッショナルな商品広告動画を生成するパイプラインを提供します。すべてのフレーム、サウンド、ナレーションがスクリプトで生成されるため、動画全体が再現可能で、テキストベースで編集可能です。2D(Remotion/React)と3D(Blender/ヘッドレス)の2つのビジュアルスタイルをサポートし、合成効果音、96BPMの音楽トラック、AIによるナレーション(Kokoro TTS)を自動生成します。ワークフローは、製品調査と概要作成、ストーリーボードの作成、ビジュアルの開発、サウンドとナレーションの追加、最終的なMP4へのレンダリングという6つのステップで構成されており、Claude CodeやCodexなどのAIエージェントが対話的に実行できます。各ステップの詳細なリファレンスファイルが用意されており、ユーザーに正確で誠実なコピーを提供することに重点を置いています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dhananjay-alt/product-ad-video-skill/tree/HEAD/product-ad-video

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

商品広告動画、コードで作る

動画編集ソフト不要の、15~20秒の商品広告を生成するパイプライン。すべてのフレーム、サウンド、ナレーションがスクリプトで生成されるため、全体を再現可能かつテキストベースで編集できます。

プロジェクトの事実 ─► 概要 + ストーリーボード ─► ビジュアル ─────────────► Remotionレンダリング ─► MP4
                                       ├ 2D: React (Remotion)       ▲
                                       └ 3D: Blender (ヘッドレス) ─► JPGフレーム
                                       サウンド: scripts/score.py ─► WAV ┘
                                       ナレーション: scripts/kokoro_tts.py ─┘

動作例 (GhostCommits、実ファイル): examples/ghostcommits/

ステップ1 — 製品を理解し、概要を書く

README、ランディングページ、コードを読む。抽出するもの: 一行のピッチ、3~4の具体的な証明ポイント(形容詞より数字: 「1ファイル」、「ログイン不要」)、CSSからブランドカラー、ロゴのSVG、URL。主張してはいけないことを書き留める(例:「テストネットのみ」、「匿名ではない」、ユーザー数なし)。画面上のすべてのテキストとナレーションは、このリストと照合されます。ブランドがすでに定義していない場合にのみ、ユーザーにパレット/スタイルを選んでもらいます。

ステップ2 — ストーリーボード(構築前に.mdファイルに書く)

18秒 @ 30fps = 540フレーム。各約2.5秒(75フレーム、= 96BPMで1小節、カットがビートに合う)の5~6ショット。各ショット: フレーム、カメラ/モーション、画面上のテキスト、サウンド。3~4秒のエンドカード(名前、タグライン、URL)で終わる。テンプレート: references/storyboard.md

ステップ3a — 2Dスタイル(Remotion)

キネティックタイポグラフィ + フラットシェイプ、「Spotify Wrapped」のようなエネルギー。references/remotion-2d.mdを参照。npx create-video@latest --yes --blank --no-tailwind video でプロジェクトを作成し、広告ごとに1コンポーネント、useCurrentFrame() + interpolate とイージングのみで制御。CSSトランジションは不使用。

ステップ3b — 3Dスタイル(Blender、ヘッドレス)

黒い背景の中で光沢のあるヒーローオブジェクト、マクロのクローズアップ、表面を横切る光の筋、ハードカット、左下に大きな統計値と小さなキャプション。references/blender-3d.mdを参照。1つのPythonスクリプトでシーンを構築し、すべてのショットのキーフレームを設定し、フレームをレンダリング: blender -b --factory-startup -P scene.py -- anim ../public/frames。Remotionでフレーム上にテキストを重ねる(examples/ghostcommits/GhostAdV2.tsx)。フルアニメーションの前に、まず2~3枚の静止画をレンダリングして確認する。

ステップ4 — サウンド(scripts/score.py)

JSONのキューシートを書く: アニメーションコードのフレーム番号をキーにした、視覚的イベントごとのエントリ(カット → cut_hit、オブジェクトが飛び込む → whoosh、着地 → click/lock、光の筋 → glint、エンドカード → impact、ビルドアップ → riser)。その後 python scripts/score.py cues.json を実行。すべてをシンセサイズし(サンプルもライセンスも不要)、break_frame でドロップし end_frame で解決する96BPMのBGMを追加し、秒ごとのラウドネスを表示して聴かずにチェックできる。詳細とゲインガイド: references/sound.md

ステップ5 — ナレーション(オプション)

短い行、≤6語、ショットごとに1つ、画面上のテキストに合わせる。最良の無料オプション: python scripts/kokoro_tts.py lines.txt vo/(ホスト型Kokoro、3つの声を比較)。ファイルをキューシートの voiceover リストに追加。開始時刻はそのショットのテキストが表示される時刻。score.py が無音をトリミングし、ナレーション中は音楽をダッキングする。各行の長さを測定し、次の行が始まる前に終了することを確認する。オプションと教訓: references/voiceover.md

ステップ6 — レンダリングと納品

コンポジション内で <Html5Audio src={staticFile("audio/soundtrack.wav")} /> を使用し、npx remotion render <CompositionId> out/ad.mp4 を実行。MP4をユーザーに送る。音声は聞こえないことを明確に伝える: レベルとタイミングは数値的にチェックされており、耳では確認していない。

重要なルール

  • 正直なコピー: 製品が裏付けられない主張はしない。注意事項(ベータ版、テストネット)は画面上に表示する。
  • 特定のブランドの広告(ロゴ、音楽、キャラクター)を再現しない — スタイルのみを借用する。
  • テキストは1080pで48px以上、表示時間は1.2秒以上、左下または中央、ヒーローの顔の上には決して置かない。
  • フルレンダリングの前に静止画をレンダリングし、すべてのショットから1フレームチェックする。
  • 生成されたフレーム/音声はgit管理外に置く(.gitignore)。スクリプトとストーリーボードだけをコミットする。

関連スキル