Skip to main content

instagram-reel-editor

Edits raw travel footage into polished Instagram Reels (9:16, 1080×1920) with cinematic color grading, beat-synced cuts, text overlays, transitions, and background music. Use when the user mentions editing a reel, travel reel, Instagram video, cutting footage, travel clips, reel from footage, or provides folders with destination subfolders and optional shared _music or _fonts.

Aller à l'installation

Informations de source

Dépôt
eigent-ai/agent-skills
Dernière activité de la source
15 avril 2026 à 09:51
Langue détectée de SKILL.md
anglais
Étoiles
19
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
4 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
instagram-reel-editor
description
Edits raw travel footage into polished Instagram Reels (9:16, 1080×1920) with cinematic color grading, beat-synced cuts, text overlays, transitions, and background music. Use when the user mentions editing a reel, travel reel, Instagram video, cutting footage, travel clips, reel from footage, or provides folders with destination subfolders and optional shared _music or _fonts.
# Instagram Reel Editor Transforms raw travel footage folders into cinematic Instagram Reels (9:16 vertical, 1080×1920px). Each destination folder becomes a standalone reel with music, text overlays, and cinematic effects. **Requirements:** ffmpeg, Python 3, and `moviepy>=2.0`. The agent should be able to run shell commands, write files, and present output files to the user. --- ## Folder Contract The user provides a root folder following this structure: ``` 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 ``` **Rules:** - Destination folders = any folder NOT starting with `_` - `_music/` = shared pool; one track randomly selected per destination - `_fonts/` = font(s) for text overlays; use first `.ttf` or `.otf` found - Supported clip formats: `.mp4`, `.mov`, `.MOV`, `.MP4`, `.avi`, `.mkv` --- ## Reel Spec (Instagram Standard) | Property | Value | |---|---| | Resolution | 1080 × 1920 px (9:16 vertical) | | FPS | 30 fps | | Duration | 15–60 seconds (target: 30s) | | Audio | Stereo, 44.1kHz, normalized to -14 LUFS | | Format | H.264 MP4, AAC audio | | Text safe zone | 250px top and bottom margins | --- ## Cinematic Style Reference (Instagram Travel Reels 2024–2025) Based on current trends from top travel creators (@muradosmann, @expertvagabond, @thewanderinglens): **Pacing:** - Hook clip: 1.5–2.5s (most dramatic or beautiful moment) - Middle clips: 2–4s each - Outro clip: 3–5s with fade to black - Total clips: 8–15 clips for a 30s reel **Transitions (in order of current popularity):** 1. `xfade=fade` – clean dissolve (universal) 2. `xfade=wipeleft` / `wiperight` – directional wipe 3. `xfade=slideleft` / `slideright` – motion slide 4. `xfade=circlecrop` – cinematic circle reveal 5. Cut on beat (no transition filter) – high energy sections **Color Grading Presets (choose by destination mood):** - `warm_golden` – Bali, Morocco, Mexico (warm shadows, lifted highlights) - `cool_teal` – Iceland, Norway, mountains (teal shadows, orange skin) - `moody_dark` – night scenes, jungles (crushed blacks, high contrast) - `bright_airy` – beaches, Europe cities (lifted whites, soft pastels) - `cinematic` – default universal preset (slight S-curve, vignette, mild desaturation) **Text Overlay Style:** - Location title: uppercase, bold, white, centered, 80–100px - Subtitle (optional): regular weight, 40px, 60% opacity - Appear: fade in at 0.5s, hold, fade out at clip end - Position: lower third (1400–1600px from top on 1920 tall canvas) - Drop shadow: 3px offset, 70% black **Audio:** - Fade music in over 1s at start - Duck music to 20% if original clip has loud audio - Fade out music over 2s before end --- ## Execution Workflow When the user provides a footage folder, follow this sequence: ### Step 1: Scan and Inventory ```bash python3 /path/to/scripts/scan_footage.py --root <project_root> ``` Outputs a JSON inventory: clip paths, durations, resolutions, has_audio flags. ### Step 2: Determine Mood & Preset Infer the mood from the destination folder name: - `bali`, `mexico`, `marrakech`, `portugal`, `italy` → `warm_golden` - `iceland`, `norway`, `patagonia`, `alaska`, `swiss` → `cool_teal` - `tokyo`, `ny`, `berlin`, `singapore` (night/urban) → `moody_dark` - `santorini`, `maldives`, `amalfi`, `greece` → `bright_airy` - anything else → `cinematic` (safe default) Ask the user to confirm or override. ### Step 3: Select Music Randomly select one track from `_music/`. If `_music/` is empty or missing, proceed without music and notify the user. ### Step 4: Generate the Reel Run the main editor script: ```bash 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> ``` ### Step 5: Present Output Use `present_files` to deliver the final `.mp4` to the user. Report: duration, clips used, music track, preset applied, any clips skipped. --- ## Scripts See `scripts/scan_footage.py` — scans project root, returns JSON inventory. See `scripts/build_reel.py` — main editor: clips → reel pipeline. Read both scripts fully before executing. They are self-contained and handle all ffmpeg subprocess calls. --- ## Error Handling | Issue | Action | |---|---| | Clip has no video stream | Skip it, log warning | | Clip is portrait but low-res | Upscale with padding | | Clip is landscape | Crop to 9:16 (center crop by default) | | `_music/` missing | Build reel silently, note "no music" in report | | `_fonts/` missing | Fall back to ffmpeg built-in font (DejaVu) | | Clip shorter than 1s | Skip it | | Total footage under 10s | Warn user, use all clips, extend with slow-mo | --- ## Output Naming `<destination-name>_reel_<YYYYMMDD>.mp4` Example: `bali_reel_20250414.mp4` --- ## Multi-Destination Mode If the root folder contains multiple destination subfolders, ask the user: > "I found [N] destinations: [list]. Should I edit all of them, or start with one?" Process them sequentially, one reel per destination.
Voir sur GitHub