Video Summarizer
Analyzes MP4 files in a directory via the Gemini API and writes a .md summary file next to each video.
Prerequisites
GEMINI_API_KEYenv var must be setgoogle-genaiinstalled:py -m pip install google-genai- Python available as
py(Windows) orpython3
Workflow
1. Determine the prompt
Check if the user provided a custom prompt or specific extraction instructions.
- No custom prompt -> use the default (structured summary with Title, Summary, Key Points, Takeaways)
- User provides custom instructions -> pass them via
--promptor--prompt-file
A custom prompt completely replaces the default. Examples of custom prompts:
- "Extract all mentioned tools, their prices, and a one-line description for each"
- "List every action item and deadline mentioned in this video"
- "Create a transcript outline with timestamps"
2. Run the script
# Default summary — all videos in current directory (recursive)
py scripts/summarize_videos.py
# Default summary — specific directory
py scripts/summarize_videos.py "C:/path/to/videos"
# Custom prompt (inline) — replaces default summary format
py scripts/summarize_videos.py --prompt "Extract all product names and prices mentioned"
# Custom prompt (from file) — replaces default summary format
py scripts/summarize_videos.py --prompt-file my-prompt.txt
# Both directory and custom prompt
py scripts/summarize_videos.py "C:/path/to/videos" --prompt "List all key decisions made"
3. How Claude should handle user arguments
When the user invokes this skill:
- If the user specifies a custom prompt or extraction goal (e.g., "extract all tools mentioned",
"summarize focusing on pricing", "list action items"), pass it via
--prompt "...". - If the user provides a prompt file path, pass it via
--prompt-file path/to/file.txt. - If the user gives no specific instructions, run without
--promptto use the default format. - If the user specifies a directory, pass it as the first positional argument.
4. Default output format (when no custom prompt is given)
# [Video Title]
## Summary
[2-3 sentence description]
## Key Points
- point 1
- point 2
- ...
## Core Content & Takeaways
[Central message and key insight]
---
*Auto-generated with Gemini API*
Notes
- Language of the summary matches the language of the video
- Files are auto-deleted from Gemini storage after processing (48h limit)
- Already-summarized videos are skipped on re-runs
- Script path:
scripts/summarize_videos.py - Model:
gemini-3-flash-preview