thumbnail
Generate video cover frames and thumbnails for YouTube, TikTok, Reels, and social media. Use when asked for a video thumbnail, cover frame, YouTube thumbnail, or to extract a still from a video.
Best use case
thumbnail is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generate video cover frames and thumbnails for YouTube, TikTok, Reels, and social media. Use when asked for a video thumbnail, cover frame, YouTube thumbnail, or to extract a still from a video.
Teams using thumbnail should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/thumbnail/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How thumbnail Compares
| Feature / Agent | thumbnail | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generate video cover frames and thumbnails for YouTube, TikTok, Reels, and social media. Use when asked for a video thumbnail, cover frame, YouTube thumbnail, or to extract a still from a video.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Thumbnail — Video Cover Frames & Thumbnails Generate optimized video thumbnails / cover frames for YouTube, TikTok, and social media. ## Two Approaches ### A. Extract Best Frame from Video (ffmpeg) ```bash # Extract I-frame (keyframe) — usually sharpest ffmpeg -i video.mp4 -vf "select=eq(pict_type\,I)" -frames:v 1 -q:v 2 thumb.jpg # Extract frame at specific timestamp ffmpeg -ss 00:00:05 -i video.mp4 -frames:v 1 -q:v 2 thumb.jpg # Extract multiple candidate frames (one every 5 seconds) ffmpeg -i video.mp4 -vf "fps=1/5" -q:v 2 thumb_%03d.jpg ``` After extracting candidates, review them with the image tool and pick the best one (sharpest, best expression, good composition). ### B. Generate Custom Thumbnail (AI Image Generation) Use the `image_generate` tool directly or any image generation skill to generate a designed thumbnail from scratch. Prompt guidance: - Include a face/subject with clear expression - Specify text overlay in the prompt (keep to 3-5 words) - Request high contrast, bright colors - Match the platform aspect ratio (see specs below) Example prompt structure: "YouTube thumbnail, 16:9, [subject description], [expression/action], bold text '[YOUR TEXT]', bright [color] background, high contrast, photorealistic" ## Platform Specs | Platform | Size | Aspect | Notes | |----------|------|--------|-------| | YouTube | 1280x720 | 16:9 | Custom upload. Most important for CTR. | | TikTok | 1080x1920 | 9:16 | Select from video frames only (no custom upload). | | Instagram Reels | 1080x1920 | 9:16 | Can set cover frame from video. | | YouTube Shorts | 1080x1920 | 9:16 | Auto-selected from video. | ## Best Practices - **Faces with expression** increase CTR 30%+ - **High contrast colors** (avoid muted tones) - **Large text** (3-5 words max, readable at small size) - **Don't repeat the title** verbatim - **Rule of thirds** for subject placement - **Bright background** or colored border to stand out in feed - For YouTube: test with mobile preview size (the thumbnail is tiny on phone) ## Adding Text to an Extracted Frame (ffmpeg) ```bash # Centered text near bottom with black outline ffmpeg -i thumb.jpg -vf "drawtext=text='3 MISTAKES':fontsize=80:fontcolor=white:borderw=4:bordercolor=black:x=(w-text_w)/2:y=h-text_h-50" thumb_text.jpg # Top-left text ffmpeg -i thumb.jpg -vf "drawtext=text='WATCH THIS':fontsize=72:fontcolor=yellow:borderw=3:bordercolor=black:x=40:y=40" thumb_text.jpg ``` For more complex text layouts (drop shadows, multiple text blocks, custom fonts), use AI image generation (see approach B above) to generate the thumbnail instead. ## Workflow 1. **Determine approach:** Does the user have a video to extract from (→ A) or need a generated thumbnail (→ B)? 2. **Confirm platform:** YouTube 16:9 vs. vertical 9:16. Default to YouTube 1280x720 if unspecified. 3. **Extract or generate:** Run the appropriate approach. 4. **Add text if needed:** Use ffmpeg drawtext for simple overlays, or regenerate with AI image generation if complex. 5. **Review:** Screenshot/display the result for user approval.
Related Skills
writer
Write content in Eric's voice — articles, blog posts, tweets, social media posts, marketing copy, newsletter drafts. Loads WRITING-STYLE.md and enforces kill phrases.
positioning-angles
Use when defining product positioning, choosing strategic angles, crafting value propositions, competitive positioning, product messaging, differentiation strategy, or go-to-market angles. Also use for 'how should I position my app', 'what angle should I use', 'painkiller vs vitamin', or 'market positioning'.
outline-generator
Use when generating outlines, article structures, content outlines, blog outlines, planning article sections, structuring posts, breaking down topics into sections, or organizing ideas for long-form content. Also use for 'outline this', 'structure this article', or 'plan the sections'.
last30days-open
Use only when the user explicitly asks for the open variant of last30days, including watchlists, briefings, and history queries. Sources: Reddit, X, YouTube, web.
last30days
Use when researching what happened in the last 30 days on a topic. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web. Produces expert-level summary with copy-paste-ready prompts.
hooks
Use when generating hooks, headlines, titles, and scroll-stopping openers for content. Also use when analyzing viral posts, Reels, TikToks, YouTube Shorts, or successful social examples to extract reusable hook patterns and improve hook guidance.
evaluate-content
Use when judging content quality OR editing/improving existing copy: shareability, readability, voice, cuttability, angle, copy sweeps.
editor-in-chief
Use when a first draft is complete and all Phase 1 gates are done: topic selected (seo-research), title approved (hooks), outline approved (outline-generator), draft written (writer). Runs autonomous diagnosis-prescribe-rewrite loop before Substack.
copywriting
Write or improve marketing copy for any surface: pages, ads, app stores, landing pages, TikTok/Meta scripts, push notifications, UGC. Combines page copy frameworks with direct response principles.
content-strategy
Use when building content strategy: hooks, angles, and ideas from what's trending now. Covers organic and paid creative across TikTok, X, YouTube, Meta, LinkedIn.
content-pipeline
Orchestrator for the 3-article content pipeline — runs research phase, spawns parallel article sub-agents, creates Typefully drafts. Use when running the full content pipeline (usually via cron at 3am).
yt-dlp
Download audio/video from YouTube and other sites using yt-dlp. Use when the user asks to download music, songs, albums, podcasts, or video from YouTube or similar platforms. Triggers on 'download song', 'get mp3', 'yt-dlp', 'youtube download', 'rip audio'.