Grab a frame from the video as a JPEG/PNG/WebP image

Grabs one frame as an image at the chosen time.

Request

POSThttps://video-tools.p.apihiver.com/v1/thumbnail

Upload the video in the file field (max 50 MB). Instead of a file you can send JSON: {"url": "https://…"} for a public video URL, or {"base64": "…"} — the options below then go in the same JSON object.

*
No file chosen
File. The video file (MP4, MOV, WebM, MKV, AVI…).
Number. Seconds into the video (default: 10% of the duration).
Integer. Output width in px.
String. jpeg, png or webp.

Parameters and body structure are inherited from this endpoint's definition. Changes here only apply to this test run.

Language
Client
1curl --request POST \
2  --url https://video-tools.p.apihiver.com/v1/thumbnail \
3  --header 'Accept: application/json' \
4  --header 'X-API-Key: YOUR_API_KEY' \
5  --header 'content-type: multipart/form-data' \
6  --form file=@file.bin \
7  --form at=1.5 \
8  --form width=640 \
9  --form format=jpeg

Grab a frame from the video as a JPEG/PNG/WebP image: Video Tools API reference

Grabs one frame as an image at the chosen time. This endpoint is part of the Video Tools API: Get video info, grab thumbnails, make storyboard contact sheets, extract audio (MP3/WAV/M4A) and convert clips to GIF.

Example response (200, image/jpeg)

The frame image (type follows `format`). Header `X-Frame-At-Seconds`.

Errors

  • 400 — A required parameter is missing or a value has the wrong format.
    1{
    2  "error": {
    3    "code": "INVALID_INPUT",
    4    "message": "Provide a file upload, 'url', or 'base64'."
    5  }
    6}

Gateway errors (missing key, no subscription, rate limits) are listed in Error codes.