Skip to content
cccskills
FreePublished on GitHub

generate-youtube-thumbnail

Create YouTube thumbnail concepts with Nano Banana 2 using image references for a person, product, or brand. The workflow applies prompt formulas for recognizable layouts and likeness, generates multiple variations in parallel, and helps review them for readability and visual impact.

OriginalShow the original description

Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API. Handles reference image upload, character likeness alignment, proven CTR-tested prompt formulas, and parallel batch generation. Use when the user asks to create a YouTube thumbnail, video thumbnail, A/B test thumbnail variations, or refers to thumbnail design with their face, brand assets, or product photos.

mrpaidsocial/arcads-claude-code-mrpaidsocial1,634 stars(GitHub 1,634 + cccskills 0)
Works withYouTubeAWS

Run score Not tested

See how to install

Good for

  • Create a thumbnail for a YouTube video
  • Generate variations for a thumbnail A/B test
  • Use face and brand reference images in a thumbnail
  • Explore several thumbnail concepts for one video

Files included (2)

  • SKILL.md9.5 KB
  • scripts/generate-batch.sh10.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Generate YouTube Thumbnail

A reusable workflow for creating YouTube thumbnails via Arcads' Nano Banana 2 image endpoint with proper character likeness and proven CTR formulas.

When to use this skill

Trigger on phrases like:

  • "make me a YouTube thumbnail"
  • "create a thumbnail for this video"
  • "I need thumbnail variations / A/B tests"
  • "remake this thumbnail with my face"
  • "generate 10 thumbnail concepts"
  • "thumbnail with [me / my product / my brand]"

Read order

  1. This file — workflow, decision tree, batch generation
  2. shared/skills/generate-youtube-thumbnail/prompting/guide.md — likeness alignment, expressions cheat sheet, prompt structure (shared across all generative-AI APIs in this portfolio)
  3. shared/skills/generate-youtube-thumbnail/prompting/formulas.md — 5 proven thumbnail formulas with templates (shared)
  4. scripts/generate-batch.sh — Arcads-specific batch script (presigned upload + S3 PUT pipeline)

Prerequisites

  • .env with ARCADS_BASIC_AUTH and ARCADS_API_KEY
  • A productId (defaults to MASTER_CONTEXT.md's "My workspace" product)
  • Reference images on disk (NOT pasted in chat — chat-pasted images are NOT accessible to the API):
    • face/ — 5+ photos of the subject (headshot + 3/4 angles + close-ups + expressions)
    • logos/ — brand logos as files (orange Claude Code starburst, black Arcads A, etc.)
    • products/ — clean product shots
    • examples/ — real ad screenshots, comparison material
    • style/ — example thumbnails the user wants to match aesthetically

If references are missing or the user pastes images in chat instead of saving them, stop and ask the user to drop the actual files into a project folder (e.g. references/youtube thumbnail/). Chat paste ≠ file on disk.

Workflow

1. Gather requirements (in order)

Ask the user for any missing context, but only what you actually need:

  1. Concept — what's the video about? Single concept, A/B variations, or specific recreation of an existing thumbnail style?
  2. Subject — who is in the thumbnail (the user themselves, an AI character, no person)?
  3. Brand assets — which logos / products / brand colors should appear?
  4. Text — what should the title text say? Will text be baked in, or added in post (Canva/Photoshop)?
  5. Comparison material — for "real vs AI" thumbnails, what real ad and what AI-generated ad?

2. Verify references exist on disk

ls "references/youtube thumbnail/"

If references are missing, ask the user to drop them. Do not proceed with text-only descriptions for brand-specific items (logos, branded products, branded apparel) — you'll get generic AI approximations that don't match the brand. Generic descriptions are OK for backgrounds, expressions, and clothing.

3. Estimate cost and confirm

Always present cost as an estimate before firing:

"Estimated cost: N variations × 24 credits = X credits. Tell me if you want to confirm exact pricing in the Arcads platform first."

4. Pick a formula

See shared/skills/generate-youtube-thumbnail/prompting/formulas.md for the 5 proven formulas. Match the user's intent:

User says...Use formula
"Just me with my brand" / "branding thumbnail"Peace-sign / branding
"Real vs AI" / "compare" / "before/after"Real vs AI comparison
"Show the process" / "with the terminal"Terminal flow
"Surprised face" / "shocked reaction"Reaction shock
"Replace" / "alternative" / "swap out"Before/after split

5. Compose prompts

Follow the template in shared/skills/generate-youtube-thumbnail/prompting/guide.md:

YouTube thumbnail, 16:9 landscape.
[SUBJECT — likeness block + clothing + framing + "no hands" if applicable]
Expression: [specific expression from expressions cheat sheet]
[LEFT visual element + reference]
[RIGHT visual element + reference]
Across the top in massive bold yellow block letters with thick black outline reads [TITLE].
Background: [color + glow]
Style: [aesthetic notes]
Avoid: distorted face, extra fingers, hands visible, blurry logos, generic face

Always include the CRITICAL CHARACTER LIKENESS block when the subject is a real person. See shared/skills/generate-youtube-thumbnail/prompting/guide.md.

6. Generate (use the batch script)

Copy scripts/generate-batch.sh to a new versioned script (scripts/generate-thumbnails-vN.sh) and modify:

  1. Update REF_BASE and COMMON_REFS array with your reference file paths
  2. Replace the PROMPTS array entries with your composed prompts
  3. Run with bash scripts/generate-thumbnails-vN.sh > output/run.log 2>&1 &
  4. Monitor with tail -F output/run.log | grep -E "DONE|FAILED|Asset"

The script handles:

  • Image upscaling (Lanczos to 1080px longest side, RGB JPEG conversion)
  • Presigned upload + S3 PUT
  • Fresh upload per generation (critical — re-using filePaths causes 500 errors)
  • Parallel firing (10 in flight ≈ 1.5 min total)
  • Retry on failure
  • Asset polling and download

7. Review and present

After all generations complete, read each thumbnail with the Read tool and present:

  • Brief verdict per thumbnail (likeness, readability, emotional impact)
  • Top 3 picks ranked by CTR potential
  • Specific reasons for the picks (which expression, which color contrast, which formula)
  • Offer next-step refinements (different expression, background color, copy variation)

8. Mandatory disclosures

  • Always label credit totals as estimates and tell the user to confirm exact pricing in Arcads
  • Cost data: Nano Banana 2 image = 24 credits per generation (post-April-2026 800x credit multiplier)
  • Generation time: ~30–60 seconds typical
  • Parallel budget: 10 in parallel finishes in ~1.5–2 min total

Quirks and pitfalls

Reference images are effectively one-shot per upload

Reusing the same uploaded filePath across multiple generation calls causes HTTP 500 UNKNOWN_ERROR. Always upload fresh references for each generation. The batch script handles this automatically with upload_all_fresh() per generate_one() call.

Image preprocessing is mandatory

Images smaller than 1080px longest side return 422 — The provided image is too small. The skill's prepare_image() function:

  1. Opens the image
  2. Converts to RGB (strips alpha which trips some endpoints)
  3. Upscales to 1080px longest side with Lanczos resampling if needed
  4. Saves as JPEG quality 92

referenceImages is array of plain strings

Not objects. Sending [{filePath: "..."}] returns 400 — each value in referenceImages must be a string. Send ["external-api-temp-uploads/abc.jpg", ...] instead.

Chat-pasted images are NOT files

If the user pastes an image directly in chat, you cannot pass it to the API. Ask them to save the actual file into a project folder.

Likeness drift without enough references

With 1-2 face references the AI generalizes to "generic bearded man with glasses." With 5+ face references from different angles it locks in the specific person. Always use 5+ face references for character work.

macOS bash 3.2

Default macOS bash doesn't support declare -A (associative arrays). The batch script uses indexed arrays + temp files instead.

Stale presigned URLs

Presigned URLs expire after the expiresIn window (~10 min). Don't reuse URLs across long-running jobs — upload fresh.

Brand-specific items need actual reference files

Text descriptions of brand-specific items (logos, branded apparel, custom merchandise) will produce generic approximations. The Mr. Paid Social hat from text alone reads as "MR PAID SOCIAL" but won't match the real patch typography. For pixel-accurate brand reproduction, save the actual brand asset to disk and pass it as a reference.

Cost reference

OperationCreditsNotes
Nano Banana 2 image (1 generation)24post-800x multiplier
6-variation batch144typical for first explorations
10-variation batch240typical for refinements
20-variation batch480typical for broad concept exploration

Always present as estimates, confirm exact in the Arcads platform.

See also

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

analyze-video

FreeSummary

Analyze a reference video’s structure, pacing, camera work, editing, and tone, then turn its reusable style patterns into a Seedance 2.0 prompt template with variables and examples. The template is designed around the model’s 15-second clip limit.

  • Turn a reference video’s style into a reusable prompt template
  • Identify the key beats and camera choices in a video
  • Adapt a longer video style to short generated clips
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

Use this skill to create and retrieve video, image, scene, and script-related assets through the Arcads external API. It guides model and prompt selection, API authentication, and polling generated assets until they are ready.

  • Generating a product video with an AI model
  • Creating still images or B-roll through Arcads
  • Retrieving generated assets and checking their status
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

chatgpt-image-ad

FreeSummary

Generate or edit standalone Meta ad images through Arcads with ChatGPT Image 2. This skill is suited to text-heavy layouts and UI-style concepts such as chat threads, comparison tables, and dialog screens, then provides files for review and handoff.

  • Creating an ad that resembles a chat conversation
  • Making a comparison table or search-results image ad
  • Editing text-heavy static ad creatives
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

clone-ad

FreeSummary

Analyze a source video ad’s beats, visuals, dialogue, and tone, then adapt those patterns for a different product or offer and generate a Seedance 2.0 video. Longer ads can be split into short clips, with dialogue and product details tailored to the new brief.

  • Adapt a video ad’s format for a different product
  • Recreate a source ad’s pacing and camera style
  • Generate a short video ad from a reference clip and product image
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

image-ad-clone

FreeSummary

Turn an existing image ad into a reusable prompt template with replaceable brand details. Analyze its layout and text, generate and refine a match, then test the generalized template with another brand and record model behavior in the shared library.

  • Turn a reference ad into a reusable prompt
  • Adapt an ad layout for another brand
  • Compare template results across image models
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

meta-ad-builder

FreeSummary

Use a finished image or video to prepare a Meta ad, write multiple copy variations, and place it in an existing ad set as a paused ad. The workflow can also review top-performing account ads by ROAS or research competitor ads in the Ad Library.

  • Prepare a finished image for a Meta ad
  • Create ad copy and add a video to an existing ad set
  • Review top ads by ROAS before writing new copy
mrpaidsocial/arcads-claude-code-mrpaidsocial1.6KUpdated Oct 20, 2026

See all skills by mrpaidsocial

Report a problem with this skill