VideohatiDocs
API referenceVideos

Set a custom thumbnail

Set a custom thumbnail

PUT/v1/videos/{id}/thumbnail

Replaces the video's thumbnail with a custom image. The request body is the raw image bytes (JPEG, PNG, or WebP; at most 5 MB) and the Content-Type header must match the payload's actual format. Requires an API key with write scope. Rate limit: 30 requests per 60 s per caller.

The custom image survives encode retries; delete it with DELETE /v1/videos/{id}/thumbnail to return to the automatic poster frame.

Error codes: unauthorized (401), insufficient_scope (403), account_not_approved (403), invalid_project_id (400), invalid_image (400), invalid_body (400), not_found (404), video_not_found (404). Unsupported content types return 415; oversize bodies return 413.

Authentication

  • apiKey — Project API key: Authorization: Bearer vh_live_... (live mode) or Authorization: Bearer vh_test_... (test mode). Keys carry read and/or write scopes.

Parameters

NameInTypeRequiredDescription
idpathstring (Ulid)Yes

Request body

required

Content type: image/jpeg

Content type: image/png

Content type: image/webp

Responses

StatusMeaning
200The new public thumbnail URL.
400The request body or query failed validation. The per-operation description lists the exact error.code values.
401No valid credential was presented.
403The credential is valid but does not permit this action. The per-operation description lists the exact error.code values.
404The resource does not exist or is not visible to this caller.
429Rate limit exceeded.

Try it

PUT
/v1/videos/{id}/thumbnail
Test mode only

API playground

Send a live request to api.videohati.com with a test-mode key.

This playground blocks vh_live_ keys. Use a key that starts with vh_test_ only; a request with a live key never leaves your browser.

The key is stored in your browser on docs.videohati.com only.