Cloudinary Blog
Understanding Cloudinary Transformations and Pricing Plan

One main reason people use Cloudinary is to leverage its capabilities for transforming digital assets, such as images and videos. Whether for optimization or aesthetics, it’s easy and fast to manipulate digital media for your web or mobile projects.

Cloudinary’s service plans count one credit as 1,000 transformations. However, the many transformation options available can cause confusion on what actions count against a plan’s quota. Since this is a common topic in our support tickets, we wanted to spell out the details here.

Feel free to watch this accompanying video if you’d prefer to watch instead of read.

Content Upload

Generally, uploading a piece of content counts as a single transformation because Cloudinary must process the image. It’s important to remember that if you’re planning a large migration of images or videos to Cloudinary, such as at the start of your account.

Transformation Upload

However, you cannot transform “raw” files, such as Excel spreadsheets or CSS files. Cloudinary simply stores them instead of processing them as images or videos. Therefore, uploading raw files does not count against your transformation quota..

Raw Transformation Files

Additionally, files of certain types can result in multiple transformations once you’ve optimized or added effects to them. Here are some examples:

  • Animated GIFs: The initial upload counts as one transformation. A subsequent transformation counts once for every 10 frames of an image. As an example, applying a transformation set to a GIF with 20 frames counts as two transformations.
  • PDFs: Similar to animated GIFs, the initial upload counts as one transformation. A subsequent transformation set counts once for every 10 pages of the document.
  • Standard Definition (SD) Videos: SD videos are those with a 480p or lower resolution. One transformation is counted for the initial upload, after which transforming every second of the video counts as two transformations.
  • High Definition (HD) Videos: HD videos are those with a resolution that’s higher than 480p, such as 720p, 1080p, or even 4K. The initial upload counts as one transformation, after which transforming every second of the video counts as four transformations.

Transformed Assets

In most circumstances, each transformation grouping on an image or video counts as a single transformation. That means the first transformation set could be something as small as c_crop or as big as c_crop,w_200,h_300, but both of those sets count as one each. That rule applies whether you apply the transformation eagerly or on the fly.

After generating a transformation set for an image, Cloudinary stores the transformed version in your account for quicker and recurring access. Because Cloudinary has already generated that image, loading it doesn’t count against your transformation quota. No matter how many views the image gets afterwards—and you’re at liberty to post the identical transformation on as many different web pages as you desire—no additional counts occur against your quota.

Transformation Servings Do Not Increase

On the other hand, changing the order of a transformation set does trigger a transformation, even if the transformations in the set remain the same. That’s because Cloudinary must reprocess the material, yet the end result is unchanged. Using the example above, changing the order of the set from c_crop,w_200,h_300 to h_300,c_crop,w_200 results in a transformation counted against your quota.

Fetching Outside Content

A powerful feature of Cloudinary is its ability to fetch and retrieve files from remote locations with dynamic URLs. This capability can be of tremendous benefit because the fetched content can reduce your server load and lower hosting costs. Plus, you can manipulate or optimize your media assets any time on Cloudinary.

Given that content fetches involve no actual processing by Cloudinary, they don’t count as upload transformations. However, adding transformations to fetched content does count against your quota.

Image Transformations That Count Multiple Times

f_auto

The f_auto transformation delivers images in an optimal format according to your visitor’s browser configurations. To take advantage of that, we recommend that you make use of f_auto in transformations.

f_auto Example

The superior technique of f_auto potentially creates four transformations once somebody on these browsers views the image as:

  • WebP for Chrome users and some Firefox and Microsoft Edge users.
  • JPEG XR for Microsoft Edge and Internet Explorer users.
  • JPG for Firefox users.
  • Original image type, if it wasn’t originally a JPG.

If your account also includes support for JPEG 2000 transformations, which Safari can display, then Cloudinary generates an additional transformation. The f_auto transformation also creates animated versions of all available formats for animated images.

dpr_auto

Also a very useful transformation, dpr_auto displays images at the optimal device pixel ratio (DPR) rather than manually setting a DPR. dpr_auto creates new transformations as soon as a viewer loads the image on a device with a different DPR.

dpr_auto Examples

As an example, viewers on an Apple iPhone X can view images delivered up to a DPR of 3. However, those on an iPhone 6 or 6s can only view images delivered up to a DPR of 2. Once a viewer loads your image on either device for the first time, Cloudinary counts that as a transformation.

Note
dpr_auto requires Cloudinary’s JavaScript library for projects. Here’s our documentation on that library.

On MyDevice.io is a full list of the most common smartphones and tablets with their associated DPRs.

w_auto

The w_auto transformation generates multiple transformations to suit the responsive layout design of your site. Similar to dpr_auto, w_auto requires Cloudinary’s JavaScript library to properly work.

Say, for example, you have three responsive breakpoints on your site. Applying the w_auto transformation to the image would count as one transformation against your quota. You would then receive two more transformations as Cloudinary loads or processes the two other images.

We recommend using Cloudinary’s Responsive Breakpoints Generator to calculate the optimal number of versions required for every image. With this tool, you can determine the exact number of transformations processed through w_auto.

Actions to Take In Case of High Quota

Deleting images from your account does not remove the related transformations from your quota since Cloudinary has already expended the resources for processing those images. In addition, re-uploading an existing image or a previously deleted image does count as a transformation because such a task involves processing on Cloudinary’s part.

Notwithstanding the cost, a plan upgrade is worth considering. If transformations are a key part of your service, especially if you maintain a large retail or ecommerce site with a multitude of images of various sizes and DPR adjustments that are being served to customers, the added transformations to a quota in an upgrade would ensure that your project is sustainable and successful.

Alternatively, thanks to the rolling 30-day window for transformations, you can wait it out. Keep in mind that you can circumvent an unexpected spike of transformations from migrations or unexpected testing cycles by postponing further transformations until that busy period has passed.

Additional Resources

For more details on transformations and quotas, see these posts in our Knowledge Base:

Any questions? File a ticket through our Knowledge Base or write us at support@cloudinary.com.


Thanks to the following content creators for their contributions to this post:

Recent Blog Posts

Transitioning JPEG-Based to JPEG XL-Based Images for Web Platforms

When the JPEG codec was being developed in the late 1980s, no standardized, lossy image-compression formats existed. JPEG became ready at exactly the right time in 1992, when the World Wide Web and digital cameras were about to become a thing. The introduction of HTML’s <img> tag in 1995 ensured the recognition of JPEG as the web format—at least for photographs. During the 1990s, digital cameras replaced analog ones and, given the limited memory capacities of that era, JPEG became the standard format for photography, especially for consumer-grade cameras.

Read more

Amplify Your Jamstack With Video

By Alex Patterson
Amplify Your Jamstack With Cloudinary Video

As defined by Amazon Web Services (AWS), Amplify is a set of products and tools with which mobile and front-end web developers can build and deploy AWS-powered, secure, and scalable full-stack apps. Also, you can efficiently configure their back ends, connect them to your app with just a few lines of code, and deploy static web apps in only three steps. Historically, because of their performance issues, managing images and videos is a daunting challenge for developers. Even though you can easily load media to an S3 bucket with AWS Amplify, transforming, compressing, and responsively delivering them is labor intensive and time consuming.

Read more
Cloudinary Helps Move James Hardie’s Experience Online

While COVID has affected most businesses, it has been particularly hard on those that sell products for the physical ‘brick and mortar’ world. One company that literally fits that bill is our Australian customer James Hardie, the largest global manufacturer of fibre cement products used in both domestic and commercial construction. These are materials that its buyers ideally want to see up close, in detail. When customers have questions, they expect personal service.

Read more
How to Build an Enhanced Gravatar Service, Part 2

Part 1 of this post defines the capabilities of an enhanced Gravatar service, which I named Clavatar, and describes the following initial steps for building it:

This post, part 2 of the series, explains how to make Clavatar work like Gravatar and to develop Clavatar’s capabilities of enabling requests for various versions of the images related to user accounts.

Read more