post
https://api-v2.pandavideo.com.br/thumbs/
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
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
POST /thumbs/{video_id}
{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.
AuthorizationRequires a valid Panda API token sent in the
Authorizationheader (no Bearer prefix).
HTTP Method & Path
POST /thumbs/{video_id}
Base URL: https://api-v2.pandavideo.com.br
Authentication Requirements
| Security Scheme | Header | Note |
|---|---|---|
| API Key | Authorization | Panda API token (without Bearer prefix) |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Authorization | header | string | Yes | Panda API token (without Bearer prefix) |
Path Parameters
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
video_id | string (uuid) | Yes | ID of the video to attach the thumbnail to. | uuid |
Query Parameters
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | string | No | Thumbnail kind. Omit for start (default cover). | enum: pause, live, end |
Request Body
Content-Type: multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
file | string (binary) | Yes | Image 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 hostingUploaded 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 unsupportedtype. - 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
