How to save 90% of your Imgix monthly invoice

Pedro Gomes
4 min readAug 24, 2021

Paying over 4 digits every single month for a simple image resizing service? Finding it difficult to rein in this ballooning expense item? Does your account manager want to lock you down on a yearly contract to save a few percent?

Imgix is the typical Silicon Valley startup with VC money coming in every month paying for the hugely inflated salaries, office rent, taxes, fellow SF vendors and other excesses of San Francisco, California.

Their huge bill is affordable by all the other startups benefiting from the same VC largess since money has become so cheap and abundant in the right hands.

The FED

The personal blog may cost about a dollar per month and we may ignore it for as long as we want, but if we use it for something that gets traction? The monthly bill can quickly become too big to ignore, and make it unaffordable for most.

It could take a few days, or a few months, but for many, its inevitable.

How easy is to replace Imgix?

Here some ideas:

Self hosted, using Imgproxy Docker container:

docker run -p 8080:8080 -it darthsim/imgproxy

Resizing an image to 600px width can be as simple as requesting:

https://[hostname]/key/resize:auto:600/plain/https://[source-image-url]

Add Nginx and Cloudflare, and you get cheap bandwidth and SSL certificates. Run it in a container orchestration system and you get a scalable backend too.

See more details in the Imgproxy official website.

Optimize/Resize images using Next.js:

If you’re a frontend developer, you may be working with Next.js framework already. Since version 10 they’ve added a great image resizing feature allowing you to simply specify a image component which will do everything for you. No external tools, no servers, no containers. Easy, hands off.

import Image from 'next/image'

<Image src="/profile-picture.jpg" width="400" height="400" alt="Profile Picture">

See more details in https://nextjs.org/blog/next-10#built-in-image-component-and-automatic-image-optimization

Alternatively, fully managed SaaS:

Bunny: previously known as BunnyCDN, it was known as one of the cheapest CDNs around with two billing modes:

Standard (Best performance)

  • 59 PoPs around the world
  • 0.01 to 0.06 (cents per GB depending on region)

Volume (Best cost effectiveness)

  • 8 PoPs (3 in US, 3 in EU, 1 in Asia (Singapore))
  • 0.005 cents per GB, lower depending on volume.

Not only the CDN pricing is great (with performance basically as good as any other alternative), but the nimble team has been adding more and more features. One of the latest ones is image resizing.

Setup a pull zone in your Bunny dashboard (you can pull from S3 or any other source), then simply load an image like

https://[your-chosen-subdomain.b-cdn.net/[your-image-path.jpg?width=600

Let’s run the numbers with some use case scenarios:

Scenario 1:

  • 10TB of bandwidth per month (US only)
  • 100.000 unique images
  • 10.000 gb x 0.08 c/Gb= 800
  • 100.000 x (3/1000) = 300
  • = 1100 USD per month for Imgix
  • 10.000 gb x 0.01 c/Gb = 100
  • 1 x 10 (website) = 10
  • = 110 USD per month for Bunny CDN

But since Imgix is charging per unique image, let’s see how much bigger the difference becomes if you have a website with huge number of unique images.

  • 10TB of bandwidth per month (US only)
  • 1.000.000 unique images
  • 10.000 gb x 0.08 c/Gb= 800
  • 1.000.000 x (3/1000) = 3000
  • = 3800 USD per month for Imgix

In this scenario, Bunny CDN pricing stands the same, and Imgix comes at a an astronomical 34x price premium.

The best case scenario for Imgix, where there’s only a limited amount of unique images and traffic comes from exclusively from Africa, where bandwidth costs the most (for Bunny — Imgix charges a flat rate), Imgix is still more expensive or in line with Bunny:

  • 10Tb of bandwidth per month (Africa)
  • 5.000 unique images
  • 10.000 gb x 0.08 c/Gb= 800
  • 5.000 x (3/1000) = 15
  • = 815 USD per month for Imgix (some of this would be included in the 75$ per month package, but would not deviate significantly from this)
  • 10.000 gb x 0.06 c/Gb = 600
  • 1 x 10 (website)= 10
  • = 610 per month for Bunny CDN

Do your homework, make an educated choice.

The Sillicon Valley Premium doesn’t give you a product 10x better or more reliable.

Just look at the status page https://status.imgix.com/history, I wonder why they’re not showing how much 9s of availability they’re providing.

Their pricing can be inflexible or completely unacceptable for your needs.

Consider your options, don’t get locked in by the ease of use.

Considering Bunny? Sign up using my affiliate URL so I can get a meager 20$ commission from possibly saving you thousands of dollars per month.

--

--