instagram-reel-editor について
Instagram Reel Editor は、旅行動画のフォルダーを縦型の Instagram Reels に仕上げるスキルです。目的地ごとに動画を作成し、音楽、テキスト、映画風の効果を加えられます。
主な機能
- 01目的地フォルダーごとに動画を作成
- 02動画クリップのスキャンと一覧化
- 03縦型 1080 × 1920 で出力
- 04音楽と場所のテキストを追加
- 05カラー設定とトランジションを適用
活用シーン
- 01旅行動画を目的地別リールに編集
- 02リールに場所のタイトルと音楽を追加
- 03複数の目的地の素材を処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eigent-ai/ agent-skills --skill instagram-reel-editorインストール後、Claude Code で/instagram-reel-editorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/travel-reel-trends.mdscripts/build_reel.pyscan_footage.py詳細
Instagram Reel エディター
旅行の生映像が入ったフォルダーを、映画のような Instagram リール(縦向き 9:16、1080×1920px)に変換します。 各目的地フォルダーから、音楽、テキストオーバーレイ、映画のようなエフェクトを加えた独立したリールを作成します。
要件: ffmpeg、Python 3、moviepy>=2.0。エージェントはシェルコマンドの実行、ファイルの書き込み、出力ファイルのユーザーへの提示ができる必要があります。
フォルダーの仕様
ユーザーが次の構造に従ったルートフォルダーを指定します。
travel-project/
├── bali/ ← destination folder (one reel per folder)
│ ├── clip1.mp4
│ ├── clip2.MOV
│ └── ...
├── tokyo/
│ └── ...
├── _music/ ← shared background music (randomly selected per reel)
│ ├── track1.mp3
│ └── track2.wav
└── _fonts/ ← shared fonts for text overlays
└── Montserrat-Bold.ttf
ルール:
- 目的地フォルダー =
_で始まらないフォルダー _music/= 共有プール。目的地ごとにトラックを1曲ランダムに選択します_fonts/= テキストオーバーレイ用のフォント。最初に見つかった.ttfまたは.otfを使用します- 対応するクリップ形式:
.mp4、.mov、.MOV、.MP4、.avi、.mkv
リールの仕様(Instagram 標準)
| プロパティ | 値 |
|---|---|
| 解像度 | 1080 × 1920 px(縦向き 9:16) |
| FPS | 30 fps |
| 長さ | 15~60秒(目標:30秒) |
| 音声 | ステレオ、44.1kHz、-14 LUFS にノーマライズ |
| 形式 | H.264 MP4、AAC 音声 |
| テキストのセーフゾーン | 上下に250pxのマージン |
映画のようなスタイルの参考例(Instagram 旅行リール 2024~2025)
人気の旅行クリエイター(@muradosmann、@expertvagabond、@thewanderinglens)の最新トレンドに基づいています。
テンポ:
- フッククリップ:1.5~2.5秒(最もドラマチック、または美しい瞬間)
- 中間のクリップ:各2~4秒
- アウトロクリップ:3~5秒、黒へのフェード付き
- クリップの合計数:30秒のリールで8~15本
トランジション(現在の人気順):
xfade=fade– 滑らかなディゾルブ(汎用)xfade=wipeleft/wiperight– 方向性のあるワイプxfade=slideleft/slideright– 動きのあるスライドxfade=circlecrop– 映画のようなサークルリビール- ビートに合わせたカット(トランジションフィルターなし) – 盛り上がるセクション
カラーグレーディングのプリセット(目的地の雰囲気に合わせて選択):
warm_golden– バリ、モロッコ、メキシコ(暖色系のシャドウ、明るくしたハイライト)cool_teal– アイスランド、ノルウェー、山岳地帯(ティール系のシャドウ、オレンジ系の肌色)moody_dark– 夜のシーン、ジャングル(黒を引き締め、高コントラスト)bright_airy– ビーチ、ヨーロッパの都市(白を明るく、ソフトなパステル調)cinematic– デフォルトの汎用プリセット(緩やかなS字カーブ、ビネット、軽い彩度低下)
テキストオーバーレイのスタイル:
- ロケーションタイトル:大文字、太字、白、中央揃え、80~100px
- サブタイトル(任意):レギュラーウェイト、40px、不透明度60%
- 表示:0.5秒でフェードイン、そのまま表示し、クリップの終わりにフェードアウト
- 位置:下3分の1(高さ1920pxのキャンバスで、上端から1400~1600px)
- ドロップシャドウ:3pxのオフセット、黒70%
音声:
- 冒頭の1秒間で音楽をフェードイン
- 元のクリップの音声が大きい場合、音楽を20%まで下げる
- 終了前の2秒間で音楽をフェードアウト
実行ワークフロー
ユーザーから映像フォルダーを受け取ったら、次の手順に従います。
ステップ1:スキャンと一覧作成
python3 /path/to/scripts/scan_footage.py --root <project_root>
クリップのパス、長さ、解像度、has_audio フラグを含む JSON インベントリーを出力します。
ステップ2:雰囲気とプリセットの決定
目的地フォルダー名から雰囲気を推測します。
bali、mexico、marrakech、portugal、italy→warm_goldeniceland、norway、patagonia、alaska、swiss→cool_tealtokyo、ny、berlin、singapore(夜/都市)→moody_darksantorini、maldives、amalfi、greece→bright_airy- それ以外 →
cinematic(安全なデフォルト)
ユーザーに確認または変更を求めます。
ステップ3:音楽の選択
_music/ からトラックを1曲ランダムに選択します。_music/ が空、または見つからない場合は、音楽なしで続行し、ユーザーに通知します。
ステップ4:リールの生成
メインのエディタースクリプトを実行します。
python3 /path/to/scripts/build_reel.py \
--clips-dir <destination_folder> \
--music <selected_track> \
--font <font_path> \
--preset <mood_preset> \
--location-name "<Destination Name>" \
--output <output_path>
ステップ5:出力の提示
present_files を使用して、完成した .mp4 をユーザーに渡します。
長さ、使用したクリップ、音楽トラック、適用したプリセット、スキップしたクリップがあれば報告します。
スクリプト
scripts/scan_footage.py を参照してください — プロジェクトのルートをスキャンし、JSON インベントリーを返します。
scripts/build_reel.py を参照してください — メインのエディターです。クリップからリールを作成するパイプラインです。
実行前に両方のスクリプトを最後まで読んでください。どちらも自己完結型で、ffmpeg のサブプロセス呼び出しをすべて処理します。
エラー処理
| 問題 | 対処 |
|---|---|
| クリップに動画ストリームがない | スキップして、警告を記録します |
| クリップが縦向きで低解像度 | パディングを加えてアップスケールします |
| クリップが横向き | 9:16 にクロップします(デフォルトでは中央をクロップ) |
_music/ がない | リールを通知なしで作成し、レポートに「音楽なし」と記載します |
_fonts/ がない | ffmpeg の内蔵フォント(DejaVu)にフォールバックします |
| クリップが 1 秒未満 | スキップします |
| 映像素材の合計が 10 秒未満 | ユーザーに警告し、すべてのクリップを使用してスローモーションで延長します |
出力ファイル名
<destination-name>_reel_<YYYYMMDD>.mp4
例:bali_reel_20250414.mp4
複数の目的地モード
ルートフォルダーに複数の目的地サブフォルダーが含まれている場合は、ユーザーに次のように尋ねます:
「[N] 件の目的地が見つかりました:[list]。すべてを編集しますか、それとも 1 件から始めますか?」
目的地ごとにリールを 1 本ずつ、順番に処理します。