One honest meter instead of a credit pool
Cloudinary bundles transformations, storage, and bandwidth into credits — and suspends accounts that run out. Keenpix bills exactly one thing, GB delivered, with unlimited transforms and a hard spend cap you control.
The honest verdict
If you need video transcoding, a full digital asset manager, or AI-powered transforms, pick Cloudinary — its breadth is real and Keenpix does not pretend to match it. If what you actually use Cloudinary for is resizing and delivering images, and your monthly ritual is reverse-engineering a credit invoice, Keenpix does that one job with one meter, unlimited transformations, a spend cap you set, and an AGPL self-host escape hatch. Be aware of what you give up: Keenpix is a young solo-founder product with no video, no storage, and no custom domains yet. As of July 2026 the math is stark for delivery-heavy sites — 400 GB/month is $19 on Keenpix and requires the $249/mo Advanced tier on Cloudinary.
Pricing compared
| Scenario | Cloudinary | Keenpix |
|---|---|---|
| Credits → GB translation | 1 credit = 1 GB bandwidth OR 1k transforms OR 1 GB storage, one pool | No translation — 1 GB delivered is 1 GB |
| 100 GB delivered / month | $99/mo Plus — 100 of 225 credits gone before any transforms | $9/mo Basic |
| 400 GB delivered / month | $249/mo Advanced — Plus's 225 credits can't cover it | $19/mo Pro |
| 1 TB delivered / month | Custom/enterprise — past Advanced's 600 credits | $29/mo Business |
| Effective cost per GB | ~$0.44 per credit-GB on Plus | $0.03–0.09/GB by plan; overage $0.05–0.08/GB |
| The month you exceed the plan | No auto-overage on fixed tiers — account suspended | Linear overage up to your cap, then delivery pauses |
Pricing as of July 2026. Numbers come from vendor pricing pages, which may change.
Feature by feature
| Feature | Cloudinary | Keenpix |
|---|---|---|
| Billing model | Pooled credits (transforms + storage + GB) | One meter: GB delivered |
| Transformations | Metered — 1 credit per 1,000 | Unlimited on every plan |
| Entry paid plan | $99/mo · 225 pooled credits ($89 annual) | $9/mo · 100 GB delivered |
| Overage handling | None on fixed tiers — suspension at quota | Linear $0.05–0.08/GB, hard-capped |
| Spend cap | No | Yes — on by default (~2x plan) |
| Self-hosting | No | Yes — AGPL-3.0, one-command Docker |
| Analytics | Usage reports, plan-dependent | Every tier: cache hits, latency, live logs |
| API security | Public API key + secret model | No public keys — origin allowlists + HMAC URLs |
| Storage / DAM | Yes — full DAM included | No — serves your existing origins |
| Video | Yes — transcoding + streaming | No |
| AI features | Yes — tagging, gen fill, smart crop | No |
| Custom domain (CNAME) | Advanced plan ($249/mo) and up | Not yet |
| CDN | Bundled (Cloudinary's edge) | Sits behind your CDN (Cloudflare etc.) |
| Modern formats | AVIF/WebP via f_auto | AVIF/WebP negotiation built in |
Why teams switch
One meter you can actually forecast
Cloudinary credits get drained by transformations, storage, and bandwidth at different rates, so a bot crawl or one extra srcset breakpoint quietly moves your bill. Keenpix meters delivered bandwidth and nothing else. Your invoice tracks your traffic — no pooled-credit math to reverse-engineer.
Hitting a limit pauses on your terms — it doesn't suspend your account
Cloudinary's fixed tiers have no automatic overage: exceed the credit quota and the account gets suspended. Keenpix bills linear per-GB overage up to a hard cap you set, on by default at roughly 2x your plan price, and delivery pauses at the cap instead of surprising you. Payment hiccups get a dunning grace period, never an instant cutoff.
Unlimited transformations make optimizing free
Every Keenpix plan includes unlimited transforms, so adding AVIF variants, tighter responsive breakpoints, or art-directed crops costs nothing extra. On Cloudinary each of those experiments consumes credits from the same pool that pays for your bandwidth. Optimize aggressively without watching a meter.
An open-source escape hatch
The exact engine behind the managed cloud is AGPL-3.0 — self-host it free forever with a one-command Docker or Coolify install, no CLA, no rug-pull. If you ever leave the cloud for cost, compliance, or control, you keep your URLs and your pipeline. Cloudinary has no self-host path.
Real analytics at $9, not at enterprise
Bandwidth saved, cache hit rate, format mix, top images, latency percentiles, and live request logs are included on every Keenpix tier — the $9 plan sees the same core dashboards as the $29 one. You should not need a sales call to find out what your images are doing.
When Cloudinary is the better choice
An honest comparison lists both columns. Stay with Cloudinary if any of these describe you:
- You need video transcoding, adaptive streaming, or video AI — Keenpix is images only.
- You want a full DAM: upload pipelines, asset workflows, approvals, team libraries. Keenpix has no storage at all.
- You rely on AI transforms like auto-tagging, background removal, or generative fill.
- You need a custom delivery domain today — Cloudinary offers CNAME from Advanced ($249/mo); Keenpix doesn't offer custom domains yet.
- You want a large, battle-tested vendor with a huge SDK ecosystem and enterprise support; Keenpix is a young, solo-founder product.
How to migrate from Cloudinary
- 1
Leave your assets where they are. Keenpix has no storage, so originals stay in S3, R2, your own server — or even in Cloudinary storage, used purely as an origin. You are only replacing the transform-and-delivery layer.
- 2
Create a Keenpix project and allowlist your origin hosts (e.g. your-bucket.s3.amazonaws.com or res.cloudinary.com). Per-project allowlists replace public API keys entirely.
- 3
Translate URLs: https://res.cloudinary.com/<cloud>/image/upload/w_800,q_75/photo.jpg becomes https://keenpix.com/img/<origin-url>?project=<id>&w=800&q=75. Cloudinary's f_auto needs no parameter — AVIF/WebP negotiation is automatic. c_fill,w_800,h_600 maps to w=800&h=600&fit=cover.
- 4
Swap URL generation in code with a small helper or your framework's image loader. Modifiers are IPX-parity, so Nuxt Image and IPX users can often keep their params unchanged.
- 5
Keep your CDN in front. Keenpix is designed to sit behind Cloudflare (or any CDN), so cached edge hits never touch your Keenpix quota.
- 6
Optionally enable HMAC signed URLs on hotlink-sensitive routes.
- 7
Run both side by side through the 14-day trial, watch cache hit rate and bandwidth-saved analytics, set your spend cap, then cut over — it's only URL changes, no DNS.
Frequently asked questions
How do Cloudinary credits translate to gigabytes?
One credit buys 1 GB of bandwidth, 1,000 transformations, or 1 GB of managed storage — all drawn from a single pool. Plus ($99/mo) includes 225 credits, so 225 GB delivered is the theoretical maximum if you spend zero credits on transforms and storage; real delivery is always less. That works out to roughly $0.44 per credit-GB, versus $0.03–0.09/GB effective on Keenpix (as of July 2026).
What happens when I hit my plan limit?
On Cloudinary's fixed tiers there is no automatic overage — exceed your credit quota and the account can be suspended. On Keenpix you pay a published linear rate ($0.05–0.08/GB by plan) up to a hard spend cap you set, on by default at roughly 2x your plan price. At the cap, delivery pauses instead of billing you more — your choice, not the vendor's.
Do I have to migrate my images out of Cloudinary?
No. Keenpix has no storage — it fetches from origins you allowlist and handles transformation and delivery. You can keep originals in S3, R2, your own server, or even in Cloudinary storage during the transition, and move them later (or never).
Does Keenpix handle video or DAM workflows?
No. Keenpix is deliberately an image optimization and delivery layer. If video transcoding or a full digital asset manager is core to your workflow, Cloudinary is the better fit today.
Is the self-hosted version feature-limited?
No. The AGPL-3.0 self-host engine is the same code that powers the managed cloud — sharp transforms, AVIF/WebP negotiation, caching, analytics. One-command Docker or Coolify install, free forever, no CLA, no open-core split to worry about.
Is there a free tier?
The managed cloud has a 14-day free trial (card required) — plans start at $9/mo for 100 GB delivered. If you want free forever, self-host the open-source engine on your own infrastructure.