Pricing
The current price to host a 1 megabyte image is: ~0.3 tokens/mo
Tokens
All prices are in "tokens", with an exchange rate of 100 tokens = 1 USD. It's the usual microtransaction model, or at least what microtransactions were supposed to be: you buy tokens for real money and spend them on images. This makes credit card transaction costs easier to handle and tends to stabilize prices, since the service ends up with a buffer of money ahead of when it is needed. Prices are recalculated monthly based off the real costs of storing and serving images.
Minimum rates
The minimum rate is currently 0.01 token per image per day, and the minimum time interval we bother measuring is one day. We do not deal with fractional tokens, and everything is rounded up to the next day. Having a price like 0.00000147 tokens/hour is pretty meaningless without a calculator; Amazon and other places that charge super precise hourly rates are doing it just to make the true costs difficult for you to understand. If the minimum rate is higher than the true rate, the excess is put into subsidizing all images and decreasing future prices.
Overflow
Since storage is so cheap it's not too difficult for someone to pay to keep an image around for a century or more, and it seems pretty silly to try to guarantee that is possible, let alone cost-effective. So the maximum time an image can be reserved for is 1 year. If enough tokens are put into an image to keep it around longer than one year, those tokens are instead saved up as a reserve and used to pay the image's costs monthly based on that month's price.
The main factor that makes costs unpredictable is bandwidth. If someone uploads an image in 2020 and puts enough money to keep it online until 2030, and in 2028 it suddenly becomes incredibly popular for some reason, then the amount of money put aside to pay for that image could suddenly become much less than its true cost. So the 1-year limit to the guaranteed price means that if this happens, we don't lose tons of money and we don't have to break our promise to keep the image around until the listed date. Instead we lose a little bit of money in the short term and the image stays around a little bit shorter than expected, but still past the listed expiration date.
Pricing breakdown
The cost of hosting an image is made of three parts: storage, overhead and bandwidth. The price you are charged for an image is the sum of these three things. Let's look at them individually.
- Storage is simple: it is how much the disk space used actually costs. This is easy to predict, because the size of an image doesn't change once it is stored. Storage costs per terabyte generally decrease over time, so currently nothing is ever deleted, just made inaccessible until someone wants it enough.
- Overhead is also fairly simple, but harder to predict: it is the cost of stuff that doesn't directly relate to the number of images served. Paying for servers, monitoring systems, employees, domain names, security etc all fall into this category. Hiring a new employee or adding a new server will increase overhead, but figuring out a better workflow or making software more efficient will decrease it, so it's difficult to predict. However, it tends not to change very quickly.
- Bandwidth is the kicker: it is the cost of actually sending a data to users, and it varies based on the popularity of the data. That is mostly a steady state, but as anyone knows who has seen a server go down due to becoming suddenly way too popular, it can spike extremely quickly. This is impossible to predict, so by letting people pay for bandwidth in advance we are effectively making a guess at what the image's bandwidth costs will be during that time. So we average bandwidth costs over all images and once per month adjust it based on the previous month's costs, plus some slack to account for estimated changes during the month to come.