Communitygithub.com

縦型リール編集 ステップ1:素材から9:16リールへ

手持ちの素材を完成した1080x1920リールに。エージェントがコンタクトシートでクリップを確認し、動きに追従するクロップで見どころを切り出し、Remotionでラウドネス正規化まで行ってレンダリングします。

縦型リール編集 ステップ1:素材から9:16リールへ とは?

縦型リール編集レシピのステップ1(カット)。reel-kitはエージェントに本物の編集者のワークフローを与えます。長尺はコンタクトシートで素早く確認、縦型カットのクロップは被写体の動きに追従、JSON編集リストで動くRemotionテンプレートがフェード、BGM、イントロカード、アウトロに対応。テーマ別スタイルファイルで全リールの統一感を保ちます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Abraham-Hdez/reel-kit/tree/HEAD/skill/reels

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

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

ドキュメント

Reel-kit でリール作成

ユーザーのコンピュータ上の実際の映像を編集します。シェルコマンドを実行し、ファイルを読み取ることができるツール(例:Claude Desktop の Desktop Commander 拡張機能、または Claude Code)が必要です。そのようなツールがない場合は、その旨を伝え、ユーザーを docs/guia-windows.md に誘導してください。チャットのサンドボックスにアップロードされたファイルでこれを実行しようとしないでください。

セットアップ

  1. reel-kit フォルダを見つけます(見つからない場合はユーザーに一度だけ尋ねてください)。すべてのコマンドはそのフォルダから実行します。
  2. 初回のみ:npm install と pip install numpy を実行します。ffmpeg -version と node -v が動作することを確認します。
  3. このスキルの styles/ フォルダから、トピックに合ったスタイルファイル(yoga.md、aikido.md)を選択します。合うものがない場合は、yoga.md から始めて、ユーザーと違いについて合意します。リールに表示する内容(名前、日付、場所、URL)についてユーザーに尋ねてください。これらを勝手に創作しないでください。

ワークフロー

  1. 映像を確認する。 各長尺動画について:python tools/reel.py sheet <video> --every 10 を実行します。out/sheets/ のシート画像を読み、良い瞬間を見つけます。正確な時間を選ぶ前に、有望な部分をより細かく(--every 2)確認します。
  2. クリップを選択する。 out/<name>-clips.tsv をタブ区切りで作成します。1行に1クリップ:id<TAB>ソースパス<TAB>開始<TAB>終了(秒数または mm:ss)。クリップの長さと各クリップに含める内容についてはスタイルファイルに従ってください。
  3. カットする。 python tools/reel.py cut out/<name>-clips.tsv を実行します。各クリップは縦型 1080x1920 になり public/clips/ に保存されます。横向きの映像は動きに合わせてクロップされます(--frame center で固定中央クロップ、--frame keep でトラッキングなしのスケール)。PC に NVIDIA カードがある場合のみ --gpu を追加します。コマンドはクリップごとに正確な長さを含む JSON 行を1つ出力します。
  4. リールを記述する。 reels/<name>.json を作成し(以下の形式を参照)、ステップ3のクリップ行を貼り付けます。
  5. レンダリングする。 python tools/reel.py render <name> を実行し、ソーシャルメディア向けにラウドネス正規化された out/<name>.mp4 を書き出します。
  6. 確認する。 3~4フレームを取得し(ffmpeg -i out/<name>.mp4 -vf "fps=1/4,scale=360:-2,tile=4x1" -frames:v 1 out/<name>-check.jpg)、それらを確認してからユーザーに完了を伝えます。ユーザーにファイルパスと長さを伝えます。

ユーザーから後で変更を求められた場合(「遅い部分を削除」「音楽なし」など):TSV または JSON を編集し、その後のステップのみを実行します。新しい名前(<name>-v2)を使用して以前のバージョンを保持し、ユーザーが戻れるようにします。

reels/.json

{
  "clips": [{ "file": "clips/a1.mp4", "seconds": 6.5 }],
  "transition": "fade",
  "fadeSeconds": 0.5,
  "clipVolume": 0,
  "music": { "file": "music/calm.mp3", "volume": 0.5 },
  "accent": "#7FA88B",
  "intro": [{ "kicker": "Yoga · Murcia", "title": "Clase abierta", "sub": "Sábado 10:00" }],
  "outro": { "text": "Reserva tu plaza", "url": "example.com", "image": "poster.jpg", "seconds": 3.5 }
}
  • clips のみ必須です。パスは public/ からの相対パスです。音楽は public/music/ に、画像は public/ に配置します。
  • transition:"cut"(ハードカット、デフォルト)または "fade"。
  • clipVolume:1 は元の音声を保持、0 はミュートします。音楽は最後に自動的にフェードアウトします。
  • intro:テキストカード。各 2.5 秒で、最初のクリップの上に表示されます。
  • outro:テキスト、URL、および/または画像(ポスター、ロゴ)を含む終了画面。
  • ユーザーが提供した、または権利を確認した音楽のみを使用します。

ルール

  • 動画処理は重いです。一度に1つの ffmpeg またはレンダリングジョブを実行します。ツールはすでに低優先度で実行されます。
  • ユーザーが手動でプレビューして調整したい場合にのみ npm run studio を使用します。
  • 見た目自体(フォント、レイアウト)を変更するには、src/Reel.tsx を編集します。Remotion の公式スキル(npx skills add remotion-dev/skills)が役立ちます。

関連スキル