API referenceProjects

Generate thumbnail options

Design 1–3 YouTube thumbnail options, each a different concept, styled after a frame of the video unless reference_url is given.

Design 1–3 YouTube thumbnail options, each a different concept, styled after a frame of the video unless reference_url is given. Charged per option up front; options that fail are refunded. Asynchronous — poll GET /projects/{id}/thumbnails until pending is empty. Never replaces a thumbnail the project already has; choose one with PUT.

POST
/projects/{id}/thumbnails

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Path Parameters

id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/thumbnails" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "generation_id": "a3c889df-e7ae-4ae9-9838-8884129ade5e",
    "count": 0,
    "cost": 0,
    "status": "pending"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}