Video Director は何をしますか?
主題を理解可能にすること。単にアニメーションさせることではない。重要な動作を正直に示す、最も複雑でないメディアを選択すること。これはバンドルされたヘルパーを備えたスキルであり、独立したアプリケーションやPythonライブラリではありません。
概要とレシピ
リクエストから、主題、対象者、尺、アスペクト比、主要なアクション、提供範囲の境界を確定する。承認された音声、映像素材、現在のプロダクトポジショニングを保持する。軽微で元に戻せる選択は自ら行う;重要な選択、権利、コストで不明な点があれば質問する。制作は公開を許可するものではない。
興味深い結果を早い段階で見せる。短く具体的な文を書く:「「ワークフローを統合」ではなく「どのページがクリックされているか確認」のように。実際のUIは読み取れるだけの時間表示する。部分を説明する前に、メカニズム全体を確立する。
該当するレシピのみを参照すること:
- 初回実行または依存関係のセットアップ:first-video.md — ランタイムとエクスポートコマンドが固定された、自己完結型のSVG例。
- 生成アートワーク+編集可能なフォアグラウンド:hybrid-scenes.md。
- 実際の製品UI:real-ui.md。
- メカニズムと3D:3d-explainers.md。
- ナレーション、ポーズ、音楽:audio.md。
- ランタイム、キャプチャ、検証:production.md。
- マッチング比較と実行可能なスターター:before-after.md。
- オプションのMoneyPrinterTurbo CLI:moneyprinterturbo.md。自動化された映像/スクリプト/音声アセンブリが適している場合に使用。
求められた場合は、新しいリサーチに基づく構図/パレットを選択する。一つのチャンネルのスタイルを全ての動画に押し付けてはならない。補色は主題を分離するのに役立つが、ラベルとコントラストは色の手がかりなしでも機能しなければならない。
制作上の決定
- 制御可能なものは制御可能に保つ。 テキスト、矢印、ハイライト、UIフレーミング、事実に基づく形状はSVG/HTML/canvasまたは3Dに属する。生成ピクセルは有用なアートではあるが、正確なUIや機械的な真実ではない。
- アクションを見せる。 実際のクリックには可視のポインタとリードインが必要;実際の操作にはその状態/映像が必要である。バックエンド処理が発生したかのようにスクリーンショットをアニメーションさせてはならない。ハイライトが表示されるときにその部分に名前を付け、移動するアンカーを追跡する。
- 注意を段階的に誘導する。 一度に一つの教示アクション。カメラの動きを緩やかにし、落ち着かせ、そして静止させる。位置は累積フレーム差分ではなく、絶対時間から導出する。二次的な動きは説明を補完するものでなければならない。一定速度のシャフトには線形回転が正しい。
- 出力に合わせて構図を決める。 縦長バージョンには、横長の自動トリミングではなく、それ自体の読み取り可能なフレーミング/ラベル配置が必要である。注釈はパーツ、他のラベル、プラットフォームのオーバーレイから離して配置する。
- 生成とアセンブリを分離する。 承認されたアートと生の音声を保存する。プロンプト、ソース、権利、設定、ハッシュを記録する。タイムアウトした生成でも課金ジョブが作成されている可能性があるため、再試行する前に確認する。支出前に、個別に課金される範囲/コストを解決する。
- レビューの境界を維持する。 新しい出力フォルダを使用し、マスター/リカバリファイルを保持し、誤った上書きを拒否する。別途許可がない限り、アップロード/公開の前で停止する。
動作ヘルパー
これらはPipプロダクションで使用されている、明示的な時間キャプチャ、安全なローカルサーブ、クリップアセンブリ、エンコード出力チェックを適応したものです。<skill> はこのファイルの場所から解決します。ビデオプロジェクトディレクトリから実行し、スキルフォルダからは実行しないでください。最初に production.md を読んでください。
| ヘルパー | 目的 |
|---|---|
scripts/create-example.mjs | 自己完結型の初回プロジェクトを新しいフォルダにコピー;上書きは絶対に行わない。 |
scripts/doctor.mjs | 依存関係をチェックし、実際にChromiumを起動する;自動インストールは行わない。 |
scripts/capture.mjs | ローカルページ → 正確なフレームの無音H.264;同じ時刻でリトライ;ソースハッシュ/エラーレシート。 |
scripts/serve.mjs | レンジリクエストとパス封じ込め機能を備えたループバック専用の静的サーバー。 |
scripts/compare.mjs | ラベル付きのサイドバイサイド比較;尺/FPSの不一致を拒否。 |
scripts/audio.mjs | 既存の音声クリップ + 明示的なポーズ → WAVおよび測定されたタイミングマニフェスト。 |
scripts/verify.mjs | プローブ/フルデコード/ハッシュ、全隣接フレーム統計、エンコード済みコンタクトシート。 |
scripts/self-test.mjs | ヘルパーと上書き保護のための回帰テスト。 |
scripts/boundary-test.mjs | ローカルブラウザ-ネットワークおよび破損オーディオの回帰テスト。 |
Node.js、FFmpeg/FFprobe、プロジェクトからアクセス可能なPlaywright/Chromiumが必要;3DにはThree.jsのみが必要。ヘルパーはパッケージ/モデルのインストール、プロバイダへのコール、認証情報の読み取り、公開を行いません。assets/first-video/ はコードのみで、外部メディアは不要です。assets/comparison-study/ にある比較スターターにはコードとアセットマニフェストが含まれますが、非公開のスクリーンショット、生成メディア、フォント、ベンダリングされたThree.jsは含まれません。
成果物
最終キャプチャの前に、低FPSのタイミングパスを実行する。エンコードされた 尺、寸法、FPS、フルデコード、色、読み取り可能なキーフレーム、トランジション境界をチェックする。メトリクスは検査をサポートする;大きなフレーム差分は意図的な編集である可能性があり、小さな差分は動画の停止を隠している可能性がある。動画を視聴し、音声を聞く。ASRとクリーンなWAVは自然な音声を証明しない。
再生可能なローカルMP4とソースパスを、チェック結果と省略事項とともに提供する。オフラインキャプチャからのリアルタイム60fps、構築されたベースラインからの過去の結果、または作者自身の実行からの独立したエージェントテストを主張してはならない。
インスピレーションとライセンスの境界については lineage.md を参照。専門的なインストール済みスキルがこれを補完する場合がある;ワークフローは全てのスキルをロードしたり、上流リポジトリをコピーしたりする必要はない。