apyhub
FILE CONVERSION · FILE MANIPULATION

Convert JPEG to AVIF API

Hosted on ApyHub

What it does

JPEG to AVIF Converter turns a JPEG image into an AVIF file from either a public URL or a multipart upload. You choose whether you want the converted image returned as binary download data or as a signed URL in the response.

Use the URL-based endpoints when the source image is already hosted somewhere accessible on the web. Send the url in the request body, and you can also pass an output query value. If you prefer to upload the image directly, use the multipart endpoints and provide the required file field.

This is a fit for image delivery pipelines where AVIF reduces payload size without changing your source asset flow. For example, you can convert product images, editorial images, or uploaded media before storing or serving them in a browser-friendly format.

The responses stay simple: the download variants return binary AVIF content, and the link variants return an object with a data field containing a signed URI.

▣ ENDPOINT 01 / 04
POST
Convert JPEG to AVIF (fetch by URL, download 10file)
http://localhost:8080/apyhub/convert-jpeg-to-avif-api/url/download
QUICKSTARTGUIDE

Quickstart

Convert a JPEG from a public URL to AVIF by sending the source URL in the JSON body.

curl -X POST "http://localhost:8080/apyhub/convert-jpeg-to-avif-api/url/download" \
  -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 stream. The response body is the generated AVIF file.

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*
Publicly accessible URL of the JPEG image to convert.

About this endpoint

What it does

Converts a JPEG image fetched from a public URL into an AVIF file and returns the resulting file as binary data.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput filename or label.

Request Body

ParameterTypeMandatoryDescription
urlStringNoPublicly accessible URL of the JPEG image to convert. Must be a valid URI.

Response

Returns a binary file response containing the converted AVIF image.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 04
POST
Convert JPEG to AVIF (fetch by URL, return signed URL)
http://localhost:8080/apyhub/convert-jpeg-to-avif-api/url/link
QUICKSTARTGUIDE

Quickstart

Convert a JPEG from a public URL to AVIF by sending the image URL in the request body.

curl -X POST "http://localhost:8080/apyhub/convert-jpeg-to-avif-api/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 URI of the converted AVIF file.

{
  "data": "https://apyhub-outgoing.s3.eu-west-1.amazonaws.com/mono-go/image-processor/general/image_2026-08-07_e948c39a.avif?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARJOHWS6LWTUUGYPI%2F20260807%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260807T114923Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=image%2Favif&X-Amz-Signature=fe8fe7e1b917f9ae75aafae1cc7c0d58a283b0936a506830be7c48308c2d022c"
}
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*
Prefer `url`;
Publicly accessible URL of the JPEG image to convert.

About this endpoint

What it does

Converts a JPEG image fetched from a public URL into AVIF and returns the result as a signed URL. The request body supplies the source image URL, and the response contains the generated AVIF file URL.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOptional output identifier.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL of the JPEG image to convert. Must be a valid URI.

Response

Returns a JSON object with a data string field containing a URI for the converted AVIF file.

ParameterTypeMandatoryDescription
dataStringNoURI of the generated AVIF file.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
Prefer `url`;
▣ ENDPOINT 03 / 04
POST
Convert JPEG to AVIF (multipart upload, download file)
http://localhost:8080/apyhub/convert-jpeg-to-avif-api/multi-part/download
QUICKSTARTGUIDE

Quickstart

Upload a JPEG file and optionally name the output file.

curl -X POST "http://localhost:8080/apyhub/convert-jpeg-to-avif-api/multi-part/download?output=my-invite" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/image.jpg"

What you'll get back

Returns a binary file (string with format: "binary") — the converted AVIF image.

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*
The source image file in JPEG/JPG format. Mandatory.

About this endpoint

What it does

Converts an uploaded JPEG file to AVIF and returns the converted file as a binary response. The request sends the source file in the multipart body and can include an output query parameter.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name or identifier for the generated file.

Request Body

ParameterTypeMandatoryDescription
fileStringYesThe JPEG file to convert. Send this as part of the multipart form-data request.

Response

Returns a binary file response containing the converted AVIF image.

Query parameters

Name
Type
Description
outputOPTIONAL
string

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
Convert JPEG to AVIF (multipart upload, return signed URL)
http://localhost:8080/apyhub/convert-jpeg-to-avif-api/multi-part/link
QUICKSTARTGUIDE

Quickstart

Upload a JPEG file to generate an AVIF link, optionally naming the output with the output query parameter.

curl -X POST "http://localhost:8080/apyhub/convert-jpeg-to-avif-api/multi-part/link?output=my-invite" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/image.jpg"

What you'll get back

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

{
  "data": "https://apyhub-outgoing.s3.eu-west-1.amazonaws.com/mono-go/image-processor/general/image_2026-08-07_8062fee3.avif?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARJOHWS6LWTUUGYPI%2F20260807%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260807T115508Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=image%2Favif&X-Amz-Signature=00e6c4e1e8e0e4da83f2a05a2962cd0d41fafcf1be8a5ba2413db97a2c334e33"
}
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*
The source image file in JPEG/JPG format. Mandatory.

About this endpoint

What it does

Converts an uploaded JPEG file to AVIF and returns a signed URL to the converted result. The request sends the file as multipart form data and can include an output query parameter.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name or identifier.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJPEG file to convert and upload as multipart form data.

Response

Returns a JSON object with a data string field formatted as a URI. This field contains the signed URL for the converted AVIF result.

ParameterTypeMandatoryDescription
dataStringYesSigned URL returned on success. Format: URI.

Query parameters

Name
Type
Description
outputOPTIONAL
string

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.