Imager — сервис обработки изображений на лету
Сервис для генерации, кэширования и выдачи изображений по каноническим URL. Поддерживает изменение размера, crop, trim, DPR, пресеты и современные форматы изображений.
Задача: Для адаптивной выдачи изображений требуется множество вариантов одного файла: разные размеры, плотности экрана, форматы и способы кадрирования. Предварительная генерация всех комбинаций усложняет хранение, обновление и доставку файлов.
Решение: Разработал Imager — отдельный сервис обработки изображений на лету с детерминированными URL и кэшированием результатов. Imager Client предоставляет единый API для PHP, Python, Go и TypeScript, позволяя использовать одну схему генерации изображений на backend и frontend.
- Изображения генерируются по каноническим URL без предварительной подготовки всех вариантов
- Размеры, DPR, пресеты, crop/trim и формат задаются непосредственно в URL
- Поддерживаются JPEG, PNG, WebP, AVIF, GIF, HEIF/HEIC, APNG и JPEG XL
- Единый клиентский API доступен для Go, PHP, Python и TypeScript
- Go
- libvips
- ffmpeg
- ONNX




