A fast, Docker-ready HTTP microservice for high-level image processing powered by libvips.
Imaginary is a fast HTTP microservice for high-level image processing, built in Go and backed by libvips. It provides a scalable solution for operations like resizing, cropping, watermarking, and format conversion via a simple HTTP API, making it suitable for handling image workloads in web applications and media services.
Developers and teams building web applications, media platforms, or content management systems that require efficient, scalable image processing without relying on external SaaS services.
Imaginary offers exceptional performance with low memory usage, thanks to libvips, and is designed for easy deployment via Docker. Its self-hostable nature and comprehensive feature set make it a reliable alternative to cloud-based image processing services.
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages libvips for image processing, which is 4x faster than ImageMagick and uses less memory, as shown in the benchmarks section of the README.
Offers API token authorization, URL signature protection, and CORS support, ensuring secure integration into web applications, as detailed in the HTTP API section.
Provides first-class support for Docker, Fly.io, and Google Cloud Run, with step-by-step deployment guides and Docker Compose examples.
Supports chaining multiple image operations in a single HTTP request via the /pipeline endpoint, optimizing performance for complex transformations.
Requires libvips and Go to be installed and properly configured, with additional steps for optional formats like TIFF or GIF, adding setup overhead.
Advanced formats such as TIFF, PDF, GIF, and SVG need libvips compiled with specific bindings, which are not enabled out-of-the-box, as noted in the prerequisites.
As a self-hosted service, teams must handle scaling, monitoring, and updates themselves, unlike managed SaaS alternatives, with production notes advising on concurrency limits and memory issues.
Limits pipeline operations to a maximum of 10 independent transformations in a single request, which may be restrictive for intricate image workflows, as specified in the pipeline endpoint documentation.