I'm a photographer looking to build a personal library of images, and I also work on websites for clients who may need to manage thousands of photos. I'd like to store the image files along with information such as titles, descriptions, or categories, then retrieve both the images and their metadata through an API. What service or architecture would be practical, affordable, and easy to reuse across different projects?
4 Answers
A simple version is object storage plus a JSON record for each image, with the record containing the title, tags, dimensions, and file path. Just be careful about relying on metadata embedded only inside the image file: it can be useful as a backup, but it’s not as convenient for searching and updating as a separate catalog.
For a flexible and inexpensive custom setup, keep the actual images in object storage such as Amazon S3 or Azure Blob Storage, and store searchable metadata in a database. An API layer can return the metadata along with the image URL. This scales well and avoids putting large binary files directly in the database.
Cloudinary is probably the easiest all-in-one option. It handles image storage, metadata, transformations, delivery, and API access, so you don’t have to build much infrastructure yourself. It’s especially convenient when different clients need resizing, cropping, or optimized formats.
If you want something more ready-made for content management, a platform like Sanity or WordPress can manage media and related fields while exposing them through an API. That’s a good fit when clients need an editing interface rather than just backend storage.

A small catalog could use JSON files instead of a database, but once clients need filtering, updates, permissions, or tens of thousands of images, a proper metadata store will be much easier to manage.