apyhub
FILE CONVERSION · FILE MANIPULATION

Generate Video Thumbnail API

What it does

Video Thumbnail Generator trims a video clip from either an uploaded file or a remote URL, then gives you the clipped result as a download link or a streamed binary response.

Send a video plus a start point and duration, and choose an optional output size such as 640x360 or 480x270. For upload-based requests, the service accepts a binary video file. For URL-based requests, it accepts a video_url. In both cases, start_time and duration control the segment to extract, and size controls the output dimensions when you want to scale the clip.

Use the download endpoints when your application needs the clip immediately as binary data, or the link endpoints when you want a signed storage URL returned in JSON under data. That makes it useful for generating preview clips, publishing lightweight video samples, or creating short assets for product pages and media workflows.

If you need to generate a short, shareable video segment from an upload or a remote source, Video Thumbnail Generator keeps the contract simple: provide the source, pick the segment, and receive either a binary file or a signed URL back.

▣ ENDPOINT 01 / 04
POST
Trim video clip from upload and stream download (VT-01)
https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/file/download

QUICKSTART

GUIDE

Quickstart

Upload a video to generate and download a thumbnail image.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/file/download" \
  -H "apy-token: $APY_TOKEN" \
  -F "video=@/path/to/video.mp4"

What you'll get back

Returns a binary file , not a JSON object. The response is the generated thumbnail image file.

TRY ITLIVE · 550 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
Output scale WxH with even width and height. Omit to keep source dimensions.
Video file (.mp4 .mkv .avi .mov .flv .3gp .webm). Max 500 MiB.

About this endpoint

What it does

Trims a video clip from an uploaded video file and returns the result as a streamed binary download. You can optionally set the clip start time, duration, and output size before the file is returned.

Request Body

ParameterTypeMandatoryDescription
videoStringYesVideo file upload in binary form. Accepted formats: .mp4, .mkv, .avi, .mov, .flv, .3gp, .webm. Maximum size: 500 MiB.
sizeStringNoOutput scale in WxH format. Width and height must be even numbers. Omit to keep the source dimensions.
durationIntegerNoClip duration in seconds. Default: 2. Minimum: 1, maximum: 20.
start_timeIntegerNoStart time in seconds from which trimming begins. Default: 0. Minimum: 0.

Response

Returns a binary file stream as the success response. The output schema is a single binary string, so the response body is the downloaded trimmed video rather than a JSON object.

ParameterTypeMandatoryDescription
response bodyStringYesBinary file content streamed back by the API.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 04
POST
Trim video clip from upload and return signed link (VT-02)
https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/file/link

QUICKSTART

GUIDE

Quickstart

Upload a video file and the API returns a thumbnail URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/file/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "video=@/path/to/video.mp4"

What you'll get back

Returns a JSON object with a data string field containing a URI to the generated output.

{
  "data": "https://storage.example.com/video-clips/clip.mp4?sig=abc"
}
TRY ITLIVE · 550 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*

About this endpoint

What it does

Trims a video clip from an uploaded video and returns a signed link to the generated clip. The request body includes the source video and optional trim settings; the response is a JSON object containing a data URI string for the resulting file.

Request Body

ParameterTypeMandatoryDescription
videoStringYesUploaded video file in binary format.
sizeStringNoOutput size, if provided. Example: 480x270.
durationIntegerNoClip length in seconds. Default: 2. Minimum: 1. Maximum: 20.
start_timeIntegerNoStart time in seconds for the clip. Default: 0. Minimum: 0.

Response

Returns a JSON object with a data string field containing a URI to the generated video clip. Success response: 200.

ParameterTypeMandatoryDescription
dataStringYesSigned link to the generated video clip.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 03 / 04
POST
Trim video clip from remote URL and stream download (VT-03)
https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/url/download

QUICKSTART

GUIDE

Quickstart

Download a thumbnail image from a video URL by sending the video link in the request body.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/url/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"video_url":"https://assets.apyhub.com/samples/sample.mp4"}'

What you'll get back

Returns a binary file ,not a JSON object. The response is the thumbnail image data itself.

TRY ITLIVE · 550 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Trims a video clip from a remote URL using the provided start time and duration, then streams the resulting video file back as a binary download.

Request Body

ParameterTypeMandatoryDescription
video_urlStringYesRemote video URL to trim. Must be a URI.
sizeStringNoOutput size, in WIDTHxHEIGHT format.
durationStringNoClip duration to extract. Default: 2.
start_timeStringNoStart time for the trim operation. Default: 0.

Response

Returns a binary file stream containing the trimmed video clip. The output schema is a string with binary format, so the success response is not a JSON object but downloadable file content.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 04
POST
Trim video clip from remote URL and return signed link (VT-04)
https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/url/link

QUICKSTART

GUIDE

Quickstart

Generate a thumbnail from a video URL by sending the video link in the request body.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-video-thumbnail-api/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://assets.apyhub.com/samples/sample.mp4"
  }'

What you'll get back

Returns a JSON object with a data string field containing a URI to the generated video thumbnail.

{
  "data": "https://storage.example.com/video-clips/clip.mp4?sig=abc"
}
TRY ITLIVE · 550 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Trims a video clip from a remote video URL and returns a signed link to the generated file. The request body must include the source video_url, and can also include clip sizing and timing options.

Request Body

ParameterTypeMandatoryDescription
video_urlStringYesSource video URL. Must be a valid URI.
sizeStringNoOutput size as a string, for example 640x360.
durationStringNoClip duration as a string. Default is 2.
start_timeStringNoClip start time as a string. Default is 0.

Response

Returns a JSON object with a data string field containing a URI to the signed video clip URL.

AttributeTypeMandatoryDescription
dataStringYesSigned URL of the generated video clip.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.