IG Reel Extract — Download & Analyze Social Reels
Download, frame-capture, and transcribe Instagram Reels for competitor research, script analysis, and content repurposing.
When to Use
- Competitor research: pull scripts from top-performing competitor videos
- Hook analysis: study what hooks work in your niche
- Content repurposing: extract and adapt transcripts
- Voice profiling: feed to toneprint or voice-style-extractor skill
Proxy Rule — Mandatory
Instagram downloads MUST use Oxylabs proxy. No home IP scraping.
Read proxy from D:\Ecosystem\secrets\MASTER_API_KEYS.env (grep for PROXY_1).
Format: host:port:user:pass → yt-dlp proxy format: http://user:pass@host:port
Execution Steps
Step 1: Create output directory
mkdir D:/ClaudeDev/reel-extracts/<slug>
Use reel ID or timestamp as slug (e.g., reel-2026-05-12-1830).
Step 2: Run extractor with proxy
python "C:\Users\mikem\.claude\skills\ig-reel-extract\scripts\extract_reel.py" \
"<URL>" \
--out "D:/ClaudeDev/reel-extracts/<slug>" \
--proxy "http://user:pass@host:port"
Step 3: Read results
Output files:
metadata.json— title, author, duration, view count, like counttranscript.txt— full transcript if captions availableframe_*.jpg— key frames captured at intervals
Step 4: Analyze
Present:
- Video downloaded: yes/no + file size
- Frames captured: list with timestamps
- Transcript: full text
- Hook analysis: first 3 seconds script
- CTA: what the video asks viewers to do
Output Folder Structure
D:/ClaudeDev/reel-extracts/
reel-2026-05-12-1830/
metadata.json
transcript.txt
video.mp4
frame_0s.jpg
frame_5s.jpg
frame_10s.jpg
Python Pattern (Direct)
import subprocess, json, os
def extract_reel(url, out_dir, proxy):
result = subprocess.run([
"python",
r"C:\Users\mikem\.claude\skills\ig-reel-extract\scripts\extract_reel.py",
url,
"--out", out_dir,
"--proxy", proxy
], capture_output=True, text=True)
metadata_path = os.path.join(out_dir, "metadata.json")
with open(metadata_path) as f:
return json.load(f)
Hook Analysis Framework
After extraction, analyze the transcript's first 3 seconds:
| Element | Question | |---------|---------| | Pattern interrupt | Does it break expected format? | | Identity call-out | Does it name a specific audience? | | Curiosity gap | Does it create immediate question? | | Bold claim | Is there a specific, surprising claim? | | Visual hook | What happens on screen in second 1? |
Related Topics
- [[social-transcript-extractor]] — extract transcripts without downloading (API method)
- [[ytdlp-agent]] — YouTube-specific download and transcript CLI
- [[scriptwriter]] — use extracted hooks as reference for new scripts
- [[ai-video-pipeline]] — produce competitor-informed videos
#video-sop #instagram #reel #extract #competitor-research #transcript