About video-highlight-extraction
video-highlight-extraction is a skill that uses each::sense to analyze long videos and extract notable moments as clips or compilations. It is intended for creators and teams working with gaming, sports, podcasts, meetings, events, and other footage.
Key features
- 01Detect engaging video moments
- 02Extract gaming and sports clips
- 03Find podcast and webinar segments
- 04Summarize meeting decisions and actions
- 05Generate trailers and highlight reels
Use cases
- 01Create shareable clips from podcasts
- 02Build a highlight reel from a sports game
- 03Condense meeting decisions into a recap
- 04Select key scenes for a video trailer
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ eachlabs/ skills --skill video-highlight-extractionAfter installing, type/video-highlight-extractionin Claude Code to confirm it loaded.
Bundled filesreferences/SSE-EVENTS.md
Details
From the project READMEVideo Highlight Extraction
Extract the best moments and highlights from long-form video content using each::sense. This skill intelligently analyzes videos to identify and extract compelling clips, action sequences, emotional peaks, and key moments.
Features
- Smart Detection: AI-powered analysis to find the most engaging moments
- Gaming Highlights: Extract kills, wins, clutch plays, and epic moments
- Sports Clips: Capture goals, touchdowns, dunks, and pivotal plays
- Podcast Moments: Find quotable segments and viral-worthy clips
- Webinar Summaries: Extract key points and actionable insights
- Meeting Highlights: Summarize decisions, action items, and key discussions
- Event Highlights: Concert peaks, wedding moments, travel adventures
- Trailer Generation: Auto-generate trailers from full-length content
Quick Start
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract the 5 best highlight moments from this gaming video, focus on action sequences and wins"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/gameplay-session.mp4"]
}'
Highlight Types & Use Cases
| Content Type | Focus Areas | Output Format |
|---|---|---|
| Gaming | Kills, wins, fails, reactions | Short clips (15-60s) |
| Sports | Scores, plays, celebrations | Highlight reel (30-90s) |
| Podcasts | Quotes, insights, debates | Clip compilations (30-120s) |
| Webinars | Key points, demos, Q&A | Summary clips (60-180s) |
| Meetings | Decisions, action items | Condensed recap (2-5min) |
| Concerts | Peaks, crowd moments | Best-of compilation |
| Weddings | Ceremony, reactions, speeches | Highlight reel |
| Travel | Scenic views, activities | Adventure montage |
Use Case Examples
1. Extract Best Moments from Long Video
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Analyze this 2-hour video and extract the top 10 most engaging moments. Look for emotional peaks, funny moments, and visually impressive scenes. Create individual clips of 30-60 seconds each."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/long-form-content.mp4"]
}'
2. Gaming Highlight Detection
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract gaming highlights from this Valorant stream. Find all clutch rounds, ace plays, and epic kills. Create a highlight reel with smooth transitions between clips."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/valorant-stream.mp4"]
}'
3. Sports Highlight Extraction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a sports highlight reel from this football game. Extract all touchdowns, big plays, interceptions, and celebration moments. Include 2 seconds before and after each key moment for context."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/football-game.mp4"]
}'
4. Podcast Best Clips
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Find the most shareable clips from this podcast episode. Look for controversial takes, insightful moments, funny exchanges, and quotable statements. Extract 5-8 clips optimized for social media (under 60 seconds each)."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/podcast-episode.mp4"]
}'
5. Webinar Key Moments
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract key moments from this 90-minute webinar. Identify main talking points, important demonstrations, audience questions, and actionable takeaways. Create a 5-minute summary highlight reel."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/webinar-recording.mp4"]
}'
6. Meeting Highlights
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a meeting highlight summary from this team call. Extract all decisions made, action items assigned, key discussion points, and any important announcements. Condense into a 3-minute recap video."}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"video_urls": ["https://example.com/team-meeting.mp4"]
}'
7. Concert Best Moments
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract the best moments from this concert recording. Find crowd singalongs, guitar solos, drum fills, artist interactions with crowd, and emotional peaks. Create a 4-minute highlight compilation with the most energetic parts."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/concert-full.mp4"]
}'
8. Travel Video Highlights
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a travel highlight reel from my vacation footage. Extract the most scenic views, exciting activities, local food experiences, and memorable moments. Make a 2-minute shareable video with dynamic pacing."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/vacation-footage.mp4"]
}'
9. Wedding Highlight Reel
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a wedding highlight reel from the full ceremony and reception footage. Extract the vows, first kiss, first dance, cake cutting, bouquet toss, speeches with emotional reactions, and candid guest moments. Create a 5-minute cinematic highlight video."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/wedding-full.mp4"]
}'
10. Auto-Generate Trailer from Movie
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate a 2-minute trailer from this feature film. Select the most dramatic moments, action sequences, emotional beats, and visually stunning shots. Build tension with the pacing - start slow, build to climax. Avoid major spoilers but hint at the story."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/feature-film.mp4"]
}'
Mode Selection
Ask your users before processing:
"Do you want fast & cheap, or high quality?"
| Mode | Best For | Speed | Quality |
|---|---|---|---|
max | Final highlight reels, client deliverables, trailer cuts | Slower | Highest |
eco | Quick previews, meeting recaps, internal reviews | Faster | Good |
Multi-Turn Highlight Refinement
Use session_id to iterate on extracted highlights:
# Initial extraction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract highlights from this gaming stream, focus on the best plays"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "highlight-project-001",
"video_urls": ["https://example.com/stream.mp4"]
}'
# Refine selection
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Remove the third clip and find more moments with team fights"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "highlight-project-001"
}'
# Adjust timing
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Make each clip shorter, around 15-20 seconds, and add transitions between them"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "highlight-project-001"
}'
Platform-Optimized Clips
Generate highlights optimized for different platforms:
# YouTube Shorts / TikTok (vertical 9:16)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract viral-worthy moments and format them as vertical 9:16 clips for TikTok/YouTube Shorts. Each clip should be 15-30 seconds with a strong hook in the first 2 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/content.mp4"]
}'
# Twitter/X (square 1:1)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create square 1:1 highlight clips optimized for Twitter. Under 2 minutes each, punchy and shareable."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/content.mp4"]
}'
Highlight Detection Parameters
Customize what the AI looks for:
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract highlights with the following criteria: prioritize moments with high audio energy (cheering, music peaks), visual motion (fast action, camera movement), and emotional expressions (laughter, surprise). Skip any slow or static segments. Create 8 clips of 20-40 seconds each."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/event-footage.mp4"]
}'
Error Handling
| Error | Cause | Solution |
|---|---|---|
Failed to create prediction: HTTP 422 | Insufficient balance | Top up at eachlabs.ai |
Video too long | Exceeds processing limits | Split into smaller segments |
Unsupported format | Video codec not supported | Convert to MP4 H.264 |
| Timeout | Long video processing | Set client timeout to minimum 10 minutes |
Important: Video highlight extraction can take significant time for long videos. Always set your HTTP client timeout to at least 10 minutes to avoid premature disconnection.
Best Practices
Input Video
- Format: MP4 with H.264 codec works best
- Quality: Higher resolution enables better moment detection
- Length: For videos over 2 hours, consider processing in segments
Prompt Tips
- Specify the number of highlights you want
- Describe the types of moments to look for
- Mention desired clip length
- Indicate output format requirements (aspect ratio, duration)
Output Optimization
- Use
maxmode for final deliverables - Use
ecomode for quick previews and iteration - Leverage
session_idfor multi-turn refinement
Related Skills
each-sense- Core API documentationvideo-generation- Generate new video contentvideo-edit- Edit and modify existing videos