video-caption-generator
ericosiu/ai-marketing-skills/video-caption-generator/SKILL.md
name: video-caption-generator description: > Transcribe short videos from a Google Drive folder, deduplicate by content, and generate social captions + YouTube/Facebook titles. Use when new video clips are dropped into a Drive folder and you need transcript, caption, and title for each unique clip. Trigger phrases: "process videos in drive", "transcribe new clips", "caption these videos", "generate titles for these clips". --- Processes new MP4s from a Google Drive folder: transcribes, deduplicates, generates captions + titles. Configure your Google Drive…
- Reads credentials
What's in it
- Video Caption Generator
- Drive Folder Setup
- Quick Run
- A/B Variant Handling
- Output Format
- Caption + Title Style Guide
- Dependencies
- Configuration
- Adding New Folders
--- ## Preamble (runs on skill start) ```bash # Version check (silent if up to date) python3 telemetry/version_check.py 2>/dev/null || true # Telemetry opt-in (first run only, then remembers your choice) python3 telemetry/telemetry_init.py 2>/dev/null || true ``` > **Privacy:** This skill logs usage locally to `~/.ai-marketing-skills/analytics/`. Remote telemetry is opt-in only. No code, file paths, or repo content is ever collected. See `telemetry/README.md`. --- name: video-caption-generator description: > Transcribe short videos from a Google Drive folder, deduplicate by content, and generate social captions + YouTube/Facebook titles. Use when new video clips are dropped into a Drive folder and you need transcript, caption, and title for each unique clip. Trigger phrases: "process videos in drive", "transcribe new clips", "caption these videos", "generate titles for these clips". --- # Video Caption Generator Processes new MP4s from a Google Drive folder: transcribes, deduplicates, generates captions + titles. ## Drive Folder Setup Configure your Google Drive folder IDs before first use: | Folder | Purpose | |--------|---------| | Main / To Schedule | New clips are dropped here for processing | | Scheduled | Already posted/scheduled clips (moved after publishing) | | A/B | Title variants for later posting | Set your folder IDs in `folder-map.json` or pass them directly via `--folder-id`. ## Quick Run ```bash python3 skills/video-caption-generator/scripts/process_videos.py \ --folder-id YOUR_FOLDER_ID ``` Processed video IDs are logged to `processed_ids.json` so already-seen videos are skipped on future runs. ## A/B Variant Handling Videos with identical transcripts but different filenames (e.g., `0411.mp4`, `0411(1).mp4`) are A/B title variants — same audio, different on-screen title. The script processes ALL variants (no dedup skipping) and tags them as A/B variants in the output. ## Output Format For each unique new clip, output: ``` *<filename>* 📝 *Transcript:* <raw spoken words> 🎬 *Caption:* <social-friendly 2-4 sentence caption> 📺 *YT/FB Title:* <punchy title under 60 chars> ``` ## Caption + Title Style Guide - **Caption:** First person, conversational, no hashtags, 2-4 sentences. Hook first, insight second. - **Title:** Curiosity-driven, under 60 chars, no "How I..." unless earned. Lead with the tension or number. ## Dependencies - `whisper` (local installation, model: turbo) - Google Drive CLI or SDK for listing/downloading files - Anthropic API key (set via `ANTHROPIC_API_KEY` environment variable) ## Configuration 1. Set `ANTHROPIC_API_KEY` in your environment 2. Update `GWS_GATEWAY` in `scripts/process_videos.py` to point to your Google Drive CLI 3. Update `WHISPER_BIN` if Whisper is installed at a different path ## Adding New Folders Pass `--folder-id <ID>` for different folders. Each folder uses the same shared `processed_ids.json` log (Drive IDs are globally unique so there's no collision).
More agent context in ericosiu/ai-marketing-skills
35 other files this repository gives its agents.
CLAUDE.md
Skill
- Agentic video understandingagentic-video-understanding/SKILL.md
- autoresearchautoresearch/SKILL.md
- clone-siteclone-site/SKILL.md
- closed-loop-analytics-upgradeclosed-loop-analytics-upgrade/SKILL.md
- content-evalcontent-eval/SKILL.md
- expert-panelcontent-ops/SKILL.md
- conversion-opsconversion-ops/SKILL.md
- deck-generatordeck-generator/SKILL.md
- finance-opsfinance-ops/SKILL.md
- growth-enginegrowth-engine/SKILL.md
- growth-signal-chartsgrowth-signal-charts/SKILL.md
- lead-dossierlead-dossier/SKILL.md
- leveling-up-content-engineleveling-up-content-engine/SKILL.md
- net-new-video-editornet-new-video-editor/SKILL.md
- cold-outbound-optimizeroutbound-engine/SKILL.md
- packaging-youtube-thumbnailspackaging-youtube-thumbnails/SKILL.md
- personal-strategic-signal-intelligencepersonal-strategic-signal-intelligence/SKILL.md
- podcast-pipelinepodcast-ops/SKILL.md
- revenue-intelligencerevenue-intelligence/SKILL.md
- sales-pipelinesales-pipeline/SKILL.md
- sales-playbooksales-playbook/SKILL.md
- seo-opsseo-ops/SKILL.md
- shortform-format-libraryshortform-format-library/SKILL.md
- shortform-idea-grillshortform-idea-grill/SKILL.md
- short-form-pipelineshort-form-pipeline/SKILL.md
- shortform-productionshortform-production/SKILL.md
- show-and-tell-video-slateshow-and-tell-video-slate/SKILL.md
- sidebar-prioritizersidebar-prioritizer/SKILL.md
- team-opsteam-ops/SKILL.md
- video-analysisvideo-analysis/SKILL.md
- video-clip-pipelinevideo-clip-pipeline/SKILL.md
- video-content-enginevideo-content-engine/SKILL.md
- x-longform-postx-longform-post/SKILL.md
- yt-competitive-analysisyt-competitive-analysis/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

