トークヘッドリール
カメラに向かって話す人物の録画を、完成された縦型リール(MP4)に変換します。
見た目はエディトリアルで速い:スピーカーが動画の背骨となり、2〜4秒ごとにフレームが変わります – パンチイン、大きな単語、B-roll挿入、スプリットスクリーン – 常にその瞬間の発言内容に基づきます。
メカニクスはスクリプト化されています:ポーズのカット、音声のマスタリング、マット、そして編集決定リスト(EDL)から直接フレームを描画するレンダラー。あなたの仕事はエディトリアル部分です:話の内容を理解し、各ビートの見た目を決め、それに合ったフッテージを見つけるか生成し、EDLを作成し、静止画をチェックし、ユーザーと修正ラウンドを実施することです。
要件
macOS(ネイティブレンダリングターゲット)- Python 3.9+(numpy、faster-whisper付き)、ffmpeg with libass(Homebrew ffmpegまたはimageio-ffmpeg)。オプション - Xcodeコマンドラインツール(Apple Visionマット用)。
Windows 10/11 レンダリングボックス:レンダリングエンジンはプラットフォームに依存しません。Python 3.9+(numpy、faster-whisper付き)と、libassを同梱したffmpegビルド(gyan.devの"full"ビルド)があれば十分です。その後、assets/fonts/win/にバンドルされている無料代替フォント(Playfair Display 400/700/italic + Inter Medium、OFLライセンス)を使用します:
- ユーザー環境変数を一度設定します –
REEL_FONT_FILES= 4つの.ttfパスをセミコロンで区切ったもの。エンジンは自身のREEL_FONT_FILESフック(textass.py)を介してこれらを取得し、libassフォルダにフェースを抽出します。 - すべてのEDLに組み込みのEDLフォントオーバーライドを配置します:
"fonts": {"anton": "Anton-Regular", "serif": "PlayfairDisplay-Bold", "didot": "PlayfairDisplay-Regular", "sub": "Inter-Medium"}(reel_plan.pyのデフォルトマップは変更しないでください – macOSのEDLにはオーバーライドは不要です)。 - Apple VisionのカットアウトマットはWindowsには存在しないため、該当するビートはスキップします。
python scripts/check_setup.pyでWindows対応の結果が報告されます。
クレジットは不要:B-rollはユーザーの素材と無料ライブラリ(Pixabay / thesvg MCPコネクター、Wikimedia Commons)から取得します;有料生成付録(Higgsfield / Seedance)は明示的なリクエストがあった場合のみ使用します。
あなたが提供するもの
PROJECT/render/<name>_vN.mp4- 1080x1920、H.264、AAC 320 kbps、音声約-14 LUFS。PROJECT/edl.json(およびラウンドごとのedl_vN.jsonコピー)- 編集全体をデータとして保持;再レンダリングすると常に同じ動画が得られます。- QA用静止画(
PROJECT/qa/.../sheet.jpg)。
ステップ0 – セットアップと受け入れ
python3 scripts/check_setup.pyを実行し(このファイル内のパスはスキルフォルダからの相対パスです)、報告された問題を修正します。すべてのスクリプトに同じPythonを使用します;numpy faster-whisper imageio-ffmpegを入れたvenvを使うのが簡単です。ffmpegにlibassが含まれている必要があります(すべてのテキストはlibassで描画されます) – checkスクリプトがどのバイナリが見つかったかを示します。
次に、不足しているものだけを尋ねて確認します(1つの短いメッセージで):
- 録画ファイル(パス)。理想的には4K横長または1080x1920縦長、スピーカーがほぼ中央に配置されていること。
- 言語、およびスクリプトがあればそれも(フィラーワードや誤認識の修正に役立ちます)。
- カラーグレード:既にグレードされたファイル、
.cubeLUT、または「カメラの色を使う」のいずれか。 - 最後のコールトゥアクション(例:「コメントにWORDと書いてリンクを送ってください」)。
- B-rollの取得元:ユーザー自身のフッテージ(デフォルト)、無料ストックとアーカイブ(Pixabay MCP、Wikimedia Commons)、ロゴ/アイコンはthesvg MCP経由(CommonsのPNGレンダリングにフォールバック)。何の権利を持っているか尋ねます。有料AI生成(Higgsfield / Seedance)は明示的に依頼があった場合のみ。
- プロジェクトフォルダの保管場所(デフォルト:動画の隣に
<name>_reel/)。
ステップ1 – 準備と分析(スクリプト化)
python3 scripts/prepare_project.py VIDEO.mov [--graded GRADED.mov | --lut grade.cube] [--project DIR]
python3 scripts/transcribe.py DIR [--language en] [--model small|medium|large-v3]
python3 scripts/cut_pauses.py DIR [--remove 2.40-2.72 ...]
python3 scripts/master_audio.py DIR
python3 scripts/presenter_mattes.py DIR # swiftcが必要;利用できない場合のみスキップ
cut_pauses.pyは、保持された各セグメントとその単語を出力します。それをトランスクリプトと照らし合わせてください:--remove start-end(ソース秒)を使用して誤ったスタート、繰り返し、フィラーワードを削除し、再度実行します。削除された量をユーザーに報告します(例:「81.5秒 → 73.4秒」)。以降のステップはすべてプログラムタイムライン(analysis/program_words.json)を使用します。
ステップ2 – 編集の計画(あなたの判断)
references/style-guide.md(ルックとルール)とreferences/edit-planning.md(トークをビートに変換する方法)を読み、ビートシートを作成します:各ビートにつき1行、プログラム時間、発言内容、画面に表示されるもの(プレゼンターのワイド/タイト、挿入の種類、レイアウト)、テキスト処理、フッテージのアイデアを記載します。フッテージを調達する前にユーザーに表示します – 今変更するのは安価で、後で高くつきます。
ステップ3 – フッテージ
references/broll-sourcing.mdに従います:何を探すか、どこから取得できるか、ライセンス、テスト済みの無料取得レシピ(Pixabay MCP検索 + URL確認、Wikimedia Commons API + curl UA/リトライ + SHA-1チェック、thesvg MCPによるロゴ、ffmpegトランスコード)。有料生成(Seedance via Higgsfield)は付録にあります – ユーザーが明示的にAI生成ショットを依頼し、コストを承認した場合のみ。すべてをPROJECT/broll/に、ロゴをPROJECT/logos/に配置します。候補をscripts/clip_sheet.pyでレビューします。ユーザーが既にクリップやインサートを持っている場合は、それらを使用します – 既存のものを再調達しないでください。
ステップ4 – EDLと検証
references/edl-schema.mdに従ってPROJECT/edl.jsonを作成します(完全な動作例 – このスタイルが構築されたリール – がassets/examples/example_edl.jsonにあります)。その後:
python3 scripts/validate_edl.py DIR/edl.json
すべてのエラーを修正し、すべての警告を読み、修正するか意識的に受け入れます。
ステップ5 – 静止画、そしてレンダリング
python3 scripts/render_reel.py DIR/edl.json --stills 0.6 2.4 4.8 ... --out-dir DIR/qa/stills_v1
python3 scripts/render_reel.py DIR/edl.json --out DIR/render/<name>_v1.mp4
静止画は数秒で完了します:各ビート内の1つの瞬間と、各トランジションの中央を選び、コンタクトシートをreferences/style-guide.mdのチェックリストと照らし合わせて確認します(空のエッジがない、単語が読み取れてフレーム内にある、目の上に何もない、テキストが中央スタックにある、カラー処理が正しい)。EDLを修正し、きれいになるまで再チェックします。その後、完全なリールをレンダリングし(最近のMacで数分;references/renderer.mdを参照)、ユーザーにパスとレンダラーが出力する数値(サイズ、fps、持続時間、ラウドネス)を伝えます。
ステップ6 – 修正ラウンド(ユーザーが希望する方法で)
- ユーザーは1つずつ、しばしばスクリーンショットと一言のコメントでノートを送ります。それらに番号を付け(1、2、3...)、簡単に確認し、ユーザーが「開始」、「go」、「以上」と言うまで何も変更しません。その後、すべてのノートを一度に適用します。
- 各ラウンドは新しいバージョンです:編集前に
edl.jsonをedl_vN.jsonにコピーし、<name>_vN.mp4にレンダリングします。ユーザーが既に見たレンダリングやEDLバージョンを上書きしないでください。 - 変更された瞬間を最初に
--stillsでチェックし、その後フル動画を一度レンダリングします。 - ラウンド間で同じスタイルを維持します;ノートが一般的なルール(「空のエッジなし」、「字幕を大きく」)を示す場合、スクリーンショットだけでなく、すべての場所に適用します。
- ユーザーがショットに別のフッテージを希望する場合、EDLでそのクリップを変更します(
references/edl-schema.mdの「クリップの交換」を参照) – 他のものは動かしません。
その他のツール
scripts/render_reel.py --stills ...- 任意の瞬間をPNGとコンタクトシートとして出力。scripts/clip_sheet.py- 候補クリップのフレームとハードカット時間を出力。references/renderer.md- レンダラーの動作、速度、フォント、トラブルシューティングについて。
基本ルール
- フッテージ:ユーザーが権利を持つ素材のみを使用します – 自身のもの、ライセンス済みまたは無料ライセンスのストック、またはユーザーのために生成されたクリップ。生成された人物は実際の俳優や有名人に似ていてはならず、有名なキャラクター、衣装、ロゴ、映画シーンを再現してはなりません。
- すべてのレンダリングは新しいファイルです。ユーザーがレビューしたものを上書きしないでください。
- プロジェクトファイルは英語で作業します;ユーザーとはその言語で話します。