youtube-thumbnail-design
YouTube Thumbnail Design
Create high-CTR YouTube thumbnails with AI image generation via inference.sh CLI.
Quick Start
Requires inference.sh CLI (
belt). Install instructions
belt login
# Generate a thumbnail
belt app run falai/flux-dev-lora --input '{
"prompt": "YouTube thumbnail style, close-up of a person with surprised excited expression looking at a glowing laptop screen, vibrant blue and orange color scheme, dramatic studio lighting, shallow depth of field, high contrast, cinematic",
"width": 1280,
"height": 720
}'
Specifications
| Spec | Value |
|---|---|
| Dimensions | 1280 x 720 px (minimum) |
| Recommended | 1920 x 1080 px |
| Aspect ratio | 16:9 |
| Max file size | 2 MB |
| Formats | JPG, GIF, PNG |
The 120px Test
Your thumbnail appears at roughly 120px wide on mobile — that's how most viewers first see it.
At 120px, viewers must be able to identify:
- The mood/emotion (from colors and expression)
- The general subject (from composition)
- The text (if any — only if large enough)
Test: view your thumbnail at 120px width. If it's a muddy blur, redesign.
Safe Zones
┌─────────────────────────────────────────────┐
│ │
│ ✅ SAFE FOR TEXT AND KEY ELEMENTS │
│ │
│ │
│ │
│ │
│ ┌───┐ │
│ │ ⏱ │ │ ← Timestamp overlay
│ ┌────────┴───┘ │ (bottom-right)
│ ┌────┐ │ DURATION │
│ │ CH │ Chapter marker └──────────────│
└───┴────┴────────────────────────────────────┘
↑ Bottom-left: chapter/progress markers
Avoid placing critical elements in:
- Bottom-right corner (video duration timestamp)
- Bottom-left corner (chapter markers, progress bar)
- Extreme edges (cropping varies by device)
Color Strategy
High-Contrast Pairs That Work
| Combination | Mood | Best For |
|---|---|---|
| Yellow + Black | Urgency, attention | Tech, business, lists |
| Red + White | Energy, excitement | Entertainment, reactions |
| Blue + Orange | Professional contrast | Education, tutorials |
| Green + White | Growth, money | Finance, success stories |
| Purple + Yellow | Premium, creative | Design, art, creativity |
| White + Dark | Clean, minimal | Luxury, minimalist channels |
Color Rules
- Background and text/subject should be complementary or high-contrast
- Avoid same-temperature colors touching (red on orange = mud)
- Use 3 colors maximum per thumbnail
- Saturate more than real life — thumbnails compete with bright UI
Text on Thumbnails
When to Use Text
- Lists/numbers: "7 Tips", "Top 10"
- Strong opinions: "STOP Doing This"
- Results: "$10K in 30 Days"
- Comparisons: "vs" between two things
When NOT to Use Text
- The video title already says it (redundant)
- The emotion/visual tells the story
- You can't make it large enough to read at 120px
Text Rules
| Rule | Reason |
|---|---|
| Max 6 words | Readability at thumbnail size |
| Min 60pt equivalent | Must be legible at 120px width |
| Bold sans-serif font | Thin fonts disappear at small sizes |
| Contrast stroke/shadow | Ensures readability on any background |
| No small text | If it's not readable small, cut it |
Face Expression Psychology
Thumbnails with faces get higher CTR than faceless thumbnails. Expression matters:
| Expression | CTR Impact | Best For |
|---|---|---|
| Surprise/shock | Highest | Reaction, reveal, discovery content |
| Curiosity | High | Tutorial, how-to, tips |
| Excitement | High | Unboxing, reviews, announcements |
| Concern/worry | Medium-high | Warning, mistake, problem content |
| Confidence | Medium | Expert advice, authority content |
| Neutral | Lowest | Avoid unless your brand is minimalist |
Face Composition Rules
- Face should fill 30-50% of the thumbnail
- Eyes looking toward the text or subject (directs viewer attention)
- Eyes looking at camera = connection. Eyes looking at object = curiosity.
- Place face on one side (usually left), text or subject on the other
# Generate a face-forward thumbnail
belt app run falai/flux-dev-lora --input '{
"prompt": "close-up portrait of a man with genuinely surprised expression, mouth slightly open, raised eyebrows, looking at camera, left side of frame, vibrant teal background, dramatic rim lighting, YouTube thumbnail style, high contrast, cinematic",
"width": 1280,
"height": 720
}'
# Generate a face-looking-at-subject thumbnail
belt app run bytedance/seedream-4-5 --input '{
"prompt": "person looking amazed at a glowing holographic chart showing upward growth, dramatic blue and green lighting, right side profile view, dark background, tech aesthetic, high energy",
"size": "2K"
}'
Thumbnail Patterns by Content Type
Tutorial / How-To
belt app run falai/flux-dev-lora --input '{
"prompt": "overhead flat lay of organized workspace with laptop showing code editor, colorful sticky notes, coffee cup, clean bright background, professional setup, tutorial style composition, warm lighting",
"width": 1280,
"height": 720
}'
Before/After
belt app run falai/flux-dev-lora --input '{
"prompt": "split composition, left side dark and messy disorganized desk, right side bright clean organized minimalist workspace, dramatic contrast between chaos and order, clear dividing line in center, high contrast",
"width": 1280,
"height": 720
}'
Product Review / Comparison
belt app run falai/flux-dev-lora --input '{
"prompt": "two products facing each other with dramatic lighting and sparks between them, competition battle concept, dark background with colorful rim lighting, versus comparison style, high energy, product photography",
"width": 1280,
"height": 720
}'
Listicle / Number
belt app run falai/flux-dev-lora --input '{
"prompt": "dynamic arrangement of 7 different colorful objects floating in space against dark gradient background, each item distinct and clearly separated, energetic composition, vibrant saturated colors, studio lighting",
"width": 1280,
"height": 720
}'
A/B Testing
Test one variable at a time:
| Variable | Test A vs B |
|---|---|
| Face vs No face | Same composition, with/without person |
| Expression | Surprise vs curiosity |
| Color scheme | Warm vs cool palette |
| Text vs No text | With/without text overlay |
| Background | Bright vs dark |
| Composition | Left-facing vs right-facing subject |
# Generate variant A
belt app run falai/flux-dev-lora --input '{
"prompt": "..., bright yellow background, ...",
"width": 1280, "height": 720
}' --no-wait
# Generate variant B (same prompt, different background)
belt app run falai/flux-dev-lora --input '{
"prompt": "..., dark navy background, ...",
"width": 1280, "height": 720
}' --no-wait
Thumbnail Checklist
- 1280x720 minimum (1920x1080 preferred)
- Under 2MB file size
- Passes the 120px squint test
- No critical elements in bottom-right (timestamp) or bottom-left (chapter)
- Max 3 colors, high contrast
- Text (if any) is max 6 words, bold, with contrast stroke
- Face expression matches content energy (if applicable)
- Doesn't duplicate the video title
- Stands out from surrounding thumbnails (check your niche)
- Works on both light and dark YouTube backgrounds
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Too much text | Unreadable at thumbnail size | Max 6 words or no text |
| Low contrast | Disappears in the feed | Use complementary colors |
| Cluttered composition | Eye doesn't know where to look | One focal point |
| Generic stock photo feel | No personality, gets skipped | Authentic expressions, unique angles |
| Tiny details | Lost at 120px | Bold, simple shapes |
| Same style every video | Viewer fatigue | Vary within brand guidelines |
| Misleading thumbnail | Kills trust, hurts retention | Match the actual content |
Related Skills
npx skills add inference-sh/skills@ai-image-generation
npx skills add inference-sh/skills@image-upscaling
npx skills add inference-sh/skills@prompt-engineering
Browse all apps: belt app list
More from inference-sh/skills
agent-tools
Run 250+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
748ai-image-generation
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image
738ai-video-generation
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
734twitter-automation
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
663web-search
Web search and content extraction with Tavily and Exa via inference.sh CLI. Apps: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capabilities: AI-powered search, content extraction, direct answers, research. Use for: research, RAG pipelines, fact-checking, content aggregation, agents. Triggers: web search, tavily, exa, search api, content extraction, research, internet search, ai search, search assistant, web scraping, rag, perplexity alternative
628agent-browser
Browser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots, record video. Capabilities: web scraping, form filling, clicking, typing, drag-drop, file upload, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet, record video
627