Some Enterprise or other Custom plans may be based on 'units', rather than 'credits'. If your plan works with units, contact your Customer Success Manager for details.
One credit can be used for:
1000 transformations
Most image transformations, including complex chained transformations count as a single transformation.
Most video transformations are counted per second. (The number of transformations per second depends on the delivered video resolution).
Some advanced transformations or formats that require sophisticated processing have special transformation counting rules.
1 GB of managed storage
Storage includes your main asset storage, a cached copy of each derived asset (from delivered transformations), and any revisions backed up to the Cloudinary backup storage.
1 GB of delivered bandwidth
For images, the bandwidth is based on the delivered image file size.
For videos, 1 GB generally comes to ~500 seconds of delivered SD video or ~250 seconds of HD video.
Or combined portions of each.
Add-on plans are billed separately from your base plan credits. Your base plan (Free, Plus, Advanced, etc.) uses credits to measure transformations, storage, and bandwidth. Add-ons each have their own pricing tiers and billing cycle, and are charged independently. Add-on usage does not consume your base plan credits and appears as separate line items on your invoice. Learn more about add-on billing.
Add-ons include:
Feature and processing add-ons (e.g., AI Vision, Rekognition Auto Tagging, Google Auto Tagging, and more): Extend Cloudinary's built-in capabilities with additional AI, moderation, and media processing features. Learn more
You can view and manage your feature and processing add-on subscriptions from the Add-ons page in the Console.
Additional user subscriptions: Increase your account's user limit beyond your base plan. Learn more
When you've reached your plan's maximum, a banner appears on the User Management page in Console Settings with a Change user limit option.
Additional product environment subscriptions: Increase the number of product environments beyond your base plan limit. Learn more
When you've reached your plan's maximum, a Change Limit button appears on the Product Environments page in Console Settings.
You can view all active add-on subscriptions and their next billing dates from the Add-on Plans section of the Plans Details page.
Transformations and bandwidth are measured over a rolling 30-day window, not a monthly calendar reset. Your usage reflects the last 30 days of activity at any given moment. As each day passes, the oldest day drops off and the current day is added.
This means:
Your usage can go up or down every day
It never resets to zero at the start of a calendar month
A one-off spike naturally ages out of the window after 30 days without any action on your part
Storage works differently. It reflects your current total at any moment, not a rolling calculation. Deleting assets reduces your storage usage immediately.
Suppose on Day 1 you run a large batch job that uses 10 credits of transformations. Those 10 credits count toward your usage every day for the next 30 days. On Day 31, that batch drops out of the window and your usage falls by 10 credits.
You can see your current credit usage and breakdowns in the Dashboard of the Console.
If you find you're approaching the upper limit of your current plan, you can upgrade to another self-service plan from the Plans Details page in Console Settings.
This topic relates only to customers on one of Cloudinary's paid plans whose account is using the image impressions metric as part of the calculation of their credit usage.
What is an image impression?
An image impression occurs when an image is successfully delivered (loaded) in a web page or application. All images that load are considered successful image impressions. If an image doesn't load, it's not counted as an image impression.
This metric is an alternative to counting the bandwidth delivered for images. Thus, if your account uses image impressions, then your bandwidth metric is not impacted at all by those image deliveries.
Why is Cloudinary making this change?
Image impressions support more predictable and simplified pricing. We're using it to align with your success. When you deliver images with Cloudinary, you create more engaging moments with your customers.
What is the benefit to me/my business?
With this update, you'll gain access to our latest format support and more advanced optimization algorithms (e.g., support for AVIF (.avif) and JPEG-XL (.jxl) formats in your f_auto deliveries and our latest q_auto algorithms) to support your engaging experiences with even faster load times.
You'll now also be able to forecast image impressions for easier-to-understand and easier-to-predict pricing usage.
How are image impression credits calculated?
One credit equals 20,000 image impressions. In your dashboard, you'll see usage data calculated for you and converted into credits consumed.
Will this change make me reach my account limits faster? / Will I have to upgrade my account due to this change?
You may consume your credits slightly faster or slower, but will not likely need a plan change.
Are all delivered image formats counted as image impressions?
Almost all image formats are equally counted as image impressions.
Currently, 3D and animated images are excluded from the image impressions metric, and are measured based on delivered bandwidth (as they have been until now).
How will video count towards my consumption of credits?
Your video delivery continues to be measured by bandwidth used. This update does not change the video bandwidth metric in any way.
Can I just keep my current plan?
We aim to be transparent about our pricing, and this is a change that is being gradually rolled out to everyone as it aligns better with the value you receive from Cloudinary.
Soon, all existing and new customers will use the image impressions metric. Accordingly, we are not switching accounts back to using the bandwidth metric for images.
Will there be additional modifications to pricing?
As part of our commitment to enhancing our product and delivering maximum value, we continuously refine our pricing structure to align with our value proposition and improve its simplicity and predictability. Any forthcoming changes will adhere to these principles and will be communicated well in advance, as demonstrated in this instance.
Tip
In certain scenarios, your self-service account may be blocked from downgrading to a lower plan. See Why can't I downgrade my plan? for an explanation of each possible blocker and how to resolve it. If you can't solve the problem on your own, contact support.
Signed up through a PaaS / marketplace add-on?
If your Cloudinary account was created through a PaaS or marketplace integration (for example, Heroku, AWS Marketplace, or Engine Yard), start by opening the Cloudinary dashboard/Console from your PaaS provider’s portal. Once you’re in the Cloudinary Console, go to Settings > My Profile and set up direct access by selecting Set Password (in some accounts this may appear as Set Direct Access).
In the Set Password dialog box, click Get Code. Go to your email and copy and paste your verification code.
Enter a new password that meets all the required criteria: it must contain a capital letter, a lowercase letter, a number, and a special character.
Confirm the new password by typing it again in the confirmation field, ensuring both entries match exactly.
Important
If you leave the New Password field with a required character missing, or if the passwords in the Confirm New Password field don’t match, you’ll need to request a new verification code to continue.
Important
You cannot use Cloudinary to store or deliver illegal or highly controversial content. If you’re uncertain whether your files fall into this category, you may want to read our Terms of Use. You are also obligated to follow our CDN partners' acceptable use policies.
Note
Because this option requires manual setup on our end, it's currently only available for paid plans.
Avoid duplications: Sometimes the identical (or nearly identical) image unintentionally gets uploaded more than once. You can use the Duplicate Image Detection Add-on to determine whether the images you upload, or existing images in your account are identical, or similar above a threshold you define, to other existing assets. Those assets are automatically set to a 'rejected' moderation status, enabling you to review them or programmatically delete them.
Watch a video tutorial on how to find and work with your Cloudinary credentials
The initial creator of a new account becomes the root user with full account access. If you have multiple users in your account, there must always be at least one user with the Master admin role. For more details, see Role-based permissions.
These credentials include your:
Cloud Name: The product environment identifier. Required for configuring front-end SDKs and included as an identifier in all media asset URLs delivered from Cloudinary.
API Key and API Secret: Needed to configure backend SDKs or to directly run REST API requests.
API environment variable: A string that combines all three credential values. Copy the API environment variable format from the API Keys page of the Cloudinary Console Settings. Replace<your_api_key> and <your_api_secret> with your actual values, while your cloud name is already correctly included in the format.
If you need only your cloud name, such as for configuring a frontend SDK, you can find that on the Dashboard.
Important
You use your cloud name and API key for enabling or configuring a variety of Cloudinary features. As mentioned above, your cloud name is also a part of every media asset URL you deliver from Cloudinary. There's no problem to expose these values in client-side code.
You use your API secret for authentication. You should never expose Your API secret in client-side code or in any other way outside your organization.
Your cloud name, API key, and API secret are all specific to a product environment.
Free accounts have only one product environment. Paid accounts can have multiple product environments that you can use for things such as production and staging environments, or you might have different product environments to parallel different products, websites, organizations, geographies, or apps that you use with Cloudinary.
You can manage your API keys in the API Keys page of the Console Settings, including adding, activating, disabling, rotating, and naming API keys. For more information, see Product environment settings.
Rotating API keys in the Console
To safely replace an API key/secret pair without downtime:
Select Generate New Access Key, enter the emailed verification code, and save.
Update all relevant application configuration and secrets to use the new API key and API secret.
After confirming everything is working, set the old key's Status to Disabled.
(Optional) Rename keys to reflect their purpose (for example, service name and environment) to simplify auditing.
Note
The Dashboard may display your credentials for convenience, but key creation and lifecycle actions (generate, activate/disable, rename) are managed on the Settings > API Keys page.
Note
Cloudinary is developing a new role-based permissions system that will provide more flexible and comprehensive control over API key permissions. This will enable you to configure specific permissions for individual API keys, controlling access to Upload and Admin API methods. This feature isn't yet available for production use.
If you're interested in trying this solution in a test environment, contact your Customer Success Manager or support to learn more.
Enterprise accounts that have the Provisioning API enabled can use it to programmatically create and manage API keys using the access_keys endpoint and product environments using the subaccounts endpoint, as well as users and user groups. To use the Provisioning API, you need a dedicated API key. If your account includes support for the Provisioning API, you can find your credentials in the Account Management Keys page of the Cloudinary Console Settings.
Note
You can use upload presets to save a particular upload configuration that you can use to upload assets without having to set the same parameters each time.
Related topics
For guidance on how Cloudinary's security features fit into a broader bot mitigation and traffic management strategy, including when to use upstream CDN or WAF controls, see Bot traffic, usage spikes, and access control best practices.
Note
The past 30 days usage shown in the Console is a rolling window. Your current usage can increase or decrease depending on recent activity, and it doesn't reset to 0 on a calendar-month boundary.
Cloudinary usage is calculated from the relevant delivery and storage activity during that rolling period:
Transformations count when Cloudinary processes an uploaded, explicitly generated, or newly delivered derived asset. Repeated delivery of an already-generated derived asset doesn't add additional transformation usage. For details, see How are transformations counted?.
Managed storage includes your original assets, cached derived assets, and backed up revisions stored in Cloudinary backup storage. For details, see Backups and version management.
Delivered bandwidth is based on the number of bytes actually delivered to end users after transformation. Upload traffic and Cloudinary internal transfers, such as copying an asset from remote storage, aren't counted as delivered bandwidth.
Breakdown for the currently selected product environment:
You may also want to take a look at the Reports section of the Console to understand more about how you are using your credits and whether you can optimize your upload, storage, or delivery implementations to make your credit usage more efficient.