apyhub
FILE MANIPULATION · IMAGE PROCESSING

Image Filters API

What it does

Image Filter applies a selected transformation to an image and returns the result either as a downloaded binary file or a signed URL. Send an image URL or upload image bytes, choose a filter, and get the processed image back.

Use this when you need to rotate, flip, blur, brighten, darken, or apply a gamma adjustment without building image-processing logic yourself. Supported filters include rotate_45, rotate_90, rotate_135, rotate_180, rotate_225, rotate_270, rotate_315, maximum, minimum, brightness_decrease, brightness_increase, gaussian_blur, flip_vertical, flip_horizontal, and gamma_0.5.

The URL-based endpoints accept a url in the request body, while the multipart endpoints accept an image file upload. In both cases, you can also pass output and preserve_format as query parameters. That makes it easy to keep the original format when you need to, or produce a named output for downstream storage and delivery.

Image Filter is a good fit for automated media pipelines, quick content adjustments, and server-side image normalization before upload, moderation, or sharing.

▣ ENDPOINT 01 / 04
POST
Apply filter (fetch URL, download)
https://api.eu.apyverse.com/apyhub/apply-filter/url/download

QUICKSTART

GUIDE

Quickstart

Download an image from a URL and apply one filter to it.

curl -X POST "https://api.eu.apyverse.com/apyhub/apply-filter/url/download?filter=gaussian_blur" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.jpg"}'

What you'll get back

Returns a binary file response.

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*
A url of the image that is accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the provided URL does not include a protocol (e.g., http:// or https://), our system will automatically include https:// to ensure proper processing of the request.

About this endpoint

What it does

Applies the selected image filter to the image at the provided URL and returns the processed file as binary data. The request takes the source image URL in the body and the filter, output name, and format-preservation options as query parameters.

Query Parameter(s)

AttributeTypeMandatoryDescription
filterENUMYesImage filter to apply. Allowed values: rotate_45, rotate_90, rotate_135, rotate_180, rotate_225, rotate_270, rotate_315, maximum, minimum, brightness_decrease, brightness_increase, gaussian_blur, flip_vertical, flip_horizontal, gamma_0.5.
outputStringNoOutput name.
preserve_formatBooleanNoWhether to preserve the original image format.

Request Body

ParameterTypeMandatoryDescription
urlStringNoURL of the image accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the URL does not include a protocol, https:// is added automatically.

Response

Returns binary file data (string with binary format) containing the processed image produced by the applied filter. The success response is the raw downloaded file, not a JSON object.

Query parameters

Name
Type
Description
filterREQUIRED
string
rotate_45 · rotate_90 · rotate_135 · rotate_180 · rotate_225 · …
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean

Body

Name
Type
Description
bodyREQUIRED
object
A url of the image that is accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the provided URL does not include a protocol (e.g., http:// or https://), our system will automatically include https:// to ensure proper processing of the request.
▣ ENDPOINT 02 / 04
POST
Apply filter (fetch URL, signed URL)
https://api.eu.apyverse.com/apyhub/apply-filter/url/link

QUICKSTART

GUIDE

Quickstart

Apply a filter to an image URL and return the processed file link.

curl -X POST "https://api.eu.apyverse.com/apyhub/apply-filter/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -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 resulting file URL.

{
  "data": "https://..."
}
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*
A url of the image that is accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the provided URL does not include a protocol (e.g., http:// or https://), our system will automatically include https:// to ensure proper processing of the request.

About this endpoint

What it does

Fetches an image from the provided URL, applies the selected filter, and returns a response containing the processed file URL in a JSON object.

Query Parameter(s)

AttributeTypeMandatoryDescription
filterENUMYesFilter to apply. Allowed values: rotate_45, rotate_90, rotate_135, rotate_180, rotate_225, rotate_270, rotate_315, maximum, minimum, brightness_decrease, brightness_increase, gaussian_blur, flip_vertical, flip_horizontal, gamma_0.5.
outputStringNoOutput name.
preserve_formatBooleanNoWhether to preserve the source image format.

Request Body

ParameterTypeMandatoryDescription
urlStringYesA URL of the image that is accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the provided URL does not include a protocol, the system automatically prepends https://.

Response

Returns a JSON object with a data string field formatted as a URI. The data field contains the URL of the processed output.

ParameterTypeMandatoryDescription
dataStringYesURI of the processed file.

Query parameters

Name
Type
Description
filterREQUIRED
string
rotate_45 · rotate_90 · rotate_135 · rotate_180 · rotate_225 · …
outputOPTIONAL
string
preserve_formatOPTIONAL
boolean

Body

Name
Type
Description
bodyREQUIRED
object
A url of the image that is accessible by ApyHub services. Supported formats are png, jpeg, jpg, bmp, tiff, gif, or webp. If the provided URL does not include a protocol (e.g., http:// or https://), our system will automatically include https:// to ensure proper processing of the request.
▣ ENDPOINT 03 / 04
POST
Apply filter (multipart, download)
https://api.eu.apyverse.com/apyhub/apply-filter/multi-part/download

QUICKSTART

GUIDE

Quickstart

Upload an image and choose a filter to get back the processed file.

curl -X POST "https://api.eu.apyverse.com/apyhub/apply-filter/multi-part/download?filter=gaussian_blur" \
  -H "apy-token: $APY_TOKEN" \
  -F "image=@/path/to/image.jpg"

What you'll get back

Returns a binary file (string with format: binary) containing the downloaded result.

<file contents>
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

Applies a filter to an uploaded image and returns the processed image as binary data. The request sends the image in the body, while the filter selection and optional output settings are provided as query parameters.

Query Parameter(s)

AttributeTypeMandatoryDescription
filterENUMYesFilter to apply. Allowed values: rotate_45, rotate_90, rotate_135, rotate_180, rotate_225, rotate_270, rotate_315, maximum, minimum, brightness_decrease, brightness_increase, gaussian_blur, flip_vertical, flip_horizontal, gamma_0.5.
outputStringNoOutput name. Example: my-invite.
preserve_formatBooleanNoWhether to preserve the input image format.

Request Body

ParameterTypeMandatoryDescription
imageStringYesImage file to process. Binary upload.

Response

Returns binary data in the response body — the processed image after the filter is applied. The output schema is a single binary string, so there are no JSON fields to document.

Query parameters

Name
Type
Description
filterREQUIRED
string
rotate_45 · rotate_90 · rotate_135 · rotate_180 · rotate_225 · …
outputOPTIONAL
string
preserve_formatOPTIONAL
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 04 / 04
POST
Apply filter (multipart, signed URL)
https://api.eu.apyverse.com/apyhub/apply-filter/multi-part/link

QUICKSTART

GUIDE

Quickstart

Upload an image and apply the default gaussian_blur filter.

curl -X POST "https://api.eu.apyverse.com/apyhub/apply-filter/multi-part/link?filter=gaussian_blur" \
  -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 a URI.

{
  "data": "https://example.com/output.png"
}
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

Applies a selected filter to an uploaded image and returns a JSON object containing a URI in data for the processed result.

Query Parameter(s)

AttributeTypeMandatoryDescription
filterENUMYesFilter to apply. Allowed values: rotate_45, rotate_90, rotate_135, rotate_180, rotate_225, rotate_270, rotate_315, maximum, minimum, brightness_decrease, brightness_increase, gaussian_blur, flip_vertical, flip_horizontal, gamma_0.5.
outputStringNoOutput identifier. Example: my-invite.
preserve_formatBooleanNoWhether to preserve the original image format.

Request Body

ParameterTypeMandatoryDescription
imageStringYesBinary image file to process.

Response

Returns a JSON object with a data string field formatted as a URI.

ParameterTypeMandatoryDescription
dataStringYesURI of the processed image result.

Query parameters

Name
Type
Description
filterREQUIRED
string
rotate_45 · rotate_90 · rotate_135 · rotate_180 · rotate_225 · …
outputOPTIONAL
string
preserve_formatOPTIONAL
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.

▣ 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.