TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Issues with Cloudflare Images

528 pointsby danielskoglyover 3 years ago

34 comments

danielrhodesover 3 years ago
I love Cloudflare, but these Image products are a black mark on their reputation.<p>Every point the author says is 100% correct. I&#x27;ll add one more point, which ended up making it a total non-starter: you can&#x27;t import lots of images because their rate limits are so pernicious. If you have tens of thousands or millions of images, keeping within their single digit per second rate limit, which appears to be totally non-negotiable, makes it impossible to add images at any scale.<p>They have another product called Cloudflare Images which can work from Workers: but here the pricing is almost absurd and from the data they show on their dashboard, they only cache a tiny percentage of the requests. This means you end up paying a lot more than makes sense.
评论 #29482211 未加载
评论 #29477074 未加载
marcclover 3 years ago
Thanks for the feedback. I&#x27;m on the CF Images product team. We will allow the download of the original images, it is actually one of the next features coming up. Also we will introduce webhooks and Images Analytics next.
评论 #29475921 未加载
评论 #29480367 未加载
评论 #29475890 未加载
评论 #29477630 未加载
leenyburgerover 3 years ago
I thought Cloudflare was going to win the image hosting&#x2F;serving&#x2F;resizing game based on their original blog post, but that doesn&#x27;t seem to be the case.<p>I kept getting frustrated with the complexity and changing costs of solutions out there, so about a year ago I launched <a href="https:&#x2F;&#x2F;www.simplefileupload.com" rel="nofollow">https:&#x2F;&#x2F;www.simplefileupload.com</a>. It&#x27;s a super easy, flat rate cost solution to quickly allow users to upload images and files. It provides a customizable upload widget and serves files via a CDN and firewall to protect against attacks. It doesn&#x27;t have query param image resizing yet, but it&#x27;s coming!
评论 #29477796 未加载
评论 #29477507 未加载
评论 #29478822 未加载
评论 #29478460 未加载
评论 #29477444 未加载
评论 #29477474 未加载
评论 #29477905 未加载
评论 #29478964 未加载
评论 #29478328 未加载
评论 #29496386 未加载
评论 #29479436 未加载
caromover 3 years ago
I&#x27;ve run into a lot of these issues using it and I&#x27;ve even reported them on every available channel.<p>The original image is my biggest complaint. I was making a service where users would want to batch retrieve what they&#x27;ve uploaded. No response on the forums to that.<p>Also hit the CORS issue, so rather than fetching an image and loading it into a canvas I have to use a fake image element. This makes the canvas untrusted.<p>Delete was also annoying. I wanted to blow out my dev environment and there was no way to just purge everything.<p>I kinda stalled, was going to try S3 since the original image thing was such a breaker for me. I was vocal about all these same issues, making my own threads and bumping others in the forum.
评论 #29479652 未加载
jgrahamcover 3 years ago
I have passed this on to the product manager and engineering lead for Cloudflare Images. Thanks for the write up.
评论 #29474993 未加载
jcsnvover 3 years ago
We were charged $10k for the first month of use and immediately reverted the implementation. CF was kind enough to refund us since we&#x27;re still an early stage co. It would be great if pricing was more reasonable
评论 #29475772 未加载
评论 #29476077 未加载
评论 #29475833 未加载
评论 #29477171 未加载
评论 #29480598 未加载
johnebgdover 3 years ago
Cloudflare Pages has a show stoping bug at the moment.<p>Link a repo from GitHub then change the name of your GitHub repo and the pages breaks but won&#x27;t let you relink your Github repo anywhere.<p>I opened a ticket with support. I have gotten no where in two months (Opened on October 7th 2021).<p>We ended up switching to Netlify that has a more mature product.<p>In case someone from Cloudflare cares to investigate this is request ID# 2275043 in your support system.
评论 #29477857 未加载
评论 #29477377 未加载
评论 #29478960 未加载
评论 #29476439 未加载
评论 #29482319 未加载
cabynover 3 years ago
I was very excited about CF Images, but after doing some basic napkin math the pricing was way more than expected. That, coupled with some of the other limitations you mentioned, had me abandon CF images pretty quick!
评论 #29477840 未加载
junonover 3 years ago
This is a really respectfully written article, just as a side note.
评论 #29476248 未加载
rob74over 3 years ago
&gt; <i>No way to retrieve original image</i><p>that&#x27;s probably the logical continuation of video hosting - if you upload something to, say, YouTube, you also don&#x27;t expect to be able to retrieve the original video from there. It may be a high-quality version, but it still gets reencoded on upload...
评论 #29475374 未加载
评论 #29480063 未加载
评论 #29477151 未加载
AtNightWeCodeover 3 years ago
&quot;5. Lack of dynamic resizing, only 20 “variants” allowed&quot;<p>Best practice when it comes to images on the web is to use a fixed number of sizes. Why they limited it to 20 I do not know though. You should never allow dynamic image resizing since it is commonly used in various attacks.
评论 #29475721 未加载
评论 #29475655 未加载
评论 #29483691 未加载
评论 #29480036 未加载
评论 #29476037 未加载
tekudivover 3 years ago
I hear you Daniel. We have built a no nonsense image (and video) optimization service that addresses all of the issues and does more.<p>#1. Simple pricing [1]. We only charge for optimize bandwidth out. No other charge.<p>#2. Complete analytics [2] on number of images served, bandwidth usage, response times, formats of images served etc.<p>#3. You keep original images in your own storage [3]. We only cache it the first time we fetch an image to resize. This is to prevent any lock-ins and easy integration.<p>#4. You can easily setup any custom headers including CORS for all images from a dashboard.<p>#5. Complete dynamic resizing available with a simple API. As noted by CF officials below they can’t do it because they are a DDoS prevention company first. We are a media processing company first.<p>#6. No direct upload necessary. Our performance will be top of the line regardless of where the original images are stored.<p>#7. Max input size in free plan is 8192x8192 pixels. It’s even higher in paid plans. Plus all image formats including animated GIFs, Lotte, SVG are accepted and optimized when possible.<p>#8. Batch deletions not required as we don’t own originals<p>#9. We are super responsive to support and help our customers. We will let our reviews speak for that.<p>Hope you like it.<p>[1] <a href="https:&#x2F;&#x2F;www.gumlet.com&#x2F;pricing" rel="nofollow">https:&#x2F;&#x2F;www.gumlet.com&#x2F;pricing</a><p>[2] <a href="https:&#x2F;&#x2F;docs.gumlet.com&#x2F;docs&#x2F;image-analytics-dashboard" rel="nofollow">https:&#x2F;&#x2F;docs.gumlet.com&#x2F;docs&#x2F;image-analytics-dashboard</a><p>[3] <a href="https:&#x2F;&#x2F;docs.gumlet.com&#x2F;docs&#x2F;original-image-storage" rel="nofollow">https:&#x2F;&#x2F;docs.gumlet.com&#x2F;docs&#x2F;original-image-storage</a>
评论 #29482256 未加载
stanmancanover 3 years ago
I was always resizing images myself and storing separate versions before I heard about Cloudflare Images. The CF implementation looked a bit confusing and expensive though and I ended up using Bunny.net and it&#x27;s been fantastic. Incredibly easy to use, the API is dead simple, you can pass in different parameters live and it will manipulate the source image and cache it for future requests. It&#x27;s cheap and support is top notch. Highly recommend people check it out if they&#x27;re looking for something like this. It&#x27;s so much easier sending up the original file and being able to change dimensions on the fly.<p>Update your UI and now thumbnails need to be 400x400 instead of 250x250? Just update the parameters and you&#x27;re done. No need to manually resize your whole back catalogue as they&#x27;ll be done on demand.
r1chover 3 years ago
The Argo (optimized routing to the origin) pricing makes no sense to me either. Cloudflare charge for bandwidth when you enable Argo, but on ALL requests, not just those that hit your origin. There&#x27;s actually zero change in routing for the cached requests - the client still hits the nearest CF datacenter, but now you&#x27;re being charged for bandwidth on every cache hit when you used to pay nothing.<p>I like Cloudflare but some of the pricing decisions on the premium features definitely leave me scratching my head.
powell1over 3 years ago
I&#x27;d also add to your feedback by saying that there isn&#x27;t a &quot;Simple&quot; way to integrate it into existing CMS&#x27;s or even static sites, a plugins for the top 3 CMS&#x27;s would be nice + an &quot;imgbot&quot; equivalent for static sites.
syastrovover 3 years ago
Imgix has been quite nice: unlimited variants, pricing per master image plus bandwidth charges, and you can keep your images on S3. They even contacted us about setting up a custom agreement when they noticed we were going over the allotted plan.
duxupover 3 years ago
Man sounds like their images product needs a &quot;let&#x27;s take a step back and rethink why we hit some of these limits and talk about what we can do about it&quot;.<p>Something fundamental seems to have gotten out of hand when it comes to the entire offering.
alin23over 3 years ago
When I first saw this product announced, I immediately wanted to replace my manual solution with it. I’ve been putting it off because other work had to be done, but now that I read this, I think I’ll stick with my current workflow for now.<p>What I’ve been doing is first resize an image to multiple specific sizes using Vips (<a href="https:&#x2F;&#x2F;www.libvips.org&#x2F;API&#x2F;current&#x2F;using-cli.html" rel="nofollow">https:&#x2F;&#x2F;www.libvips.org&#x2F;API&#x2F;current&#x2F;using-cli.html</a>)<p><pre><code> for size in 8120 5260 3840 2560 1920 1200 992 768 576 320 vipsthumbnail $img --vips-progress --linear \ --size=$size --vips-concurrency=(sysctl -n hw.ncpu) -o $size&#x27;_%s.png&#x27; \ --eprofile=&#x27;&#x2F;System&#x2F;Library&#x2F;ColorSync&#x2F;Profiles&#x2F;sRGB Profile.icc&#x27; \ --delete --rotate end </code></pre> Optimize them using ImageOptim (<a href="https:&#x2F;&#x2F;imageoptim.com&#x2F;mac" rel="nofollow">https:&#x2F;&#x2F;imageoptim.com&#x2F;mac</a>)<p><pre><code> imageoptim (dirname $img) </code></pre> Then use some kind of template to add a srcset on my websites.<p>This one is using Plim (<a href="https:&#x2F;&#x2F;plim.readthedocs.io&#x2F;en&#x2F;latest&#x2F;syntax.html#tag-attributes" rel="nofollow">https:&#x2F;&#x2F;plim.readthedocs.io&#x2F;en&#x2F;latest&#x2F;syntax.html#tag-attrib...</a>) which I use on Lunar’s website (<a href="https:&#x2F;&#x2F;lunar.fyi" rel="nofollow">https:&#x2F;&#x2F;lunar.fyi</a>)<p><pre><code> img alt=&quot;background&quot; srcset=${ &#x27;,&#x27;.join(f&#x27;&#x2F;static&#x2F;img&#x2F;stars&#x2F;{width}_stars.png {width}w&#x27; for width in [8120, 5260, 3840, 2560, 1920, 1280, 1024, 768, 640, 320]) } </code></pre> This one is using Hugo which I use on <a href="https:&#x2F;&#x2F;alinpanaitiu.com" rel="nofollow">https:&#x2F;&#x2F;alinpanaitiu.com</a><p><pre><code> {{ $paths := ( apply [8120, 5260, 3840, 2560, 1920, 1200, 992, 768, 576, 320, 64] &quot;printf&quot; &quot;&#x2F;images&#x2F;%d_stars.png %dw&quot; ) }} {{ $srcset := delimit $paths &quot;,&quot; }} &lt;img alt=&quot;background&quot; srcset=&quot;{{ $srcset }}&quot;&gt; </code></pre> Having a CDN in front which could do this for me is what I’ve been dreaming of, so I can simply have an <i>images</i> folder with the unaltered images instead of all those variants. But what I want isn’t always what I need.<p>Maybe what I need is something like a reverse proxy that can generate the variant on the fly when it is requested by the browser through the srcset.
评论 #29480588 未加载
j4eover 3 years ago
This is as close as I’ve ever come to HN celeb status. I posted the “how do I get the original image” the article links to.
评论 #29475824 未加载
gingerlimeover 3 years ago
Thanks for a great writeup. We are happy with thumbor, but I was considering switching to CF images, since we upgraded to Enterprise. You saved me a bunch of time and pain!!<p>As a side note, after upgrading to Enterprise, I feel quite disappointed with CF. Caching and the core features work great, but other features feel much less mature, enterprise support appear slow and not that on top of things. Sorry for the rant, but needed to vent a bit :)
fnord123over 3 years ago
For anyone looking for an alternative, <a href="https:&#x2F;&#x2F;imgproxy.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;imgproxy.net&#x2F;</a> works v. well.
评论 #29479894 未加载
评论 #29480087 未加载
tgtweakover 3 years ago
Cloudinary is really a frontrunner in this. Cloudflare should have bought them out vs try to build something that they clearly aren&#x27;t equipped to do.
评论 #29482273 未加载
vicjicamaover 3 years ago
Hi!<p>I am working on an alternative service for the optimized images and deliver them over a CDN [1], for the images it generates a series of down-scaled images and provides a helper script to get the right image. Right now all the documentation and examples are focused on NodeJS [2], but I am working on examples for Dart, Ruby and Python.<p>Some of the features are:<p>- Optimized images - Custom domain - Public and Private files over a CDN - Upload widget, API, UI, dashboard and webhook - Bulk delete and bucket manipulation - CORS configuration<p>I am working on a couple features for the private files and image handling (based on the feedback from the users), let me know if you want to give it a try!<p>[1] <a href="https:&#x2F;&#x2F;bucket.listws.com" rel="nofollow">https:&#x2F;&#x2F;bucket.listws.com</a> [2] <a href="https:&#x2F;&#x2F;bucket.listws.com&#x2F;docs&#x2F;bucket&#x2F;docs&#x2F;intro" rel="nofollow">https:&#x2F;&#x2F;bucket.listws.com&#x2F;docs&#x2F;bucket&#x2F;docs&#x2F;intro</a>
LukeLambertover 3 years ago
Image Resizing is technically a separate product, so I apologize if this is off-topic, but it appears to be missing the most useful `fit` mode – something like `fit=cover-scale-down`. I never want to enlarge an image on the server, since I can do that client-side. If I request a version with the dimensions 512×512 (square), but the source image is only 400×600, there should be a way to get a resulting image of 400×400. Am I misreading the docs? <a href="https:&#x2F;&#x2F;developers.cloudflare.com&#x2F;images&#x2F;image-resizing&#x2F;url-format" rel="nofollow">https:&#x2F;&#x2F;developers.cloudflare.com&#x2F;images&#x2F;image-resizing&#x2F;url-...</a><p>Edit: Changed suggested name of fit mode for clarity.
评论 #29475899 未加载
评论 #29475873 未加载
PaywallBusterover 3 years ago
I was looking at the CORS issue just today, you could add a Transformation Rule that will match any &#x2F;cdn-cgi&#x2F; requests and add a static CORS headers
mr90210over 3 years ago
It seems to me that there is still a lot of for small entrepreneurs to launch cloud services that the big providers do not address properly.
pabs3over 3 years ago
Do any of the CDNs use JPEG XL to reduce storage usage for JPEGs yet? (JPEG to JPEG XL to JPEG gives back the same bits)
VWWHFSfQover 3 years ago
Is there an image (or video) service that does:<p>* You bring your own storage<p>* You bring your own CDN<p>For instance, you configure your CloudFront distribution to source from the Image Transformation service. You configure your Image Transformation service to source from your S3 bucket.<p>This seems like the best of all worlds to me. Does this exist?
评论 #29480131 未加载
评论 #29481016 未加载
59nadirover 3 years ago
Does Cloudflare just write blog post upon blog post shitting on other companies, or are these examples just coming up now because when it rains it pours? These seem like embarrassing posts to have highlighted as well; the fake benchmark one and this hypocritical egress one.
jspaetzelover 3 years ago
Who cares, this is a beta(?) or brand new product, send them your feedback
评论 #29489012 未加载
metalrainover 3 years ago
So comparing to more traditional established providers like Cloudinary it&#x27;s much cheaper and has less options? Seems reasonable.<p>But surely pricing and analytics is something that needs to be resolved.
评论 #29477005 未加载
geektipsover 3 years ago
Offtopic: why cloudflare generally has issue with batch deletes? CF worker also doesn&#x27;t support batch deleting or emptying kv.
jaredcwhiteover 3 years ago
Sounds like they have a ways to go before they&#x27;re truly competitive with Cloudinary.
pier25over 3 years ago
Off topic, but I couldn&#x27;t read this because the blog is in dark mode and doesn&#x27;t offer a light mode. For a lot of people with astigmatism, dark mode is simply unusable for text heavy sites.<p>There are objective reasons why dark mode is worse than light mode, but I think anyone should be able to pick whatever mode they prefer.<p>See this for more info:<p><a href="https:&#x2F;&#x2F;levelup.gitconnected.com&#x2F;why-dark-mode-causes-more-accessibility-issues-than-it-solves-d2f8359bb46a" rel="nofollow">https:&#x2F;&#x2F;levelup.gitconnected.com&#x2F;why-dark-mode-causes-more-a...</a><p>I have no data to back this up, but I suspect the main reason dark mode is so popular these days it&#x27;s because there are a lot of users using devices in poor light conditions. The second big reason is probably more cultural, as dark mode looks more modern, unlike these damn boomer UIs from the 90s (sarcasm).<p>Some people argue about energy efficiency and OLED, which is true, but that seems like a niche use case to force dark mode on all your users.
评论 #29478118 未加载
评论 #29477908 未加载
评论 #29477948 未加载