Обработка картинок
Картинку можно уменьшить и перекодировать прямо при загрузке — хранится и отдаётся уже результат.
Опции
Одинаковы для POST /v1/files и POST /v1/uploads.
| Опция | Значения | Что делает |
|---|---|---|
format |
ORIGINAL · WEBP · JPEG · PNG · AVIF |
Формат результата. ORIGINAL — не менять. |
quality |
1–100 | Качество. Без него — значение по умолчанию для формата. |
maxWidth |
16–10000 | Уменьшить до этой ширины, сохраняя пропорции. |
maxHeight |
16–10000 | Уменьшить до этой высоты, сохраняя пропорции. |
Без опций картинка сохраняется как есть.
Качество по умолчанию
| Формат | quality |
|---|---|
| AVIF | 55 |
| PNG | 60 |
| WEBP, JPEG | 82 |
Что происходит
- Только уменьшение. Картинка меньше
maxWidth/maxHeightне растягивается. - Поворот по EXIF. JPEG, снятый «боком», поворачивается и сохраняется ровно.
- Не больше исходника. Если менять размер и формат не нужно, а результат вышел больше оригинала, сохраняется оригинал.
- Анимация не трогается. Анимированные GIF, WEBP и PNG (APNG) сохраняются как есть.
Что вернулось
Поле processed в ответе показывает, что было сделано:
{
"applied": true,
"operations": ["resize:300x200", "encode:webp@82"],
"source": { "width": 600, "height": 400, "size": 3937, "mime": "image/png" },
"result": { "width": 300, "height": 200, "size": 444, "mime": "image/webp" }
}Если обработка не понадобилась, applied: false и причина в reason: animated,
nothing to do, output is larger than source.
Ошибки
| Код | Когда |
|---|---|
422 |
Опции заданы, но файл — не картинка или её тип не обрабатывается |
422 |
Больше 25 мегапикселей |
501 |
На сервере нет кодека для нужного формата |