Upload video thumbnail

Uploads a custom thumbnail (multipart/form-data) for a video. Use query ?type=pause|live|end to target a specific kind; omit type for the default start/cover thumbnail.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

POST /thumbs/{video_id}

Uploads a custom thumbnail for a video. The thumbnail kind is selected by the type query parameter:

  • start (default — no type) — replaces the video's start/cover thumbnail.
  • pause — adds a pause-screen thumbnail (multiple allowed; tracked by filename).
  • live — sets the live thumbnail.
  • end — sets the end-screen thumbnail.
📘

Authorization

Requires a valid Panda API token sent in the Authorization header (no Bearer prefix).

HTTP Method & Path

POST /thumbs/{video_id}

Base URL: https://api-v2.pandavideo.com.br

Authentication Requirements

Security SchemeHeaderNote
API KeyAuthorizationPanda API token (without Bearer prefix)

Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesPanda API token (without Bearer prefix)

Path Parameters

FieldTypeRequiredDescriptionConstraints
video_idstring (uuid)YesID of the video to attach the thumbnail to.uuid

Query Parameters

FieldTypeRequiredDescriptionConstraints
typestringNoThumbnail kind. Omit for start (default cover).enum: pause, live, end

Request Body

Content-Type: multipart/form-data

FieldTypeRequiredDescription
filestring (binary)YesImage file for the thumbnail. Supported formats: JPEG, PNG, GIF.

Response

Success Response (200)

The response shape depends on type:

  • start (no type): confirmation that the start thumbnail was replaced (the new URL appears on the next GET /videos/{id}).
  • pause: returns the filename(s) added to pauseThumbnail[] — e.g. { "response": { "pauseThumbnail": ["pause-abc123.jpg"] } }.
  • end: returns the new end thumbnail filename — e.g. { "response": { "endThumbnail": "end-xyz789.jpg" } }.
  • live: confirmation for the live thumbnail.
{
  "response": {
    "pauseThumbnail": ["pause-abc123.jpg"]
  }
}
📘

CDN hosting

Uploaded thumbnails are served from a separate CDN:

  • start thumbnails: https://cdn.pandavideo.com/vz-<pullzone>/<video_external_id>/thumbnail.jpg
  • pause/end thumbnails: https://thumbs.tv.pandavideo.com.br/vz-<pullzone>/...

Error Responses

  • 400 Bad Request — Missing file, invalid format, or unsupported type.
  • 401 Unauthorized — Missing or invalid API token.
  • 404 Not Found — Video not found.
  • 500 Internal Server Error — Server-side error.

Example Usage

cURL — upload start thumbnail

curl -X POST \
  'https://api-v2.pandavideo.com.br/thumbs/<video_id>' \
  -H 'Authorization: your_api_token_here' \
  -F '[email protected]'

cURL — upload pause thumbnail

curl -X POST \
  'https://api-v2.pandavideo.com.br/thumbs/<video_id>?type=pause' \
  -H 'Authorization: your_api_token_here' \
  -F '[email protected]'

cURL — upload end thumbnail

curl -X POST \
  'https://api-v2.pandavideo.com.br/thumbs/<video_id>?type=end' \
  -H 'Authorization: your_api_token_here' \
  -F '[email protected]'

Reference

Working code example available on GitHub: pandavideo/Replace-Thumb

Recipes

Path Params
uuid
required

Unique identifier of the video

Query Params
string
enum

Type of thumbnail to upload

Allowed:
Body Params
file

Image file for the thumbnail (JPEG, PNG, or GIF)

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json