Content-Aware Cropping?

I’m in the process of migrating my SaaS service from Cloudinary to Uploadcare, mostly on the strength of your upload widget – direct uploads from the client are simpler for me to implement, and I like that you integrate several sources for the upload.

One thing Cloudinary supports is content-aware cropping via their “g_auto” parameter embedded in an image’s URL. This seems to crop images fairly intelligently by cropping in on a subject of interest. Does Uploadcare support similar functionality? The default when cropping seems to have the origin set to the upper-left corner of the image, regardless of whether there is anything “interesting” in that portion of the image or not. (I’m not really interested in something which requires a user to manually specify the crop location – it needs to be automatic.)


Hi @mark1,

This type of cropping is not supported yet. We’re constantly working to improve our image processing engine, and content-aware cropping is what we’re going to implement in the future.

Can you tell us a bit about your project and how would you use content-aware cropping with it?

In one use case, the app displays a photo grid, with each photo occupying a square-shaped cell in the grid. The grid allows the user to drag photos in order to change the order of their appearance in a slide show. Because it’s a grid, the photos all need to be cropped to the same square-shaped size when in this mode. Without the intelligent cropping, the draggable thumbnails don’t always feature the most interesting piece of the photo.

I could also see this feature being very useful in a responsively-designed website, where you may need to resize photos with different crops as the page narrows and expands.

You can read more about the way the “other guy” has implemented it here: Auto-Crop Images for Responsive Designs and Improved Image Quality

It seems like you’re already working on identifying objects within photos; hopefully adding support for a “gravity” parameter like this wouldn’t be a huge stretch? Thanks for listening!