本文へ移動
cccskills
無料GitHub で公開

generate-youtube-thumbnail

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.

インストール方法を見る

含まれるファイル(2)

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

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0 prompting template. The output is a new skill/formula (like seedance-2-ugc.md) that captures the video's structure, pacing, camera work, edit style, and tone so it can be recreated with any product, any person, in any setting. Use this whenever someone provides a video they want to use as a style reference, says "I want to make videos like this", "deconstruct this video", "turn this into a template", "analyze this style", or drops a video file and wants to recreate that format repeatedly.

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

Creates and retrieves AI video and image-related assets via the Arcads external API (Seedance 2.0, Sora 2, Veo 3.1, Kling, Grok Video, Nano Banana, b-roll, scene, script/actor flows). Loads prompts from the bundled prompting guide and model library, respects HTTP Basic auth from ARCADS_API_KEY, and polls assets/videos until ready. Use when the user mentions Arcads, external-api.arcads.ai, Seedance, Sora2, Veo, Kling, Nano Banana, b-roll, UGC scripts, or generating marketing creative through Arcads.

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

Generate one or more standalone Meta image-ad creatives via ChatGPT Image 2 (gpt-image-2) through the Arcads external API. Locks the model, auto-strips platform chrome, enforces edge-safe layouts and glyph-safety inside body text. Use when the user asks for a "gpt-image-2 ad", "ChatGPT Image ad", "Image 2 ad creative", "make a static image ad with GPT", or anchors on a need for typography-heavy / dense-text / UI-mimicry ad creatives (chat threads, comparison tables, fake search results, iOS dialogs, Slack snapshots, ChatGPT-conversation ads, Apple Notes lists). Does NOT trigger on Nano Banana cues — use nano-banana-image-ad for those.

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

clone-ad

無料

Clone an existing video ad for a different product or offer. Analyzes the source video's style, pacing, camera work, dialogue, and tone, then adapts and generates a new Seedance 2.0 video customized for the user's product. End-to-end workflow: input video → analysis → adapted prompt → generation → delivery. Use when someone says "clone this ad", "make this ad but for my product", "recreate this video for my brand", or provides a video ad and a product image asking for a similar video.

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

Use when the user wants to reverse-engineer an existing image ad into a reusable prompt template. Validates via Arcads — picks gpt-image-2 or Nano Banana at Phase 1. Triggers on "clone this ad as a template", "reverse engineer this ad", "turn this ad into a prompt", "extract a template", "make this ad reusable", "add to my prompt library", "study this ad and make a template". Input is an EXISTING ad image; does NOT trigger for fresh generation (use chatgpt-image-ad or nano-banana-image-ad).

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support. Uploads an image or video, builds a multi-variant TEXT_LIQUIDITY creative, and creates a PAUSED ad in an existing ad set. Also pulls top-performing ads (ranked by ROAS) and competitor ads from the Ad Library to inform copy. Use when the user asks to deploy / publish / launch a creative as a Meta or Facebook ad, build a Meta ad, push a video or image into an ad set, pull their top ads, or research competitor ads. Not for generating creative (use the image/video skills) and not for writing AdTable/Airtable rows (use adtable-light).

日本語の概要は準備中です。原文の説明を表示しています。

krusemediallc/arcads-claude-code1,5912026年9月23日 更新

krusemediallc のスキルをすべて見る

このスキルの問題を報告する