# YouTube Thumbnail Generator

Create a thumbnail PNG from a video frame with bold outlined headline text, a crop-to-canvas layout, and an optional accent bar.

## Run it

- **CLI:** `gizza tool youtube-thumbnail-generator 'url=https://example.com/input' 'headline=BIG IDEA IN 10 MINUTES' 'timestamp=1.0' 'width=1280' 'height=720' 'text_position=bottom' 'font_size=96' 'text_color=#ffffff' 'outline_color=#000000' 'accent_color=#ffcc00' 'accent_position=bottom' 'accent_size=22'`
- **Web:** https://gizza.ai/tools/youtube-thumbnail-generator/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/youtube-thumbnail-generator/tool.json

## Inputs

- `file` — Video _(file; accept: video/*)_
- `headline` — Headline _(field)_
- `timestamp` — Frame time (seconds) _(field)_
- `width` — Width (px) _(field)_
- `height` — Height (px) _(field)_
- `text_position` — Headline position _(field)_
- `font_size` — Font size (px) _(field)_
- `text_color` — Text color _(field)_
- `outline_color` — Outline color _(field)_
- `accent_color` — Accent bar color _(field)_
- `accent_position` — Accent bar position _(field)_
- `accent_size` — Accent bar thickness (px) _(field)_

## Output

- Thumbnail PNG (image)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `headline` — Headline
- `timestamp` — Frame time (seconds)
- `width` — Width (px)
- `height` — Height (px)
- `text_position` — Headline position
- `font_size` — Font size (px)
- `text_color` — Text color
- `outline_color` — Outline color
- `accent_color` — Accent bar color
- `accent_position` — Accent bar position
- `accent_size` — Accent bar thickness (px)
- `url` — fetch the input file from a public URL (CORS-permitting)

Example: `https://gizza.ai/tools/youtube-thumbnail-generator/?url=https://example.com/input&headline=BIG%20IDEA%20IN%2010%20MINUTES&timestamp=1.0&width=1280&height=720&text_position=bottom&font_size=96&text_color=%23ffffff&outline_color=%23000000&accent_color=%23ffcc00&accent_position=bottom&accent_size=22`

---

## About this tool

This thumbnail generator turns a single frame from a video into a ready-to-share PNG.
Choose the timestamp, crop the frame to a target canvas (1280×720 by default), add a
large outlined headline, and optionally draw a bright accent bar on one edge.

The tool is designed for demo videos, explainers, launch clips, course lessons, and
README previews where you need a clear still image without opening a full design app.
It runs the video processing locally through ffmpeg in your browser and downloads a PNG.

### Example

Upload a short video, set **Frame time** to `1`, enter this headline:

```
BIG IDEA IN 10 MINUTES
```

Keep the default `1280 × 720` canvas, headline position **Bottom**, white text, black
outline, and a yellow bottom accent bar. The output is a PNG thumbnail whose source
frame is center-cropped to 16:9, with the headline drawn from a bundled bold font.

### Limits and edge cases

- Output is a single **PNG image**. It does not upload to any platform or create a video.
- The frame is scaled and center-cropped to the requested canvas; use a 16:9 size such as
  `1280 × 720` for typical video thumbnails.
- The headline is capped at 120 characters. Short punchy text works best.
- Colors accept common CSS color names or hex values like `#ffcc00` and `#fc0`.
- Text wrapping is not automatic. Add a shorter headline if it overflows the canvas.

## FAQ

<details>
<summary>Does this make an actual YouTube upload thumbnail?</summary>

It creates a **PNG image** with the usual thumbnail shape and styling controls. You can
then upload that PNG wherever you need it. The tool does not connect to any account,
platform, API, or publishing workflow.

</details>

<details>
<summary>How do I choose the best frame?</summary>

Use **Frame time (seconds)** to seek into the video and grab a still frame. Try a few
seconds where the subject is clear, motion blur is low, and there is enough empty space
for the headline. The output updates when you run the tool again.

</details>

<details>
<summary>Why is my headline cut off?</summary>

The headline is drawn as one line. Reduce **Font size**, shorten the text, move it to a
different position, or make the canvas wider. This keeps the tool deterministic and
avoids surprising automatic line breaks.

</details>

<details>
<summary>Can I remove the accent bar?</summary>

Yes. Set **Accent bar position** to `none` or set the bar thickness to `0`. The headline
and outline still render normally.

</details>

## Related tools

- [Change Video Speed](https://gizza.ai/tools/change-speed/): Speed up or slow down a video right in your browser, keeping audio in sync — pick a speed factor (0.25x–4x). Re-encodes locally with ffmpeg, nothing is uploaded, free.
- [Extract Video Frames to a Contact Sheet](https://gizza.ai/tools/extract-frames/): Sample frames from a video by interval, fps or scene change and tile them into one contact-sheet image. Free, in your browser with ffmpeg, nothing is uploaded.
- [Gamma Correct an Image](https://gizza.ai/tools/gamma-correct/): Apply gamma correction to image midtones in your browser, with per-channel gamma, highlight protection and PNG/JPG/WebP output options.
- [GIF to MP4 / WebM](https://gizza.ai/tools/gif-to-mp4/): Convert an animated GIF into a much smaller MP4 or WebM video, right in your browser. Re-encodes locally with ffmpeg (H.264 / VP9), nothing is uploaded, free.
- [Pad a Video to an Aspect Ratio](https://gizza.ai/tools/video-aspect-pad/): Letterbox or pillarbox a video to 9:16, 1:1, 16:9 or any preset ratio with colored bars or a blurred background — free, in your browser, nothing is uploaded.
