Communitygithub.com

ビデオディレクター(video-director)

アイデアやスクリプトから完成品のMP4を生成するオールインワンAIビデオパイプライン。HyperFrames、Lottie、ManimCE、GSAP、文字起こし・字幕承認フローを統合します。

ビデオディレクター(video-director) とは?

このスキルは、AIエージェントがビデオ制作の指揮者として機能できるようにするものです。エージェントは、プロンプト(「動画を作って」「Xを説明する動画」「製品紹介」「プロモ動画」など)を受け取ると、まずビートごとに最適なレンダリングエンジンをルーティングします。GSAP(ライブテキスト/モーション)、Lottie(ブランドモーショングラフィックス)、ManimCE(数式・概念アニメーション)、Three.js(3D表現)を状況に応じて使い分け、最終的にはすべてをHyperFramesの単一HTMLコンポジションにまとめます。フレームごとにHeadless Chromeでシーク→FFmpegでエンコードするため、時間駆動型要素とプリレンダリング要素(Manimなど)を厳密に区別します。また、`FRAME.md`でブランド統一を強制し、`npx hyperframes lint`やフレームのスポットチェックによる自己検証ゲートを通過した後に`npx hyperframes render`でMP4を出力します。Node 22+、FFmpeg、Python 3.11+が必要で、不足する機能はスキップするなどグレースフルに動作します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bigyangg/skillset-buddhimanai/tree/HEAD/skills/media/video-director

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

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

ドキュメント

ビデオディレクター

できること

AIによるビデオ制作の指揮者です。エージェントは各ビートに必要なものを判断し、適切なレンダリングエンジンにルーティングし、すべてを1つのHyperFramesコンポジションにまとめ、frame.mdを介してブランド一貫性を強制し、自己検証を行い、MP4にレンダリングします。

このスキルは、マルチエンジンビデオ合成のためのルーター兼作業リファレンスです。該当するエンジンを使用する場合のみ、そのリファレンスファイルを読み込んでください。

たった一つのルール(すべてを決める)

HyperFramesは、各フレームを ヘッドレスChromeでシーク → FFmpegでエンコード します(frameIndex = floor(t·fps)、同じ入力 → 同じ出力)。したがって、すべてのビジュアルは次の2種類のいずれかです。

パターン実行タイミングエンジンルール
ライブシーク可能アダプターレンダリング内部で、フレームごとに時刻tで駆動GSAP、Lottie(window.__hfLottie)、Three.js、GSAPプロキシonUpdateで駆動されるCanvasクロック駆動であること — Date.now()、Math.random()(Multi32でシードを固定)、setTimeout、.play() は不可
プリレンダリングアセットオフラインで実行、ファイルを出力し、クリップとしてインポートManimCE(Python→MP4/アルファ)、TTS音声、背景除去最初にレンダリングし、その後<video>/アセットクリップとして配置

シークできるならアダプター、できないならプリレンダリング。 Manimは常にプリレンダリングクリップです — Pythonで動作し、ライブアダプターにはなりません。

各ビートをエンジンにルーティング

「Xをティーザー/プロモとして説明(高速、パンチ)」 → references/teaser-explainer.md
「概念/数学/アルゴリズム/アニメーションを説明」   → ManimCE   (プリレンダリングクリップ)
「ブランドモーション:ロゴスティング、統計表示、アイコン出現」  → Lottie    (ライブ、lottie-web)
「キネティックキャプション、タイトル、情報表示、データコールアウト」  → GSAP      (ライブ)← デフォルト
「3D / 空間」                                        → Three.js  (ライブ)
音声 → キャプション                                 → 文字起こし + 承認Webアプリ
音声ナレーションなし                                 → TTS(Kokoro: `npx hyperframes tts`)
ブランドカラー/フォント/モチーフ                     → frame.md  (最初に読み込み)

GSAPはテキスト/モーションの信頼できるデフォルトです。デザインされたブランドグラフィックにはLottie、アイデアをアニメーションで説明するにはManimを使用します。

ワークフロー

  1. ビートを計画する。 ナラティブアーク + 各ビートに必要なエンジンを決定。16:9 または 9:16 を選択。
  2. ブランドを設定する。 プロジェクトルートにFRAME.mdがあることを確認。すべてのカラー/フォント/モチーフはそこから取得 — 新しく作成しない。すべてのビデオには3つのブランドアンカーが必要:リビール時のロゴ + エンドカード、1つの特徴的なLottieアニメーション、リンク付きエンドカード(ロゴ + CTA + URL)。
  3. 最初にアセットビートをプリレンダリングする(クリップとして存在させるため):
    • Manim → py -m manim render -qh --fps 30 scene.py SceneName、MP4をassets/にコピー。
    • キャプション/TTS → 文字起こし → 承認Webアプリ → 同期、その後npx hyperframes tts。
  4. スキャフォールド + コンポーズ。 npx hyperframes init <slug> --non-interactive。index.htmlを作成。以下を使用:
    • シーク可能なアニメーションバックグラウンド(GSAPプロキシで駆動されるCanvas)
    • ブランドモーショングラフィックス用のLottie
    • Manimレンダリングを<video class="clip" muted playsinline>ボディクリップとして
    • シーンごとのGSAPエントランス、各境界でフラッシュトランジション、最終シーンのみフェードアウト
    • ティーザー/ソーシャルペーシング(速いカット、キネティックなワードスラム、フックモンタージュ)の場合は、スライドショーではなくプロデューサーとしてカット
  5. 自己検証(ゲート): npx hyperframes lint(エラー0)→ validate(コンソールエラー0、WCAG AA)→ レンダリング → タイムライン全体から5フレームをスポットチェック。修正 → 再実行。
  6. レンダリング。 npx hyperframes render --fps 30 --output renders/<name>_FINAL.mp4。縦長の場合は1080×1920のレイアウトでクローン。

前提条件(最初に確認、グレースフルに低下)

Node 22+、FFmpeg、Python 3.11+ with pip(Manim/キャプション)が必要。ManimCEはpy -m pip install manimでインストール(Tex/MathTex()ではなくText()/MarkupText()を使用する場合はLaTeX不要)。Manimが利用できない場合 → 数学ビートをスキップするか、インストールを提案、ビデオ全体をハードフェイルさせない。

関連スキル

video-edit(文字起こし + 承認Webアプリ)、page-load-animations(Spring/Framer Motionパターン)、marketing-video(Remotion代替パイプライン)。

リソース


出典: https://github.com/hoodini/ai-agents-skills yuv-video-director (MITライセンス) — ショットルーティングロジックとエンジン決定マトリックスを抽出・汎用化。すべての個人ブランド参照(YUV.AI、Neon Phoenix、Yuval Avidani)を削除。

関連スキル