AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Generate Youtube Thumbnail

skill-krusemediallc-arcads-claude-code-generate-youtube-thumbnail · by krusemediallc

>-

No reviews yet
0 installs
18 views
0.0% view→install

Install

$ agentstack add skill-krusemediallc-arcads-claude-code-generate-youtube-thumbnail

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-krusemediallc-arcads-claude-code-generate-youtube-thumbnail)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Generate Youtube Thumbnail? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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](../../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](../../shared/skills/generate-youtube-thumbnail/prompting/formulas.md) — 5 proven thumbnail formulas with templates (shared)
  4. [scripts/generate-batch.sh](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](../../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](../../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

| Operation | Credits | Notes | |---|---|---| | Nano Banana 2 image (1 generation) | 24 | post-800x multiplier | | 6-variation batch | 144 | typical for first explorations | | 10-variation batch | 240 | typical for refinements | | 20-variation batch | 480 | typical for broad concept exploration |

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

See also

  • [shared/skills/generate-youtube-thumbnail/prompting/guide.md](../../shared/skills/generate-youtube-thumbnail/prompting/guide.md) — likeness alignment, expressions, prompt structure (shared across APIs)
  • [shared/skills/generate-youtube-thumbnail/prompting/formulas.md](../../shared/skills/generate-youtube-thumbnail/prompting/formulas.md) — 5 proven CTR formulas with prompt templates (shared)
  • [scripts/generate-batch.sh](scripts/generate-batch.sh) — Arcads-specific bash batch generator (presigned upload pipeline)
  • [arcads-external-api skill](../arcads-external-api/SKILL.md) — underlying API reference for Nano Banana 2 endpoint and reference upload pipeline

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.