| name | keyframe-extractor |
| description | Extracts key frames from videos for style reference, regeneration, or analysis. Identifies visually significant moments and saves frames for further use. |
Keyframe Extractor
This skill extracts important frames from videos, identifying visually significant moments, scene changes, and stylistic reference points. Use for style matching, video regeneration, or visual analysis.
When to Use This Skill
- Extracting style reference frames from videos
- Analyzing shot composition and visual style
- Preparing frames for image-to-video generation
- Creating visual mood boards from video
- Documenting video aesthetic for replication
- Extracting frames for prompt generation
- Getting screenshots for storyboards
What This Skill Does
- Scene Detection: Identifies major scene changes and transitions
- Keyframe Identification: Selects visually representative frames
- Frame Extraction: Saves high-quality still images from video
- Frame Analysis: Provides description of visual elements in each frame
- Style Documentation: Catalogs visual patterns across frames
- Metadata Capture: Records timestamp and context for each frame
How to Use
Extract from Video URL
Extract keyframes from this video: [URL]
Get reference frames from: [URL]
Specific Extraction
Extract [N] evenly-spaced frames from: [URL]
Get frames at: 0:05, 0:30, 1:15, 2:00 from [URL]
For Style Reference
Extract keyframes from [URL] for style matching
Instructions
When user requests keyframe extraction:
-
Understand Requirements
I'll extract keyframes from your video.
**Video Source**: [URL or file path]
**Extraction Method**:
[ ] Automatic scene detection (AI identifies key moments)
[ ] Evenly spaced (e.g., every 10 seconds)
[ ] Specific timestamps (provide times)
[ ] Smart sampling (balanced across video)
**Number of Frames**: [How many frames to extract]
**Purpose**:
[ ] Style reference for new video
[ ] Visual analysis
[ ] Prompt generation for image recreation
[ ] Storyboard creation
[ ] Other: ___________
-
Download/Access Video
## Video Processing
**Video Details**:
- Source: [URL or path]
- Duration: [X:XX]
- Resolution: [resolution]
- FPS: [frame rate]
**Extraction Settings**:
- Method: [Scene detection / Interval / Timestamps]
- Frame count: [N frames]
- Output format: PNG (high quality)
- Resolution: [Match source or specify]
-
Extract Frames (Using FFmpeg or similar)
ffmpeg -i input_video.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr ./output/assets/keyframes/frame_%04d.png
ffmpeg -i input_video.mp4 -vf fps=1/10 ./output/assets/keyframes/frame_%04d.png
ffmpeg -i input_video.mp4 -ss 00:00:05 -vframes 1 ./output/assets/keyframes/frame_001.png
-
Analyze Each Frame
For each extracted frame:
## Keyframe Catalog
### Frame 001
**Timestamp**: 0:00:05
**Filename**: `frame_001.png`
**Visual Description**:
: [What's the main focus]
: [How elements are arranged]
: [Close-up/Medium/Wide]
: [Location/background]
:
: [List 3-5 colors]
: [Warm/Cool/Neutral]
: [Low/Medium/High]
: [Emotional quality]
:
: [Natural/Studio/Mixed]
: [Front/Side/Back]
: [Soft/Hard]
: [Bright/Dramatic/Neutral]
:
[ ] Person/People
[ ] Product
[ ] Text overlay
[ ] Graphics/Icons
[ ] Logo/Branding
[ ] Background elements
:
Sharpness: [Sharp/Soft/Motion blur]
Exposure: [Well-exposed/Overexposed/Underexposed]
Depth of field: [Shallow/Deep]
:
Style reference for: [What aspect]
Prompt potential: [How to recreate]
Storyboard position: [Where in narrative]
---
[Same structure as above]
---
[Continue for all extracted frames]
Output Format
Keyframe extraction should produce:
- High-quality frame images: PNG format, original resolution
- Detailed analysis: Visual description for each frame
- Image prompts: Ready to use for regeneration
- Style guide: Patterns and consistency analysis
- Organized files: Clear naming and folder structure
Tips
- Scene detection: Works best for videos with clear scene changes
- Interval method: Good for consistent sampling across video
- Quality over quantity: 5-10 meaningful frames better than 50 random ones
- Timestamp notes: Always record exact timestamp for context
- Prompt detail: More specific prompts = better regeneration results
- Style consistency: Look for patterns across frames, not just individual shots
Technical Notes
ffmpeg -i input.mp4 -vf fps=1 output_%04d.png
ffmpeg -i input.mp4 -ss 00:01:30 -vframes 1 -q:v 2 output.png
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)'" -vsync vfr output_%04d.png
ffmpeg -i input.mp4 -vf "select='not(mod(n\,30))'" -vsync vfr output_%04d.png
Related Skills
- Use
video-analyzer first to understand video structure
- Use
prompt-generator to create detailed prompts from frames
- Use
batch-image-generator to recreate style from frame prompts
- Use frames as reference when using
video-segment-creator