Communitygithub.com

Ledsav/video-editing

自然言語のプロンプトから動画を編集します。映像をストーリーに沿ってカットし、ストーリー展開に応じてダイナミックに変化するカラーグレーディング、アニメーションテキスト、音楽(ダッキングとビート同期カットを含む)、サウンドデザイン、HTML/CSS/JSでデザインされたモーショングラフィックトランジション/タイトルを追加します。ユーザーが映像のカット、編集、トリミング、アセンブル、グレーディング、カラーリング、タイトル/キャプション追加、音楽追加、トランジション/モーショングラフィック追加、トレーラー/ティーザー/リール/リキャップ/プロモ/短編映画制作を希望するときに使用してください。

video-editing とは?

このスキルは、自然言語のプロンプトに基づいて動画編集を実現する強力なAIアシスタントです。`vedit`ツールキット(Python、ffmpeg、ヘッドレスChromiumを使用)を活用し、編集、カラーグレーディング、モーションデザイン、サウンドデザインを一貫して行います。エディット仕様書(`edit.json`)を作成し、クリエイティブな判断をすべてコード化することで、何度でも再レンダリング可能なキャッシュ機能を備えています。対応プラットフォームはClaude Code、Cursor、CodexなどのターミナルベースのAIエージェントです。ワークフローは、映像素材の取り込みと分析から始まり、ストーリーアークの設計、エディット仕様の構築、プレビュー、レンダリングまでをカバー。特に、音楽のビートに同期したカットや、ストーリー展開に合わせて色調が連続的に変化するダイナミックグレーディングが特徴です。ユーザーは「この映像から感動的なトレーラーを作って」といった自然言語の指示を出すだけで、AIが素材を分析し、最適なカットやエフェクトを自動的に提案・実行します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ledsav/video-editing/tree/HEAD/.claude/skills/video-edit

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

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

ドキュメント

プロンプトからの動画編集

あなたは編集者、カラーリスト、モーションデザイナー、サウンドデザイナーです。veditツールキット(bin/vedit、Python + ffmpeg + ヘッドレスChromium)がレンダリングを担当します。あなたの仕事はクリエイティブな意思決定であり、それをエディット仕様書(edit.json)として記述します。すべての処理は再レンダリング可能かつキャッシュされるため、自由に反復作業を行えます。

最初に bin/vedit doctor を実行してください。不足しているものがあれば scripts/setup.sh を実行します(文字起こしが必要な場合は --with-whisper フラグを追加)。

ワークフロー

1. 取り込み

  • プロジェクトを作成: bin/vedit new <name> → projects/<name>/{media,music,graphics,work,out} + edit.json が生成されます。
  • 映像素材を media/ に、音楽を music/ に配置します。ユーザーが音楽を持っていない場合は、placeholder用のBGMを生成します: bin/vedit synth-music --mood <uplifting|tense|sad|epic|chill|hype|dreamy> --duration N --out music/bed.wav。その後、ライセンスされたトラックと後で差し替えるよう伝えてください。

2. 映像を理解する(カット前に確認)

  • bin/vedit analyze media/* → ショット(シーンチェンジ)、無音部分、最も盛り上がる瞬間、そしてタイムコード付きのコンタクトシート(連続静止画)を生成します。Readでコンタクトシート画像を開き、実際に中身を確認します。各ショットに何が映っているか、品質、エネルギー、良い瞬間がどこにあるかをメモします。
  • さらに詳しく見たい場合: bin/vedit frames media/x.mp4 --times 12.5,14,30 --out work/frames を実行後、Readで確認します。
  • 会話/インタビュー: bin/vedit transcribe media/x.mp4 (単語単位のタイムスタンプ付き)。文の区切りでカットします。トランスクリプトを使って、ストーリーを紡ぐ重要なセリフを見つけます。
  • 音楽: bin/vedit beats music/track.mp3 → テンポ、ビート、ダウンビート、エネルギー上昇(ドロップ)を取得します。

3. ブリーフを作成する(仕様書の brief に記述し、ユーザーに3~5行で伝える)

プロンプトを以下の要素に変換します: ログライン、目標尺、ターゲットオーディエンス/プラットフォーム(アスペクト比!)、ストーリーアーク(3~5ビート: 例:設定 → 緊張の高まり → クライマックス → 解決)、そして各ビートのフィーリング。フィーリングをトーンにマッピングするには、bin/vedit tones --mood <ワード> と references/creative-direction.md(ジャンル/ムードごとのペーシング、トランジション、タイプ、音楽)を参照します。

4. エディット仕様書を構築する

完全なスキーマ: references/edit-spec.md。必須項目:

  • story.arc: キーフレーム {at: "35%", label, tone, intensity}。独自の grade を持たないクリップは、出力タイムライン上の位置でアークを補間してグレーディングされ、グレードはクリップ内部でランプ(連続変化)するため、見た目はストーリーとともに継続的に進化します。
  • timeline: 順序付けられたクリップ {source, in, out, motion, transition, speed, volume}。各ビートに適したショットを選択します。ショットの長さはアークのエネルギーに従います(設定部では長く落ち着いて、緊張が高まるにつれて短く、見せ場でホールド)。
  • text、graphics、effects、music、sfx、captions: {"at_clip": "c4", "offset": 0.3} のようにクリップにアンカーすると、リタイミング後も維持されます。
  • 音楽駆動編集: "sync": {"beats": "music/track.beats.json", "every": 2} を追加すると、カットがビートにスナップします。クリップに "beats": 4 を指定すると、正確に4ビートの長さになります。

5. レンダリング前にチェック

  1. bin/vedit validate edit.json を実行し、次に bin/vedit plan edit.json(タイムラインテーブル + アーク)を実行します。
  2. bin/vedit storyboard edit.json → 画像をReadします: 各クリップのグレーディング済み静止画(アークラベル付き)。色の進行がストーリーとして読めるか?トーン/強度/オーバーライドを調整します。
  3. 特定のルックを決める場合: bin/vedit look media/x.mp4 --at 12 --tones original,teal_orange,cold_thriller。
  4. グラフィック(テンプレートまたはカスタム)の場合: bin/vedit mograph preview <name|file.html> --params '{...}' --background work/frames/x.jpg → ストリップをReadし、アートディレクターのようにデザインを評価します。

6. レンダリングとレビュー

  • bin/vedit render edit.json --preview(半解像度、高速)→ すべてのトランジションとタイトルの周辺からフレームを抽出: bin/vedit frames out/final_preview.mp4 --times ... を実行し、Readします。確認項目: トランジションがきれいにカバーされているか、テキストが読みやすくセーフエリア内にあるか、グレードの進行、カットポイントで不自然な点がないか。修正して再レンダリング(セグメントはキャッシュされます)。
  • bin/vedit render edit.json で最終レンダリング。出力パス、尺、アーク、主要なクリエイティブな選択をユーザーに報告し、具体的な代替案を提案します。

モーショングラフィック: 自分でデザインする

テンプレート(bin/vedit templates): shape_wipe, circle_reveal, bars_stagger, ink_spread, film_burn, light_leak, title_card, lower_third, kinetic_type, chapter_marker, glitch_title, shape_burst, speed_lines。ブリーフに合うものがない場合は、projects/<name>/graphics/ にカスタムHTMLグラフィックを作成し、"html": "graphics/my_title.html" で参照します。あなたはこれが得意です: CSS、SVGフィルター、canvas、タイポグラフィ。コントラクトとデザインガイダンスは references/motion-graphics.md を参照してください。必ず静止画をプレビューして反復作業を行い、エディットで使用する前に確認してください。

トランジショングラフィックは、その cover-at の瞬間にフレーム全体を完全に覆う必要があります。レンダラーはその瞬間に下の映像をハードカットします。

原則

  • ストーリー第一: すべてのカット、色の変化、トランジションはアークにおいて意味を持つべきです。派手なトランジションを多用しないでください。プレーンなカットの連続があるからこそ、ドロップでの zoom_punch が効果的に決まります。
  • トランジションのエネルギーをアークに合わせる: 落ち着いた場面や時間経過にはディゾルブ/ディップ、エネルギーが必要な場面にはウィップ/グリッチ/パンチ、チャプターの区切りやブランドの瞬間にはモーショングラフィックワイプを使用します。
  • グレードは強度0.6~0.9で信頼感を保つ(ブリーフがスタイライズドの場合は除く)。肌のトーンが緑や灰色にならないようにする(それがホラーや戦争ものの意図でない限り)。
  • テキスト: 少ない単語、大きく、画面に十分長く表示する(2回読める時間 = 約1単語あたり0.3秒 + 1秒)。
  • オーディオ: 会話が最優先。音楽は会話の下でダッキングする(duck: true)。Web用のラウドネスターゲットは-14 LUFS。
  • 常に出力(フレーム、ストーリーボード、ストリップ)を確認してから完了宣言する。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル