ScreenshotNeo

BlogGuides

Cloudinary Website Screenshot API Pricing: What Counts as a Transformation?

Cloudinary generally counts a transformation when it creates a new derived asset, not on every image request. Learn how caching, chained operations, and automatic variants affect usage.

By the ScreenshotNeo team4 October 20269 min read

Short answer: Cloudinary generally counts a transformation when it generates a new derived asset—a processed version of an uploaded image or video. Resizing, cropping, format conversion, and effects can be combined in a chain that typically counts as one image transformation. Repeated requests for the same already-generated transformation URL do not count again under the standard rule. The number of generated variants, rather than the number of page views, is the key starting point.

This guide covers Cloudinary’s Image & Video API / Programmable Media billing model. The official sources describe general image and video processing, not a distinct website screenshot capture meter. They do not establish that Cloudinary captures webpages or provide a separate screenshot endpoint price. Treat a screenshot image as a Cloudinary transformation only if it is an image asset Cloudinary processes.

1. What counts as a transformation in Cloudinary?

A transformation is primarily counted when Cloudinary creates a derived asset that did not already exist for the requested output. Common operations include resizing, cropping, converting formats, and applying effects. A URL can contain multiple parameters or chained transformation components and, in typical image cases, creating that output still counts as one transformation. Cloudinary’s transformation-counting documentation describes the counting rules and exceptions.

Operation Typical transformation effect
First request for a new transformed URL Counts when Cloudinary generates the derived asset.
Several operations chained for one output Typically one image transformation for that generated derivative.
Repeat request for the identical, cached transformed URL Does not count again under the standard cached-URL rule.
Different URL or parameter combination May create a separate derivative and count again, even if the resulting pixels look identical.
Incoming transformation during upload Can count as a transformation.
Eager transformation Counts when requested/generated to create the derivative; pre-generating it does not make the processing free.

In practical terms, an image viewed a million times can have a different transformation count from an image that is processed into many unique variants and viewed only a few times. Delivery bandwidth is a separate resource and can still increase with image traffic.

2. Do chained transformations count separately?

Usually, no. Cloudinary states that the complexity of one transformation URL does not determine the count: the number of parameters and the number of chained components do not ordinarily multiply the transformation count. For example, a URL that resizes, crops, and converts one image can generate one derived asset and count as one image transformation.

That rule concerns the generated output, not the number of operations written in the URL. If you request a second distinct output—such as a different crop or size—it can create another derivative. Also, a URL that differs syntactically may count as a distinct derived resource even when it produces the same visual result.

3. Do cached transformations count again?

Under Cloudinary’s standard rule, repeated requests to an identical transformation URL do not add transformation counts after the derivative has been generated. The first request can trigger generation; subsequent requests can reuse the cached derivative. The cached asset still contributes to storage, and delivering it can contribute to bandwidth.

Do not assume two URLs share a derivative merely because they look equivalent. Cloudinary’s documentation lists differences such as parameter order, redundant parameters, different ways of specifying a format, or the presence or absence of a file extension as cases where separate derived resources can be created and counted. Reuse stable canonical URLs when you want to reuse outputs.

4. Which options can produce multiple transformations?

Automatic and responsive options can produce different outputs for different clients or display conditions. Each newly generated derivative can count separately, so a single-looking source URL is not a guarantee of one transformation for all future requests.

  • f_auto: format selection can deliver different formats based on browser support, which can result in distinct derivatives.
  • Automatic pixel density: density-aware output can create distinct versions for different device pixel ratios.
  • Automatic width and responsive breakpoints: output can vary with viewport width or selected breakpoints; the resulting number of derivatives depends on the configuration and requests.

These options are useful for adapting images to clients and screen sizes. For usage estimates, count the distinct outputs they can generate, not merely the number of source URLs. See Cloudinary’s guides to automatic format selection and responsive images.

5. Other counting caveats

  • Upload processing: uploading an image or video counts as one transformation under the counting documentation; an incoming transformation may also be involved. Overwriting an asset with the same public ID is counted again.
  • Default optimizations: default optimization settings can count even when the delivery URL appears to request the original. Cloudinary documents using the fl_original flag when you need to deliver the original without those default optimizations.
  • Console tools: previewing in the Transformation Builder or Studio does not count against quota, while downloading, opening in a new tab, or saving a generated result can create a counted derivative.
  • Analysis and add-ons: some asset analysis operations through the Explicit API and some add-ons triggered by transformation parameters can have additional counting rules.
  • Asset changes: changes can remove dependent derived assets; a later request may generate them again.
  • Video: video transformation counting is not the typical one-image-output rule. Video transformations are counted by seconds processed, with the rate depending on resolution.

These exceptions depend on the operation and plan. For an unusual API call or add-on, consult the current counting documentation and your account’s usage view rather than extrapolating from the ordinary image rule.

6. How Cloudinary credits and pricing relate to transformations

For Free and self-service paid plans, Cloudinary uses a shared credit pool for transformations, storage, and bandwidth. Its billing guide says one credit is equivalent to 1,000 transformations, or the documented storage or bandwidth allocation. The pool is shared: storage and delivery usage consume credits too, so the full allowance should not be treated as transformation-only capacity. Video processing has a different transformation calculation. See Cloudinary’s billing and plans guide and check the current pricing page for plan details.

Enterprise and custom arrangements can use units or contract-specific metrics rather than the standard self-service credit model. There is no universal dollar price per transformation that applies to every account. Check the Cloudinary Console’s billing and usage views, plan limits, and contract for your own quota and overage terms. Plan prices, included credits, and counting rules can change.

7. Estimate and control transformation usage

  1. List the original assets that will be processed. Include uploads, replacements, and incoming transformations in your estimate.
  2. Enumerate output variants per asset. Record each size, crop, format, density, width breakpoint, and other parameter combination your application may request.
  3. Identify generation timing. Separate on-demand first requests from eager transformations. Both can count when they generate derivatives.
  4. Canonicalize URLs. Avoid generating separate URL forms for outputs that should be reused; syntactic differences can create separate derivatives.
  5. Estimate the shared credit pool. Add transformation usage to storage and bandwidth usage instead of allocating every credit to transformations.
  6. Review observed usage. Use the Cloudinary Console and derived asset information to compare actual generated variants with the estimate, and check plan limits and notifications.

A simple planning model for ordinary image processing is: new derivative variants generated + counted upload processing. This is an estimate, not a complete invoice formula: automatic variants, analysis, add-ons, video, default optimizations, storage, bandwidth, and contract-specific terms can change the result.

8. ScreenshotNeo as an alternative for webpage screenshots

If the task is capturing a webpage, ScreenshotNeo is a screenshot API and MCP server built for that job. Cloudinary’s cited pricing material explains image and video asset processing; it does not document webpage capture. ScreenshotNeo returns PNG, JPEG, WebP, or PDF from one GET request. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);

These examples use the provided endpoint and parameters; use the API documentation for response handling and available options. ScreenshotNeo can accept cookie and consent banners like a visitor and remove 60+ known consent platforms, newsletter popups, and chat widgets before capture. Each cleanup step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

9. Troubleshooting transformation usage

Symptom Likely cause What to check or change
Usage rises with a new page release The release introduced new widths, crops, formats, or URL forms, each generating derivatives. Compare requested transformation URLs and derived assets before and after release; standardize URLs and reduce unnecessary variants.
Repeated image views appear to increase transformation usage Requests may not be identical, caching may not yet have occurred, or default optimization may be enabled. Compare full URLs including extension, parameter order, and optimization settings; distinguish transformation use from bandwidth.
f_auto or responsive delivery generates more variants than expected Different browsers, devices, or widths are selecting different outputs. Review browser and width variation, breakpoint configuration, and derived assets; estimate by distinct output rather than source URL count.
An eagerly generated variant still appears in usage Eager generation is counted when requested and created. Include eager outputs in the variant inventory and avoid pre-generating outputs that are not needed.
A transformed image seems to count again after an asset update The asset was overwritten, or a dependent derivative was removed and later regenerated. Review upload and asset-change history and account for regeneration in the estimate.
The total bill is higher than transformation estimates Credits are shared with storage and bandwidth, or an operation/add-on has special accounting. Inspect each usage category and operation in the Console; verify plan and contract terms before estimating overages.

10. Performance, reliability, and cost considerations

  • Performance: Reusing a generated derivative avoids repeating the transformation work, while delivery still uses bandwidth. Eager transformations can prepare expected variants ahead of demand, with transformation usage counted at generation time.
  • Reliability: Stable, canonical URLs make it easier to reuse derivatives and reason about which variants exist. Automatic formats and responsive outputs require planning for more than one possible derivative.
  • Cost: Minimize accidental URL variation and unused variants, but keep the formats and sizes your product needs. Track storage and bandwidth as well as transformations because the self-service credit pool is shared.
  • Forecasting: Treat the one-credit-per-1,000-transformations equivalence as a billing unit, not as a standalone price. Your plan, shared usage, special operations, and contract determine actual cost.

11. Frequently asked questions

Does Cloudinary charge for every image request?

No, not as a transformation under the standard rule. A repeated request to an already-generated identical transformation URL does not count again, though bandwidth may still be used.

Do chained transformations count separately?

Typically, several image operations in one transformation URL count as one when they generate one derivative. A second distinct output may count separately.

Do cached transformations count again?

Repeated requests for the same cached transformation URL do not add transformation counts under the documented standard rule.

Do f_auto or responsive breakpoints increase usage?

They can. If they result in multiple distinct derivatives, each newly generated output can count.

Does one credit mean I can use it only for transformations?

No. For the documented Free and self-service plans, credits are shared across transformations, storage, and bandwidth.

Sources and scope

This explanation follows Cloudinary’s official transformation counting, billing and plans, responsive images, and image format support documentation. Pricing and special processing rules can change; consult the current documentation and your account’s Console or contract for account-specific estimates.