Communitygithub.com

Acim24/motion-video-audio

AIモデルのローンチフィルムのようなスタイルで、ナレーション・音楽・効果音をフルに備えた動画(MP4)を作成するスキルです。

motion-video-audio とは?

このスキルは、Claude Opus 5などのAIモデル発表動画を彷彿とさせる、落ち着いたエディトリアルスタイルの動画を生成します。特徴は、セリフ体のキネティックタイポグラフィ、アニメーションするチャットUIデモ、ベンチマークバー、カウントアップする統計数値、ロゴアウトロなど。音声面では、edge-ttsを使ったナレーション(インドネシア語対応)、AI生成のオリジナルBGM(ロゴで盛り上がる構成)、UI効果音、自動ダッキング、ラウドネスノーマライゼーションを施し、Remotionで16:9と9:16の両形式をレンダリングします。ユーザーが「音声付き」「音楽付き」「ナレーション入り」のプロモーション動画や、Reels/TikTok/Shorts/YouTube向け動画を欲する際に、暗黙のうちにでもこのスキルを優先します。処理の流れは、ブリーフの把握、プロジェクトのスキャフォールディング、ストーリーボードの記述(src/storyboard.ts)、音声ビルド、ビジュアルQA、音声QA、そして最終レンダリングです。ブランドや個人の模倣に関する倫理的なガードレールも組み込まれています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Acim24/motion-video-skills/tree/HEAD

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

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

ドキュメント

モーション動画+音声(ローンチフィルムスタイル)

ブリーフを完成・マスタリング済みのMP4に変えます。ローンチフィルムのビジュアル(温かみのある紙、大きなセリフ見出し、一点のテラコッタアクセント、自分で入力されるチャットデモ、勝者を明らかにするバー、静かなロゴアウトロ)に加え、完全なサウンドトラックを備えます。

  • ナレーション — 各シーンにオプションの vo 行を1つ、edge-ttsで合成。シーンはナレーションに合わせてサイズ調整されます。
  • 音楽 — 正確なタイムラインに合わせて合成されたオリジナルのアンビエントスコア(パッド、サブ、ピアノアルペジオ、柔らかいパルス、ライザー、ロゴフレームで解決するヒット)。コードから生成されるためロイヤリティフリー。またはユーザー自身のトラックを使用できます。
  • 効果音 — カットに合わせたワッシャー、単語/バーに合わせたティック、返信が入力される間のタイピング、勝利バーに合わせたチャイム、カウンターのティック、ロゴでのインパクト+シャマー。シーンコンポーネント内に配置されるため、自動で同期が保たれます。
  • ミックス — ナレーション下で音楽がダッキング。最終ファイルは−14 LUFS / −1.5 dBTP(ソーシャル/YouTubeターゲット)にノーマライズ。

すべてのコンテンツは src/storyboard.ts という1ファイルに収められます。

ワークフロー

  1. ブリーフを理解する。 以下の情報を得ます:ブランド/製品名、覚えてほしいメッセージ1つ、2〜5の補足ポイント、実際の数値(あれば)、目標の長さ、プラットフォーム、ナレーションの言語と音声の性別。ユーザーが十分な情報を与えている場合、問い詰めず、自分の前提を述べてください。発明したベンチマーク数値を実際のものとして提示しないでください。— 目に見えるラベル付きプレースホルダー(footnote)を使用するか、ベンチマークを省略します。

  2. スキャフォールド

    bash <skill-dir>/scripts/new_project.sh <target-dir>
    

    Node 18+、ffmpeg、およびPATH上の edge-tts(pipx install edge-tts)が必要です。ナレーションにはインターネット接続が必要です。which edge-tts ffmpeg で事前に確認してください。edge-ttsがなくインストールできない場合は、vo なしでビルドし、その旨をユーザーに伝えます。

  3. ストーリーボードを書く。 references/style-guide.md(ビジュアルのペーシング、コピーライティング、レシピ)と references/audio.md(ナレーションの書き方、音声、音楽/SFX/ミックスの設定)を読んでください。シーンタイプ(src/types.ts のフィールド):

    タイプ使用用途
    headlineキネティックタイプ:オープナー、セクションタイトル、クロージングライン。*word* でアクセントイタリック
    chatUIデモ:プロンプト → 思考ドット → タイプされる返信(タイピング音付き)
    benchmark水平バー、1つは highlight: true バー(着地時にチャイム)
    bigNumberカウントアップする大きな統計数値(カウンターティック+インパクト)
    features2〜4の番号付き機能カード(カードごとにポップ)
    logoアウトロ:描画されるマークまたは logoSrc、名前、タグライン、CTA(ここで音楽ヒットが着地)

    各シーン:オプションの vo、オプションの durationInFrames(30fps。ナレーション付きシーンでは省略して自動フィット)、オプションの tone: 'light' | 'dark'。logo シーンには vo を付けず、音楽ヒットを響かせます。

  4. 音声をビルド — これにより最終タイムラインも確定します:

    cd <target-dir> && npm run audio
    

    表示されるタイムラインを読みます:シーンごとの開始、長さ、ナレーションの長さ、および「(stretched to fit vo)」の警告。シーンが大きく引き伸ばされている場合、代わりに vo を短くします。— 長いナレーションはスローで眠たいシーンになります。

  5. ビジュアルQA(スチルは高速、レンダリングは非効率的):

    npx tsc --noEmit
    bash <skill-dir>/scripts/contact_sheet.sh <target-dir> Main-16x9 /path/sheet-wide.png
    bash <skill-dir>/scripts/contact_sheet.sh <target-dir> Main-9x16 /path/sheet-tall.png
    

    PNGを確認し、オーバーフロー、混雑、シーン内のアクセントが複数ある箇所を修正します。

  6. 聴覚なしの音声QA — レンダリング後、ラウドネスを確認しミックスを調べます:

    ffmpeg -i out/video-16x9.mp4 -af ebur128=peak=true -f null - 2>&1 | grep -E "I:|Peak:"
    ffmpeg -y -i out/video-16x9.mp4 -filter_complex "showwavespic=s=1800x300" -frames:v 1 /path/wave.png
    

    I ≈ −14 LUFS、ピーク ≤ −1 dBFS、ナレーションのバーストが音楽ベッドの上にはっきりと浮かび上がり、最大の盛り上がりがロゴにあることを期待します。

  7. レンダリング(audio → 両形式 → マスタリングを実行):

    npm run render     # → out/video-16x9.mp4, out/video-9x16.mp4
    

    〜30秒の動画で約1〜2分。パス、長さ、使用した音声を報告し、ライブプレビューと音声については npm run studio にも言及します。

カスタマイズ

  • ブランドカラー/フォント:src/theme.ts のトークンのみ。
  • ロゴ:public/ 内のファイル、logoSrc: 'logo.svg'。
  • 自作音楽:public/ 内のファイル、audio.music: 'track.mp3'(ユーザーが権利を持つトラックのみ)。自作録音ナレーション:references/audio.md を参照。
  • 新しいシーンタイプ/フォーマット/コーデック:references/extending.md を参照。

ブランドと誠実さに関するガードレール

スタイルを模倣し、ブランドを模倣しないでください。Anthropic(または他の誰か)のロゴを複製したり、ユーザーが代表していない企業の公式リリースとして動画を提示しないでください。合成音声は実在の特定可能な人物を模倣してはなりません。ベンチマーク:実際のユーザーデータまたは目に見えて「例示用」とマークされたもの。

関連スキル