Video Edit
実際の映像素材、決定論的編集、確認済み出力。すべての操作は video-tools MCP ツールで行います。ffmpeg を手書きする代わりにこれらを呼び出せば、パス、エンコード、ラウドネスが常に正しくなります。
基本ルール
- オリジナルには絶対に触れない。 編集結果は
video-out/<slug>/に番号付きステップ(01_trim.mp4、02_jumpcut.mp4、...)として書き出します。ツールはoverwrite=trueを指定しない限り上書きを拒否します。 - 切る前に内容を確認する。 すべてのソースに対して最初に
probeとcontact_sheetを実行します。シーンカットや無音の検出にはdetectを使います。トランスクリプトが必要でwatchプラグインがインストールされている場合はそれを使い、そうでなければextract_audioで.wavを抽出し、利用可能なもの(whisper、ユーザーが持つクラウドAPI)で文字起こしを行い、どの方法を使ったかを明示します。 - 1ステップにつき1つの変更を行い、次のステップに進む前に結果を確認します(
contact_sheet)。 - 映像 → 音声 → 配信の順序: カット → 字幕 → 音楽 → ラウドネス → 出力。
標準パス
| 目的 | ツール呼び出し |
|---|---|
| 検査 | probe(path, measure_loudness=true)、contact_sheet(input)、detect(input) |
| 範囲選択 | trim(input, output, start, end)(デフォルトで精密) |
| トーキングヘッドの詰め | remove_silence(input, output, threshold_db=-35, min_silence=0.45, padding=0.12);騒がしい部屋では threshold_db を -30 に上げ、単語が切れる場合は padding を上げる |
| 結合 | concat(inputs, output, crossfade=0);異なるサイズ/フレームレート/無音クリップは自動的に適合 |
| 字幕 | トランスクリプトから .srt を作成(1行最大約32文字、2行、各1~6秒)、その後 `burn_captions(style=clean |
| 音楽 | add_music(input, music, output, music_db=-16, duck=true);音楽はループ、トリム、フェードされ、音声下でサイドチェインダッキングされる |
| 縦長/正方形 | `reframe(aspect="9:16", fit=blur |
| 速度変更 | speed(factor) をトリムしたセグメントに適用し、その後 concat |
| サムネイル候補 | frame(time) をコンタクトシートから強い瞬間3~5箇所で実行 |
| ラウドネスのみ | normalize_audio(target_lufs=-14) |
| 配信 | `export(preset=youtube |
長尺からショートへ
detect+ トランスクリプト → 最初の2秒にフックがあり、1つの完全なアイデアを含む15~60秒の区間を選ぶtrim→remove_silence→reframe 9:16→burn_captions style=bold→export shorts- ユーザーがより強いオープナーを望み、
viral-hookスキルがインストールされている場合は、それを提案する
完了
常に、最終ファイルに対して video-qa スキルを適切なターゲットで実行して終了します。