apyhub
FILE MANIPULATION · IMAGE PROCESSING

Generate Image Thumbnails API

What it does

Thumbnail Generator creates resized thumbnails from either an uploaded image or a source image URL. Send an image plus width and height, and get back a thumbnail as a binary file or a signed download URL.

Use the multipart endpoints when you already have the image in your request body, or the URL endpoints when you want the API to fetch the source image for you. You can also set output, preserve_format, and auto_orientation to control the result. preserve_format keeps the original image format when possible, and auto_orientation helps correct images that include rotation metadata.

This is useful anywhere you need consistent preview images: product cards, gallery grids, email assets, CMS previews, or social sharing thumbnails. The service is designed around simple image transformation inputs and returns either the thumbnail content directly or a URI in data for signed-link workflows.

Thumbnail Generator keeps the interface narrow: image source, dimensions, and a few output controls. That makes it easy to wire into upload pipelines, asset processing jobs, or backend services that need predictable thumbnail output without extra image-handling logic.

▣ ENDPOINT 01 / 04
POST
Generate thumbnail (multipart, download)
https://api.eu.apyverse.com/apyhub/generate-thumbnail/multi-part/download

QUICKSTART

GUIDE

Quickstart

Download a thumbnail for an uploaded image by sending the image file along with the required width and height.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-thumbnail/multi-part/download?width=300&height=200" \
  -H "apy-token: $APY_TOKEN" \
  -F "image=@/path/to/image.png"

What you'll get back

Returns a binary file (string with format: binary) containing the generated thumbnail.

(binary data)
TRY ITLIVE · 30 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

Generates a thumbnail from an uploaded image and returns the resulting file as binary data. The request sends the source image in the body and uses query parameters to control the thumbnail dimensions and optional output behavior.

Query Parameter(s)

AttributeTypeMandatoryDescription
widthIntegerYesThumbnail width in pixels. Minimum: 1.
heightIntegerYesThumbnail height in pixels. Minimum: 1.
outputStringNoOutput filename base. Example: my-invite.
preserve_formatBooleanNoWhether to preserve the source image format.
auto_orientationBooleanNoWhether to automatically apply image orientation metadata.

Request Body

ParameterTypeMandatoryDescription
imageStringYesThe source image file, sent as binary data.

Response

Returns a binary file containing the generated thumbnail. The success response body is a raw string with format: binary; the schema does not define a JSON wrapper or any named response fields.

ParameterTypeMandatoryDescription
response bodyStringYesBinary thumbnail file data.

Query parameters

Name
Type
Description
widthREQUIRED
integer
heightREQUIRED
integer
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean
auto_orientationOPTIONAL
boolean

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
Generate thumbnail (multipart, signed URL)
https://api.eu.apyverse.com/apyhub/generate-thumbnail/multi-part/link

QUICKSTART

GUIDE

Quickstart

Generate a thumbnail from an image URL using the required size parameters.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-thumbnail/multi-part/link?width=800&height=600" \
  -H "apy-token: $APY_TOKEN" \
  -F "image=@/path/to/image.jpg"

What you'll get back

Returns a JSON object with a data string field containing the generated thumbnail URL.

{
  "data": "https://apyverse-dev-outgoing.s3.eu-west-1.amazonaws.com/mono-go/image-processor-thumbnail/general/thumbnail_2026-07-01_92616919.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2Q3FC7EXNYY64ZXU%2F20260701%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260701T095536Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=image%2Fjpeg&X-Amz-Signature=cc50e167db05714a3c094e140746c088ff1f7cd82fe489972c8a6c142f337c5b"
}
TRY ITLIVE · 30 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

Generates a thumbnail for an uploaded image sent as multipart form data and returns a signed URL in the response. The thumbnail dimensions are controlled by the required width and height query parameters.

Query Parameter(s)

AttributeTypeMandatoryDescription
widthIntegerYesThumbnail width in pixels. Minimum: 1.
heightIntegerYesThumbnail height in pixels. Minimum: 1.
outputStringNoOutput name. Example: my-invite.
preserve_formatBooleanNoPreserves the source image format when true.
auto_orientationBooleanNoApplies automatic orientation handling when true.

Request Body

ParameterTypeMandatoryDescription
imageStringYesImage file to upload as binary data.

Response

Returns a JSON object with a data URI string field containing the signed URL for the generated thumbnail.

ParameterTypeMandatoryDescription
dataStringNoSigned URL returned by the endpoint. The schema constrains this value to a URI format.

Query parameters

Name
Type
Description
widthREQUIRED
integer
heightREQUIRED
integer
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean
auto_orientationOPTIONAL
boolean

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
Generate thumbnail (URL fetch, download)
https://api.eu.apyverse.com/apyhub/generate-thumbnail/url/download

QUICKSTART

GUIDE

Quickstart

Generate a thumbnail from an image URL by passing the source URL in the body and the thumbnail size as query parameters.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-thumbnail/url/download?width=200&height=200" \
  -H "apy-token: $APY_TOKEN" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.jpg"}'

What you'll get back

Returns the binary thumbnail image as the response body.

TRY ITLIVE · 30 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*
Thumbnail URL fetch — `url`; dimensions come from query `width` × `height`.

About this endpoint

What it does

Downloads the file at the provided URL and generates a thumbnail using the requested dimensions. The thumbnail size is controlled by the width and height query parameters, and the source URL is provided in the request body.

Query Parameter(s)

AttributeTypeMandatoryDescription
widthIntegerYesThumbnail width in pixels. Minimum: 1.
heightIntegerYesThumbnail height in pixels. Minimum: 1.
outputStringNoOutput filename prefix.
preserve_formatBooleanNoPreserve the source image format when generating the thumbnail.
auto_orientationBooleanNoAutomatically apply image orientation before thumbnail generation.

Request Body

ParameterTypeMandatoryDescription
urlStringYesSource image URL to download. Format: URI.

Response

Returns a binary string containing the generated thumbnail file. The success response is a binary payload, not a JSON object.

ParameterTypeMandatoryDescription
binaryStringYesThe generated thumbnail file content returned as binary data.

Query parameters

Name
Type
Description
widthREQUIRED
integer
heightREQUIRED
integer
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean
auto_orientationOPTIONAL
boolean

Body

Name
Type
Description
bodyREQUIRED
object
Thumbnail URL fetch — `url`; dimensions come from query `width` × `height`.
▣ ENDPOINT 04 / 04
POST
Generate thumbnail (URL fetch, signed URL)
https://api.eu.apyverse.com/apyhub/generate-thumbnail/url/link

QUICKSTART

GUIDE

Quickstart

Generate a thumbnail from an image URL by setting the source URL in the JSON body and the desired size in query parameters.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-thumbnail/url/link?width=300&height=200" \
  -H "apy-token: $APY_TOKEN" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.jpg"}'

What you'll get back

Returns a JSON object with a data string field containing the generated thumbnail URL.

{
  "data": "https://apyverse-dev-outgoing.s3.eu-west-1.amazonaws.com/mono-go/image-processor-thumbnail/general/thumbnail_2026-07-01_92616919.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2Q3FC7EXNYY64ZXU%2F20260701%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260701T095536Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=image%2Fjpeg&X-Amz-Signature=cc50e167db05714a3c094e140746c088ff1f7cd82fe489972c8a6c142f337c5b"
}
TRY ITLIVE · 30 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*
Thumbnail URL fetch — `url`; dimensions come from query `width` × `height`.

About this endpoint

What it does

Fetches an image from the provided URL and generates a thumbnail using the requested width and height. The response is a JSON object with a data URI field pointing to the generated thumbnail.

Query Parameter(s)

AttributeTypeMandatoryDescription
widthIntegerYesThumbnail width in pixels. Minimum: 1.
heightIntegerYesThumbnail height in pixels. Minimum: 1.
outputStringNoOutput name.
preserve_formatBooleanNoPreserves the original image format when true.
auto_orientationBooleanNoApplies automatic orientation when true.

Request Body

ParameterTypeMandatoryDescription
urlStringYesSource image URL to fetch. Must be a valid URI.

Response

Returns a JSON object with a data URI string field containing the generated thumbnail. The success response schema is an object with one top-level field: data (String).

ParameterTypeMandatoryDescription
dataStringNoURI of the generated thumbnail.

Query parameters

Name
Type
Description
widthREQUIRED
integer
heightREQUIRED
integer
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean
auto_orientationOPTIONAL
boolean

Body

Name
Type
Description
bodyREQUIRED
object
Thumbnail URL fetch — `url`; dimensions come from query `width` × `height`.
▣ 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.