media-processing

Ingest, analyze, and clip video, audio, and image files through a Gemini-powered pipeline.

1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/Logarn/Worklin-ai --skill media-processing-logarn
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: media-processing
Source: https://github.com/Logarn/Worklin-ai/tree/main/assistant/src/config/bundled-skills/media-processing
Command: npx skills add https://github.com/Logarn/Worklin-ai --skill media-processing-logarn

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @google/genai.

What problem does it solve? Analyzing long video or audio files manually is slow and impractical. This Skill automates the full pipeline: ingesting local media files, extracting keyframes and audio transcripts, running structured vision analysis through Gemini, answering natural-language questions about the content, and extracting clips around specific moments. ## Core Features & Use Cases - Media Ingestion & Preprocessing: Register video, audio, or image files with content-hash deduplication, then segment videos, extract downscaled keyframes, detect dead time, and optionally transcribe per-segment audio. - Structured Vision Analysis: Send keyframes or the full video to Gemini 2.5 Flash with a custom extraction prompt and JSON Schema, with concurrency pooling, retries, resumability, and cost tracking. - Natural-Language Q&A and Clip Extraction: Query the analysis results through Claude (e.g., "what happens at 3:14") and cut video clips with configurable pre/post-roll padding via ffmpeg. - Use Case: A coach uploads a two-hour game recording, runs a broad descriptive analysis pass, then asks questions like "find all the goals" and extracts highlight clips for each moment without reprocessing the video. ## Quick Start Ingest the video at /path/to/game.mp4, analyze it with a broad scene-description prompt, then ask what happens at the 15-minute mark and generate a clip of that moment.

Frequently Asked Questions about media-processing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze a video with Gemini using keyframes?▼

First run extract_keyframes to segment the video and extract frames, then run analyze_keyframes with a system_prompt and output_schema. Gemini 2.5 Flash processes each segment's frames and returns structured JSON matching your schema.

How do I ask questions about a video's content?▼

Use the query_media tool with the asset ID and a natural-language query after running analyze_keyframes. It sends the structured map output to Claude, which answers questions like what happens at a specific timestamp or whether certain events occurred.

What is the difference between keyframes mode and direct_video mode?▼

Keyframes mode sends extracted static frames per segment and suits videos over one hour. Direct_video mode uploads the file to Gemini's Files API so the model sees actual motion, but it has a 2 GB size limit and works best for shorter videos.

Does video analysis require ffmpeg to be installed?▼

Yes, ffmpeg and ffprobe are required for duration extraction, keyframe extraction, audio extraction, and clip generation. Without them, ingestion of video and audio files and clip extraction will fail.

Why does the analysis miss fast events like turnovers or fouls?▼

Gemini hallucinates fast temporal events when analyzing static keyframes, regardless of frame density. Use direct_video mode for motion-dependent detection, or use broad descriptive prompts and let Claude reason over the results via query_media.

What happens if the processing pipeline fails partway through?▼

The pipeline is resumable: it checks completed stages and cached per-segment results, then continues from where it stopped. Use media_status to inspect per-stage progress and error details before re-running the failed stage.