From eachlabs-skills
Trim, cut, and split videos using each::sense AI with scene detection, silence removal, intro/outro removal, and batch processing for social media clips.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eachlabs-skills:video-trimmingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Trim, cut, and split videos using each::sense. This skill enables precise video editing operations including segment extraction, scene detection, silence removal, and batch processing for social media optimization.
Trim, cut, and split videos using each::sense. This skill enables precise video editing operations including segment extraction, scene detection, silence removal, and batch processing for social media optimization.
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": "Trim this video to the first 30 seconds"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/my-video.mp4"]
}'
| Operation | Description | Example Use Case |
|---|---|---|
| Duration Trim | Cut to specific length from start | Social media clips |
| Timestamp Trim | Extract between start/end times | Interview segments |
| Intro Removal | Remove first N seconds | Clean up recordings |
| Outro Removal | Remove last N seconds | Remove end cards |
| Segment Extraction | Pull middle portion | Highlight reels |
| Scene Split | Divide by visual changes | Chapter creation |
| Silence Removal | Cut silent portions | Podcast editing |
| Batch Trim | Process multiple videos | Content repurposing |
Trim a video to a specific length from the beginning.
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": "Trim this video to exactly 60 seconds, keeping the first minute only"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/full-video.mp4"]
}'
Extract a specific portion from the middle of a video using timestamps.
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": "Cut out the segment from 1:30 to 2:45 of this video. I want just that middle portion as a standalone clip."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/interview.mp4"]
}'
Clean up a video by removing unwanted intro and outro sections.
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 first 10 seconds (intro) and last 15 seconds (outro) from this video. Keep only the main content in the middle."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/youtube-video.mp4"]
}'
Divide a long video into several shorter segments.
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": "Split this 5-minute video into five 1-minute clips. Each clip should be a separate output."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/long-video.mp4"]
}'
Pull out the best moments from a longer 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": "Extract the most engaging or action-packed moments from this video. Create a highlight reel of the best 30 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/sports-footage.mp4"]
}'
Automatically detect and remove silent portions from a 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": "Remove all silent portions and dead air from this video. Cut out any segments where there is no speaking or significant audio for more than 2 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/podcast-recording.mp4"]
}'
Use AI to detect scene changes and split the video accordingly.
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 video and split it into separate clips based on scene changes. Each time the visual scene changes significantly, create a new clip."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/multi-scene-video.mp4"]
}'
Process multiple videos with the same trimming rules using session continuity.
# First 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": "Trim this video to 30 seconds from the start. We will process multiple videos with the same rule."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-trim-001",
"mode": "eco",
"video_urls": ["https://example.com/video1.mp4"]
}'
# Second video (same session)
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": "Apply the same 30-second trim to this video"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-trim-001",
"mode": "eco",
"video_urls": ["https://example.com/video2.mp4"]
}'
# Third video (same session)
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": "And the same for this one"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-trim-001",
"mode": "eco",
"video_urls": ["https://example.com/video3.mp4"]
}'
Optimize videos for specific social media platform requirements.
# Instagram Reels / TikTok (15 seconds)
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": "Trim this video to exactly 15 seconds for Instagram Reels. Pick the most engaging 15-second segment."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/content.mp4"]
}'
# YouTube Shorts (30 seconds)
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 30-second clip optimized for YouTube Shorts from this video. Focus on the hook at the start."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/content.mp4"]
}'
# Standard social clip (60 seconds)
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": "Trim to 60 seconds maximum for Twitter/X. Keep the most important content."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/content.mp4"]
}'
Create seamlessly looping video clips for social media.
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": "Trim this video to create a seamless loop. Find a segment where the end flows naturally back to the beginning, ideally 5-10 seconds long for a satisfying social media loop."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/loopable-content.mp4"]
}'
eco mode for batch processing or quick iterationsmax mode for final exports and quality-critical content| Platform | Recommended Length | Notes |
|---|---|---|
| TikTok | 15-60 seconds | Hook in first 3 seconds |
| Instagram Reels | 15-30 seconds | 90 seconds max |
| YouTube Shorts | 30-60 seconds | Under 60 seconds required |
| Twitter/X | 30-60 seconds | 2:20 max for standard accounts |
| 30-90 seconds | Professional context |
When requesting video trims, include these details:
mode: "max" for finals, mode: "eco" for drafts"[Action] this video [timing/selection criteria].
[Additional requirements like output format, platform, etc.]"
Examples:
"Do you want fast & cheap, or high quality?"
| Mode | Best For | Speed | Quality |
|---|---|---|---|
max | Final exports, client deliverables, quality-critical | Slower | Highest |
eco | Quick previews, batch processing, draft iterations | Faster | Good |
Use session_id to iterate on video edits:
# Initial trim
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": "Trim this video to the segment from 0:30 to 1:30"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "edit-session-001",
"video_urls": ["https://example.com/raw-footage.mp4"]
}'
# Adjust the trim
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": "Actually, extend the end by 10 more seconds to include the conclusion"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "edit-session-001"
}'
# Request additional version
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 shorter 15-second version of this same segment for Instagram"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "edit-session-001"
}'
| Error | Cause | Solution |
|---|---|---|
Failed to create prediction: HTTP 422 | Insufficient balance | Top up at eachlabs.ai |
| Timeout | Long video processing | Set client timeout to minimum 10 minutes |
| Invalid timestamp | Timestamp exceeds video length | Verify video duration first |
| Unsupported format | Video codec not supported | Convert to MP4/H.264 first |
each-sense - Core API documentationvideo-generation - Create videos from scratchvideo-editing - Advanced video editing operationsvideo-to-video - Transform and style transfer videosnpx claudepluginhub eachlabs/skillsExtracts highlights, best moments, and key clips from long videos using each::sense AI. Useful for gaming, sports, podcasts, webinars, meeting recaps, and auto-trailer generation.
Edits videos with AI agents using ffmpeg and ElevenLabs transcription: cuts filler words, color grades, burns subtitles, generates animation overlays, and evaluates output at each cut boundary.
Creates 3 AI-edited sizzle reel variations from a video using Adobe Quick Cut. Use when users want to cut, trim, or shorten a video into highlights.