---
title: "Create a thumbnail generation job"
method: POST
path: "/api/generative-jobs"
tags: ["generative-jobs"]
---

# Create a thumbnail generation job

`POST /api/generative-jobs`

Experimental. Subject to change; daily caps apply and the endpoint may be temporarily disabled via a runtime kill switch. Currently the only published `jobType` is `thumbnail` (7 credits/call, charged on success and refunded on failure).

## Request body

- GenerativeThumbnailJobRequest
  - `jobType` 'thumbnail', required — The type of generative job to create. Currently the only published value is `thumbnail`.
  - `sourceUri` string, required — URL of the source video to extract thumbnails from.
  - `referenceImageUri` string — Optional reference image URL. The thumbnail composition draws stylistic cues from this image. Upload via `POST /api/upload-links` with `usecase: 'FreeToolMedia'`, then pass the returned `cdnUrl` here.
  - `maskImageUri` string — Optional mask image URL for inpainting.
  - `prompt` string — Optional text prompt steering the thumbnail composition.

## Response `201`

- GenerativeJobCreateResponse
  - `jobId` string, required — The generated job ID. Use it with `GET /api/generative-jobs/{jobId}` to poll status and fetch results.

---

[API](https://skmtc.dev/opus/apis/clip-api.md) · [All operations](https://skmtc.dev/opus/apis/clip-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/opus/clip-api/revisions/7fa7ca3147b7/schema)
