---
title: "Thumbnail Generate"
method: POST
path: "/api/thumbnail/generate"
---

# Thumbnail Generate

`POST /api/thumbnail/generate`

## Request

- Base URL: `https://api.openshorts.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openshorts.app/api/thumbnail/generate`
- Auth: none declared

Generate YouTube thumbnails with Gemini image generation.

burn_text: the image model paints the scene with clean negative space and
PIL sets the hook text (Anton, black stroke). Off = the model renders the
text itself, which is prettier when it works and misspelled when it does
not. frame: url of a frame from /api/thumbnail/frames to use as the
person reference when no face photo is uploaded.

## Request body `multipart/form-data`

- BodyThumbnailGenerateApiThumbnailGeneratePost
  - `session_id` string, required
  - `title` string, required
  - `extra_prompt` string
  - `count` integer
  - `burn_text` boolean
  - `frame` string
  - `face` string, binary, nullable
  - `background` string, binary, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/openshorts/apis/openshorts-api.md) - [All operations](https://skmtc.dev/openshorts/apis/openshorts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openshorts/apis/openshorts-api/revisions/62b7629b5e88?raw)
