Skip to content

media optimization

1 post with the tag “media optimization”

Cloudinary: Where It Fits and Where It Doesn't

Cloudinary: Where It Fits and Where It Doesn't. Credit model, tiers, alternatives, and migration with Blober.

Cloudinary is an image and video platform. You upload a file, you get a URL like res.cloudinary.com/your-cloud/image/upload/w_400,c_fill,f_auto,q_auto/photo.jpg, and Cloudinary handles resizing, format conversion (WebP, AVIF), CDN caching, and delivery. Change a URL parameter, get a new version on demand. The same model covers video, with transcoding and adaptive streaming.

Two other products sit alongside the API: a digital asset management (DAM) tool for marketing teams, sold separately, and MediaFlows for no-code workflow automation. Files are stored on AWS S3 and Google Cloud, in US regions by default.

Cloudinary does not bill storage, bandwidth, and processing separately. Everything goes through one shared pool of credits (source):

1 credit equals 1,000 transformations, OR 1 GB stored, OR 1 GB delivered, OR 500 seconds of SD video processing, OR 250 seconds of HD video processing.

The pool is flexible: a quiet month uses fewer credits, a viral month uses more. The trade-off is that a single popular video can drain your monthly budget in hours, and you cannot price any one file in isolation.

Two counting details worth knowing:

  • Transformations count once per unique URL in a month. Repeat views of the same URL are free at the transformation layer (bandwidth still counts).
  • Bandwidth counts net file bytes served, not HTTPS overhead or retransmits.

All prices monthly. Annual billing saves about 10%.

PlanMonthlyAnnual (per mo)Credits/moMax imageMax video
Free$0$02510 MB100 MB
Plus$99$8922520 MB2 GB
Advanced$249$22460040 MB4 GB
Advanced Extra$549$4941,35040 MB4 GB
Pro PAYG$1,099$9892,75040 MB4 GB
EnterpriseCustomCustomCustomCustomCustom

The Free plan is permanent, not a trial, and Cloudinary states you can run production on it as long as you stay under 25 credits a month. No credit card required to sign up. 25 credits is roughly 5 GB stored, 10 GB delivered, and 10,000 transformations.

Things that surprise people:

  • Overages exist only on Pro PAYG ($0.45 per extra credit). On every other paid plan, going over triggers warnings, then partial disable, then full disable. There is no grace period.
  • Custom domain (CNAME) and HTTPS start at Advanced, not Plus. Many teams hit Plus then jump to Advanced just for cdn.example.com.
  • SAML SSO, multi-CDN, EU data residency, and AI-powered search are Enterprise-only.
  • DAM is a separate product. A paid API plan does not raise your DAM limits. Full DAM means a second Enterprise contract.
  • Add-ons (AI tagging, OCR, Rekognition) have free evaluation tiers; production volume requires a paid Cloudinary plan plus paid add-on tiers.

URL-based transformations. Resize, crop, smart-crop on faces, watermark, overlay text, change format and quality, all by editing the URL. No build step.

Automatic format and quality. Add f_auto,q_auto and Cloudinary picks the smallest format and quality the requesting browser supports. Usually 30 to 70 percent smaller than the original with no manual work.

Video without your own pipeline. HLS and DASH adaptive streaming, transcoding, thumbnails, clipping, captions via add-ons. Video burns credits faster than images (250 to 500 seconds per credit), but you do not need to run FFmpeg.

AI features. Auto-tagging, OCR, content moderation, background removal, generative fill. Most are add-ons, integrated into the upload pipeline.

Migration in is well supported. Lazy auto-upload pulls from your existing URLs the first time anyone requests a file, plus the CLI and Upload API for batch jobs. See the Cloudinary migration guide.

Getting files back out. There is no “export everything” button. The Admin API lists assets and lets you download originals one at a time. Backup to your own S3 starts at the Plus tier and only mirrors new uploads. Moving an existing catalog off Cloudinary is a scripting job, or a workflow in Blober.

Cost predictability under traffic spikes. Shared credits mean one popular asset can blow the monthly budget. The only plan that pays overage in cash instead of suspension warnings is Pro PAYG at $989/month annual.

Pure CDN serving. If you have pre-optimized files and just need a CDN, you are paying for the transformation engine you are not using. Cloudflare R2 (zero egress) or Bunny CDN ($0.005 to $0.01/GB) will be much cheaper.

Data residency. US-only storage by default. EU or other regions require Enterprise.

Self-hosted control. Originals live in Cloudinary’s AWS and GCS accounts. You can mirror to your own S3 from Plus upward, but the source of truth is theirs.

Cloudflare Images is the cheapest serious option. Free plan covers 5,000 unique transformations per month, no card needed. Paid is $5 per 100,000 images stored, $1 per 100,000 images delivered, $0.50 per 1,000 transformations beyond the free 5,000. Less polish on transformations, no DAM, no add-ons. Video is a separate product (Cloudflare Stream, $5 per 1,000 minutes stored, $1 per 1,000 minutes delivered). Much cheaper than Cloudinary at most scales.

ImageKit is the closest direct competitor. Same URL transformation model, integrated DAM, video processing. Free tier with 20 GB bandwidth, paid from around $49/month with explicit storage and bandwidth caps instead of credits. Pulls from your existing origin (S3, GCS, your server), so files do not have to live in their storage. Easier to leave than Cloudinary.

Imgix is transformation and delivery only. No DAM, no widget, no AI. Points at your existing bucket and serves transformed URLs. Per-master-image plus per-GB pricing. Smaller feature set, originals stay where they are.

Bunny Optimizer adds image transformations on top of Bunny CDN. $9.50/month flat per pull zone plus standard Bunny bandwidth. URL-based transformations and format conversion. Weaker on video and AI than Cloudinary, roughly 10x cheaper at scale.

Uploadcare focuses on upload widget plus transformation pipeline. Per-upload and per-GB pricing, more predictable than credits. Smaller feature set.

Imagor and Thumbor are open source. You host them yourself in front of your own storage. Free in software cost, you pay for servers and ops time. No DAM, no AI, no managed CDN.

Blober supports Cloudinary as a source and a destination. Connect with your Cloud Name, API Key, and API Secret from the Cloudinary Console and Blober can browse your folders, upload from any other supported provider (Google Drive, Dropbox, AWS S3, Backblaze, Cloudflare R2, Wasabi, Rabata, Proton Drive, GoPro Cloud, NAS, local disk), download to any destination, and delete in bulk.

The most useful case is moving out of Cloudinary. Because Cloudinary has no bulk export tool, leaving means listing the catalog, downloading every original, and re-uploading somewhere else. Blober runs that as a single workflow: pick Cloudinary as source, pick the destination, select the files, run it. Transfers stream through your own machine, folders and filenames are preserved, and you can re-run the workflow later to pick up anything new.

The same workflow runs in the other direction if you want to move an existing folder tree from Dropbox or S3 into Cloudinary.

For setup details, see the Cloudinary provider documentation.