---
name: thumbnail-maker
description: YouTube thumbnails (1280x720, under 2 MB) with an A/B set. Picks the sharpest frame from a video or uses a Kenerate-generated image, punches in on the face or subject, adds a glowing cut-out subject (remove_background), huge outlined text and an arrow, in 4 layouts and colour schemes, plus a feed-size preview to check readability. Use when the user wants a YouTube / video thumbnail, cover image, clickbait-style title card or thumbnail A/B test.
compatibility: Needs the Kenerate MCP server for images and cut-outs, and Python 3.9+ with Pillow and ffmpeg.
metadata:
  author: kenerate
  version: "1.0"
  kenerate-tools: "generate_image remove_background upload_media wait_for_generation"
---

# Thumbnail maker

Rules: [references/KENERATE.md](references/KENERATE.md) (models and voices: [references/MODELS.md](references/MODELS.md), or the free `pick_model` / `pick_voice` tools).

## Ask the user
- Source: their video (Kenerate url or public link), a frame, or "generate one".
- Thumbnail text: 2-5 words, plus an optional B text to test. Accent colour.
- The face or subject to feature, if any.

## 1. Images (Kenerate, optional)
- Background: `generate_image(prompt="<scene>, dramatic lighting, high contrast, subject on the right, empty left side, no text", aspect_ratio="16:9", model="kenerate/gpt-image-2.5-sunburst")`.
- Expressive subject: `generate_image(prompt="<person> with a <shocked / excited> expression, studio light", reference_image_urls=[their photo], model="kenerate/nano-banana-2.1", aspect_ratio="3:4")`.
- Cut-out: `remove_background(image_url=subject, mode="cutout-hd")` (hair) → transparent PNG (kind `"remove-bg"`).
- Images are cheap, but say what you'll make; use `count=2` to give the user a choice.

## 2. Render the A/B set (local)
```
python <skill-dir>/scripts/thumb.py --source "<video or image url>" --pick-best \
  --subject "<cut-out png url>" --text "I TRIED IT FOR 30 DAYS" --text-b "WORTH IT?" \
  --accent "#FFD60A" --variants 4 --name <project> --out-dir kenerate-out/thumbnail-maker
```
- Video: `--pick-best` samples 12 frames and keeps the sharpest; `--time 12.5` picks one exact frame.
- `--focus 0.7,0.35 --zoom 1.4` punches in on a face at 70% across, 35% down. With a cut-out, the subject goes on
  the opposite side to the text, with a glow in the accent colour.
- Variants cycle through the layouts text-left, text-right, text-top and text-bottom, and the colour schemes; `--text-b`
  is used on the B variants. `--no-arrow` removes the arrow.

## Output
`<project>_A1_text-left.jpg …` (1280x720, JPEG under 2 MB, as YouTube needs) and `<project>_feed_preview.jpg`, which
shows all variants at feed size. Show it to the user and recommend the one that's readable at that size.

## If something fails
"no transparency" warning → run `remove_background` on the subject first. A failed generation is refunded; ask before retrying.
