imgix APIs
Rendering API
Super Resolution

Super Resolution

upscale

Premium Feature

Super Resolution is currently available for imgix customers on our Premium plans. If you’re interested in this feature, please contact our sales team (opens in a new tab) to get more information on this feature.

The Super Resolution parameter enables users to upscale Origin Images under 0.25MB up to 4x of their original size while retaining image quality. Upscaling is achieved by using generative AI to improve the details of the image as we increase the image's resolution.

AI upscaling can be enabled on any image that meets the limits requirements. To upscale an image with Super Resolution, use upscale=true. The default value is false.

This parameter will attempt to increase the quality of low-resolution photos by using generative AI. This generative approach can result in a more visually appealing, higher resolution, and higher quality image than what conventional approaches such as nearest-neighbor interpolation, Lanczos and other methods.

For example, here is a .0.02MP (150x140) image. We’re using w=400 to increase the image’s resolution to 0.15MP (400x373), but it remains very blurry because the original image is low res:

Image using the imgix parameter w=400 https://assets.imgix.net/examples/super-resolution/purse-150px.png?w=400 - 129KB

Using Super Resolution, we apply AI to make the image clearer as we increase the image dimensions. The result is an image that does not look as blurry as an image that was transformed using non-AI scaling methods:

Image using the imgix parameter, upscale=true https://assets.imgix.net/examples/super-resolution/purse-150px.png?upscale=true - 172KB

Super resolution can be combined with other Rendering API parameters to optimize the image. For example, you can apply auto=compress,format to optimize the image after it has been upscaled. Doing so will reduce the example image above to 12.6KB (opens in a new tab).

Here are additional examples that showcase Super Resolution

Original
upscale=true

Limits

Super Resolution works with any imgix compatible input image type, but there is a limit to the size of images that can be upscaled.

Input Size Limit

Images larger than 0.25MP (512x512) will be resized for Super Resolution processing. If an image exceeds this size (up to 1MP, or 1024x1024), it will be resized to <0.25MP so that it can be upscaled using Super Resolution. Any image that exceeds 1MP will not be upscaled.

Generative AI Expectations

Generative AI fills in the details of the image as the resolution increases. As a result, there may be cases where Super Resolution attempts to fill in lost details of an image during upscaling and fails.

For example, this test image is an image with blurry text. It’s difficult to decipher what most of the text is even if we double the size of the image:

Image with blurry text using w=500

With Super Resolution, the hand looks clearer than the original, but the text remains illegible:

Blurry text remains illegible even with AI upscaling

While AI upscaling can be a helpful tool for improving the clarity of low resolution images, it's not a guaranteed solution in all cases. For the best results, we recommend images that do not have illegible text or objects.

Unsupported Input Formats

In addition to unsupported input formats, Super Resolution is not compatible with the following file-type formats:

  • Animated GIF
  • Animated WebP
  • Animated PNG
  • SVG
  • EPS

Error Handling

In cases where the limit is exceeded, the upscale parameter will fail to transform the image. In this case, we will attempt to return the Origin Image. If other Rendering API parameters are present in the request, we will apply those parameters to the asset.

If the Origin Image also returns an error, then an error response will be returned.

Failure reasons for Super Resolution will be indicated in the response header of the request. Example:

x-imgix-upscale-failure-reason: An error occurred during upscale request processing

To receive an error instead of a fallback when upscaling fails, use the parameter upscale-fallback=false.

Questions

Please reach out to your Account Manager or to Support if you have any questions or feedback about this parameter.