Трансформации
Изменение размера, кадрирование, конвертация формата и оптимизация изображений на лету через URL-параметры.
Ширина800
Высота600
Качество85
https://media.fastpic.pro/42d00a45-e45b-405a-950b-88929d855b9a?w=800&h=600&q=85&fmt=auto&fit=coverКак работают трансформации
При запросе media.fastpic.pro/{publicId}?w=800&fmt=webp media-proxy забирает оригинал из хранилища, применяет трансформации через Sharp и стримит результат в браузер. Трансформированные изображения кэшируются на edge, поэтому повторные запросы обслуживаются из CDN.
Справочник параметров
| Param | Values | Description |
|---|---|---|
| w | 1-2000 | Ширина результата в пикселях. |
| h | 1-2000 | Высота результата в пикселях. |
| q | 1-100 | Качество кодировщика JPEG/WebP, где 100 — без потерь. |
| fmt | auto, webp, jpeg, png, avif | Формат вывода. auto выбирает на основе заголовка Accept (современные браузеры получают WebP/AVIF). |
| fit | cover, contain, inside, outside | Способ масштабирования изображения под width/height. cover обрезает до заполнения, contain уменьшает до вписывания, inside уменьшает но не увеличивает, outside увеличивает до заполнения. |
Примеры
thumb.ts
// Resize to 800px wide WebP at 85% qualityconst src = 'https://media.fastpic.pro/img_a1b2c3d4?w=800&fmt=webp&q=85'Кэширование
Все трансформированные изображения содержат заголовки Cache-Control (max-age=2592000, public). После подключения Cloudflare CDN перед media.fastpic.pro (отложено до MVP-1) повторные трансформации будут отдаваться из edge-кэша, не достигая origin.