youtube-thumbnail-design

Desain thumbnail YouTube dengan dimensi spesifik, aturan kontras, dan optimasi pratinjau seluler. Mencakup zona aman, penempatan teks, psikologi ekspresi wajah, dan pengujian A/B. Gunakan untuk: thumbnail YouTube, gambar sampul video, optimasi klik-tayang. Pemicu: youtube thumbnail, thumbnail design, video thumbnail, click through rate, ctr optimization, youtube cover, video cover image, thumbnail maker, thumbnail tips, youtube design, video preview image

npx skills add https://github.com/halt-catch-fire/skills --skill youtube-thumbnail-design

Install the belt CLI skill: npx skills add belt-sh/cli

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

SpecValue
Dimensions1280 x 720 px (minimum)
Recommended1920 x 1080 px
Aspect ratio16:9
Max file size2 MB
FormatsJPG, 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:

  1. The mood/emotion (from colors and expression)
  2. The general subject (from composition)
  3. 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

CombinationMoodBest For
Yellow + BlackUrgency, attentionTech, business, lists
Red + WhiteEnergy, excitementEntertainment, reactions
Blue + OrangeProfessional contrastEducation, tutorials
Green + WhiteGrowth, moneyFinance, success stories
Purple + YellowPremium, creativeDesign, art, creativity
White + DarkClean, minimalLuxury, 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

RuleReason
Max 6 wordsReadability at thumbnail size
Min 60pt equivalentMust be legible at 120px width
Bold sans-serif fontThin fonts disappear at small sizes
Contrast stroke/shadowEnsures readability on any background
No small textIf it's not readable small, cut it

Face Expression Psychology

Thumbnails with faces get higher CTR than faceless thumbnails. Expression matters:

ExpressionCTR ImpactBest For
Surprise/shockHighestReaction, reveal, discovery content
CuriosityHighTutorial, how-to, tips
ExcitementHighUnboxing, reviews, announcements
Concern/worryMedium-highWarning, mistake, problem content
ConfidenceMediumExpert advice, authority content
NeutralLowestAvoid 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:

VariableTest A vs B
Face vs No faceSame composition, with/without person
ExpressionSurprise vs curiosity
Color schemeWarm vs cool palette
Text vs No textWith/without text overlay
BackgroundBright vs dark
CompositionLeft-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

MistakeProblemFix
Too much textUnreadable at thumbnail sizeMax 6 words or no text
Low contrastDisappears in the feedUse complementary colors
Cluttered compositionEye doesn't know where to lookOne focal point
Generic stock photo feelNo personality, gets skippedAuthentic expressions, unique angles
Tiny detailsLost at 120pxBold, simple shapes
Same style every videoViewer fatigueVary within brand guidelines
Misleading thumbnailKills trust, hurts retentionMatch 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

Lebih banyak skill dari halt-catch-fire

ai-image-generation
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The text describes an agent skill for AI image generation. We must preserve the name "ai-image-generation" but it's not in the text, so we don't include it. Also preserve product names, protocol names, URLs, numbers, technical terms. No extra commentary. Just translate the text inside <text>. The text: "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...
creativemediaimage
ai-video-generation
halt-catch-fire
Hasilkan video AI dengan Google Veo, Seedance 2.0, HappyHorse, Wan, Grok dan 40+ model melalui CLI inference.sh. Model: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Kemampuan: teks-ke-video, gambar-ke-video, referensi-ke-video, pengeditan video, lipsync, animasi avatar, peningkatan resolusi video, suara foley. Gunakan untuk: video media sosial, konten pemasaran, video penjelasan, demo produk, avatar AI. Pemicu: pembuatan video, video AI,...
creativevideomedia
twitter-automation
halt-catch-fire
Otomatiskan Twitter/X dengan posting, interaksi, dan manajemen pengguna melalui CLI inference.sh. Aplikasi: x/post-tweet, x/post-create (dengan media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Kemampuan: memposting tweet, menjadwalkan konten, menyukai postingan, me-retweet, mengirim DM, mengikuti pengguna, mendapatkan profil. Gunakan untuk: otomatisasi media sosial, penjadwalan konten, bot interaksi, pertumbuhan audiens, API X. Pemicu: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x...
marketingapicommunication
ai-avatar-video
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. So names like "P-Video-Avatar", "OmniHuman", "Fabric", "PixVerse", "Inworld TTS-2", "ElevenLabs", "Kokoro", "CLI", "TTS", "UGC" should remain unchanged. Also "inference.sh" is a URL-like name, preserve. The text inside <text> is a description. We translate the rest naturally. The text: "Create AI avatar and talking head videos via inference.sh CLI. Recommended: P-Video-Avatar (fastest, cheapest, built-in TTS). Also: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ languages, emotion steering for characters), ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC
videocreativemedia
agent-browser
halt-catch-fire
Otomatisasi peramban untuk agen AI melalui inference.sh. Navigasi halaman web, berinteraksi dengan elemen menggunakan referensi @e, ambil tangkapan layar, rekam video. Kemampuan: pengikisan web, pengisian formulir, klik, mengetik, seret-lepas, unggah berkas, eksekusi JavaScript. Gunakan untuk: otomatisasi web, ekstraksi data, pengujian, penjelajahan agen, riset. Pemicu: peramban, otomatisasi web, kikis, navigasi, klik, isi formulir, tangkapan layar, jelajahi web, playwright, peramban tanpa kepala, agen web, jelajahi internet, rekam video
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
Pencarian web dan ekstraksi konten dengan Tavily dan Exa melalui CLI inference.sh. Aplikasi: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Kemampuan: pencarian berbasis AI, ekstraksi konten, jawaban langsung, riset. Gunakan untuk: riset, pipeline RAG, pemeriksaan fakta, agregasi konten, agen. Pemicu: pencarian web, tavily, exa, search api, ekstraksi konten, riset, pencarian internet, pencarian AI, asisten pencarian, web scraping, rag, alternatif perplexity
researchweb-scrapingapi
infsh-cli
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia, preserving the name "infsh-cli" and other technical terms, product names, protocol names, URLs, numbers, etc. The instruction says: "Do not include the name unless it appears in the source text." The name "infsh-cli" is not in the source text? Actually, the source text does not contain "infsh-cli" explicitly. The directory item type is "agent skill" and the name to preserve is "infsh-cli", but the text inside <text> does not include that name. So we should not add it. We just translate the text inside <text>. Also, we must not add labels like "description" or "skill name". Just the translation. The text: "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, Open
developmentapicreative
landing-page-design
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The instruction says to preserve product names, protocol names, URLs, numbers, technical terms. The name "landing-page-design" is to be preserved but not included unless it appears in source text. It does not appear in the <text> block. So we just translate the text. The text: "Landing page conversion optimization with layout rules, hero section design, and CTA psychology. Covers above-the-fold formula, social proof placement, mobile design, and F-pattern reading. Use for: startup landing pages, product pages, SaaS marketing, conversion optimization. Triggers: landing page, hero section, above the fold, conversion optimization, landing page design, cta button, hero image, landing page layout, saas landing page, product page design, conversion rate, landing page..." Translate carefully. Technical terms like "CTA", "above-the-fold", "F-pattern", "SaaS" should be preserved as is or translated? The instruction says preserve technical terms. Usually "CTA" is kept as