30 atoms
Base tier


This Utility API lets you compress images in png, jpeg or jpg formats.
You can control the compression quality - a higher value results in increased compression and reduced resolution.
Compressing an image can significantly reduce its file size, which can save storage space on a device or a website's server. This can be particularly useful for websites that host large numbers of images, as it can help to reduce the site's load time. Faster load times and reduced bandwidth usage can improve the user experience for website visitors and app users, leading to higher engagement and satisfaction.
Select API Endpoints

API Playground

API Documentation

input file: output file

Request example

curl --location --request POST 'https://api.apyhub.com/processor/image/compress/file?output=test-sample&compression_percentage=90&preserve_format=true' \
--header 'apy-token: {{token}}' \
--form 'image=@"stock-photo.jpg"'
Method: POST
Content Type: multipart/form-data
Query Parameter(s)
outputStringNoThe name of the output file, defaults to test-sample
compression_percentageIntegerYesThe desired compression percentage for the image. Increasing the compression_percentage results in a higher level of compression. (should be between 1-100)
preserve_formatBooleanNoTo preserve the format of the output image file, set it to true. The default is false, which returns a jpeg image. Supported output formats are jpeg, jpg, png, webp
Request Body
imageFileYesThe source image file. Supported input file size is up to 80 MB.
  • Output will be converted to JPEG format by default.
  • To preserve the original format for PNG, JPEG, or WebP images, use the preserve_format option.
Sample Response
A successful request returns the compressed file in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
401Required authentication information is either missing or not valid for the resource.
400Invalid input - the image file is corrupt or the quality attribute is not provided.
500If any unexpected error occurs while processing the request.


All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

"error": {
"code": 105,
"message": "Invalid URL"
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.