Трансформации

Изменение размера, кадрирование, конвертация формата и оптимизация изображений на лету через URL-параметры.

Demo image
Ширина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.

Справочник параметров

ParamValuesDescription
w1-2000Ширина результата в пикселях.
h1-2000Высота результата в пикселях.
q1-100Качество кодировщика JPEG/WebP, где 100 — без потерь.
fmtauto, webp, jpeg, png, avifФормат вывода. auto выбирает на основе заголовка Accept (современные браузеры получают WebP/AVIF).
fitcover, contain, inside, outsideСпособ масштабирования изображения под width/height. cover обрезает до заполнения, contain уменьшает до вписывания, inside уменьшает но не увеличивает, outside увеличивает до заполнения.

Примеры

thumb.ts
// Resize to 800px wide WebP at 85% quality
const 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.