Back to skills
SKILL.md
Video Understanding
ASecurityAnalyze videos with Google Gemini multimodal AI. Download from any URL (Loom, YouTube, TikTok, Vimeo, Twitter/X, Instagram, 1000+ sites) and get transcripts, descriptions, and answers to questions. Use when asked to watch, analyze, summarize, or transcribe a video, or answer questions about video content. Triggers on video URLs or requests involving video understanding.
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added November 11, 2026
Works with
Security analysis
92/100- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 3 files and shows the line behind each finding
npx -y skills add johnalbertini14-glitch/openclaw-skills --skill video-understanding --agent claude-codeAre you the author of Video Understanding?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-video-understanding)---
name: video-understanding
description: >
Analyze videos with Google Gemini multimodal AI. Download from any URL (Loom, YouTube, TikTok,
Vimeo, Twitter/X, Instagram, 1000+ sites) and get transcripts, descriptions, and answers to
questions. Use when asked to watch, analyze, summarize, or transcribe a video, or answer
questions about video content. Triggers on video URLs or requests involving video understanding.
compatibility: "Requires yt-dlp, ffmpeg, and GEMINI_API_KEY environment variable. Python 3.10+ with uv."
metadata:
openclaw:
emoji: "π¬"
requires:
bins: ["yt-dlp", "ffmpeg"]
env: ["GEMINI_API_KEY"]
primaryEnv: "GEMINI_API_KEY"
install:
- id: "yt-dlp-brew"
kind: "brew"
formula: "yt-dlp"
bins: ["yt-dlp"]
label: "Install yt-dlp (brew)"
- id: "ffmpeg-brew"
kind: "brew"
formula: "ffmpeg"
bins: ["ffmpeg"]
label: "Install ffmpeg (brew)"
---
# Video Understanding (Gemini)
Analyze videos using Google Gemini's multimodal video understanding. Supports 1000+ video sources via yt-dlp.
## Requirements
- `yt-dlp` β `brew install yt-dlp` / `pip install yt-dlp`
- `ffmpeg` β `brew install ffmpeg` (for merging video+audio streams)
- `GEMINI_API_KEY` environment variable
## Default Output
Returns structured JSON:
- **transcript** β Verbatim transcript with `[MM:SS]` timestamps
- **description** β Visual description (people, setting, UI, text on screen, flow)
- **summary** β 2-3 sentence summary
- **duration_seconds** β Estimated duration
- **speakers** β Identified speakers
## Usage
### Analyze a video (structured JSON output)
```bash
uv run {baseDir}/scripts/analyze_video.py "<video-url>"
```
### Ask a question (adds "answer" field)
```bash
uv run {baseDir}/scripts/analyze_video.py "<video-url>" -q "What product is shown?"
```
### Override prompt entirely
```bash
uv run {baseDir}/scripts/analyze_video.py "<video-url>" -p "Custom prompt" --raw
```
### Download only (no analysis)
```bash
uv run {baseDir}/scripts/analyze_video.py "<video-url>" --download-only -o video.mp4
```
## Options
| Flag | Description | Default |
|------|-------------|---------|
| `-q` / `--question` | Question to answer (added to default fields) | none |
| `-p` / `--prompt` | Override entire prompt (ignores -q) | structured JSON |
| `-m` / `--model` | Gemini model | gemini-2.5-flash |
| `-o` / `--output` | Save output to file | stdout |
| `--keep` | Keep downloaded video file | false |
| `--download-only` | Download only, skip analysis | false |
| `--max-size` | Max file size in MB | 500 |
| `--raw` | Raw text output instead of JSON | false |
## How It Works
1. **YouTube URLs** β Passed directly to Gemini (no download needed)
2. **All other URLs** β Downloaded via yt-dlp β uploaded to Gemini File API β poll until processed
3. Gemini analyzes video with structured prompt β returns JSON
4. Temp files and Gemini uploads cleaned up automatically
## Supported Sources
Any URL supported by [yt-dlp](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md): Loom, YouTube, TikTok, Vimeo, Twitter/X, Instagram, Dailymotion, Twitch, and 1000+ more.
## Tips
- Use `-q` for targeted questions on top of the full analysis
- YouTube is fastest (no download step)
- Large videos (10min+) work fine β Gemini File API supports up to 2GB (free) / 20GB (paid)
- The script auto-installs Python dependencies via `uv`
Files in this skill
- SKILL.md
- _meta.json
- scripts/analyze_video.py
Attribution
Related skills
View all in content-marketing βComments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.