video-understanding
Watch and analyze video URLs or files using Gemini native agentic video understanding for summaries, timestamped answers, transcripts, and visual reconstruction.
bill492
@bill492
What This Skill Does
Downloads and analyzes videos from 1000+ sources (YouTube, URLs, local files) using Google Gemini's multimodal AI. Returns structured JSON with transcript, visual description, summary, duration, and speakers. Supports follow-up questions via session caching.
Replaces manually watching or transcribing videos by extracting transcript, visual descriptions, and summaries automatically through a single CLI command.
When to Use It
- Get a transcript and summary of a YouTube video without watching it
- Ask specific questions about visual content in a video (e.g., 'What product is shown?')
- Analyze a local video file for its spoken content and visual elements
- Extract timestamps and speaker identification from a recorded meeting or presentation
- Follow up with multiple questions about the same video without re-uploading
- Download a video for offline analysis without performing any AI processing
Install
$ openclaw skills install @bill492/video-understandingVideo Understanding
Analyze video URLs or files, including casual requests to watch or react. All cloud analysis uses Gemini 3.7 Flash and native processing: agentic. No static fallback.
Procedure
- Identify the video, requested output, sensitivity, and intended audience. Before sending any video or prompt to Google Gemini, confirm the user authorized that cloud processing. A generic “watch this” request alone is not permission to upload private/local material. Use
--allow-cloudonly to record actual authorization, never to bypass asking. Public-video analysis explicitly requested through this Gemini skill is authorized. - Check
uvand the configured Gemini credential path. Download workflows also requireyt-dlpandffmpeg(macOS:brew install yt-dlp ffmpeg). Never put credentials or signed URLs in commands, chat, or logs. For authentication, destinations, and retention, read references/privacy.md. - Inspect
scripts/analyze_video.py --help. Default output is a summary/visual overview;--questionrequests a focused answer and timestamped evidence.--mode fullrequests a transcript and full visual coverage, not guaranteed completeness. - Run the smallest sufficient analysis. Local videos upload to Gemini, YouTube URLs go directly to Gemini, and other credential-free HTTPS videos download first. Confirm a valid result or explicit failure.
- Check timestamps, visible text, speaker attribution, chronology, and critical claims against evidence. Mark uncertainty and distinguish observation from inference. Return only the requested material to the intended audience; transcripts can contain sensitive information.
- Retain uploads only when authorized using
--reuse-file-cache. A--session-keyidentifies reuse but does not save chat history. Add--save-history --continue-chatonly with authorization to retain questions/outputs locally; YouTube follow-ups resubmit the URL. - Use
--purge-cachewith the same source/session to delete retained remote handles and local history. Cleanup failures return nonzero and preserve minimal handles for retry; confirm deletion rather than assuming it.
Commands
After cloud authorization:
uv run <skill_dir>/scripts/analyze_video.py "<video-url-or-path>" --allow-cloud
uv run <skill_dir>/scripts/analyze_video.py "<video-url-or-path>" --allow-cloud --question "What product is shown?"
uv run <skill_dir>/scripts/analyze_video.py "<video-url-or-path>" --allow-cloud --mode full
uv run <skill_dir>/scripts/analyze_video.py "<video-url-or-path>" --allow-cloud --session-key "<stable-key>" --reuse-file-cache --save-history --continue-chat --question "What happens after that screen?"
uv run <skill_dir>/scripts/analyze_video.py "<video-url-or-path>" --session-key "<stable-key>" --purge-cache
Gotchas and boundaries
--promptreplaces built-in evidence instructions, ignores--mode, and bypasses--continue-chatcontext. Include required evidence and uncertainty instructions yourself; it cannot accompany--question.- Supported models:
gemini-3.7-flash,gemini-3.6-flash,gemini-3.5-flash-lite. Optional--fallback-modelstays agentic and applies only to transient errors. Missing access is a blocker, not permission to switch providers. - SDK is pinned and resolved by
uv.--use-context-cacheis rejected; legacy--cache-ttl-secondsdoes not control File API expiry. Purge supports legacy CachedContent. - No history is saved by default.
--outputdeliberately writes analysis to a mode-0600 file; stdout may be captured by the caller. Do not post private transcripts to a shared channel merely because processing was authorized. - Diagnostics omit source URLs/paths and raw provider/downloader errors. Usage, model, processing mode, and elapsed time go to stderr. Timestamps and duration are model estimates, not frame-exact measurements.
- Any HTTP(S) video source supported by yt-dlp is eligible; there is no domain whitelist. Normal query parameters are supported. Use only sources the user authorized. This local downloader is not an SSRF isolation boundary: deployments accepting untrusted jobs must enforce network egress policy outside the skill, including redirects and extractor/CDN requests.
- Never put signed URLs or credentials into commands; use an authorized local file instead. The downloader ignores ambient configuration.
Top skills in this category
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.
Frontend Design
@michaelmonetizedCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when building web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Remotion Video Toolkit
@shreefentsarComplete toolkit for programmatic video creation with Remotion + React. Covers animations, timing, rendering (CLI/Node.js/Lambda/Cloud Run), captions, 3D, charts, text effects, transitions, and media handling. Use when writing Remotion code, building video generation pipelines, or creating data-driven video templates.
Feishu Evolver Wrapper
@autogame-17(Depreciated: This skill is no longer maintained; its related functions have been absorbed by the Evolver main body.) Feishu-integrated wrapper for the capability-evolver. Manages the evolution loop lifecycle (start/stop/ensure), sends rich Feishu card reports, and provides...