Документация
Всё, что нужно знать для работы с LW Images — от быстрого старта до тонкой настройки.
Быстрый старт
Сжатие первого файла за 2 минуты
Форматы
PNG, JPEG, WebP, AVIF, JPEG XL — что выбрать
AI-апскейлинг
Увеличение через Real-ESRGAN
REST API
Справочник эндпоинтов
Быстрый старт
Через веб-интерфейс
- Откройте little-white.ru/compress
- Перетащите изображения в зону загрузки (или нажмите «выберите файлы»)
- Выберите формат и качество при необходимости
- Скачайте результат — один файл или ZIP-архив
Через API (Pro)
- Зарегистрируйтесь на little-white.ru и подключите тариф Pro
- Получите API-ключ в личном кабинете
- Отправьте запрос:
Поддерживаемые форматы
На вход принимаются JPEG, PNG и WebP. На выходе — любой из пяти форматов:
PNG
Lossy-сжатие через pngquant. Сохраняет прозрачность. Лучший выбор для иконок и UI-элементов.
JPEG
Сжатие через mozjpeg. Trellis quantization — визуально лучше стандартного JPEG при меньшем размере.
WebP
Универсальный формат. Поддержан всеми современными браузерами. Хороший баланс размера и качества.
AVIF
Формат нового поколения. Лучшее соотношение качество/размер. Chrome, Firefox, Safari 16+.
JPEG XL
Замена JPEG от JPEG Committee. Поддерживает прозрачность, HDR, lossless. Chrome 91+, Safari 17+.
Какой формат выбрать?
| Задача | Рекомендация | Почему |
|---|---|---|
| Фото на сайте | AVIF + JPEG fallback | Лучшее сжатие, поддержка >95% браузеров через <picture> |
| E-commerce каталог | WebP | 100% поддержка, быстрое кодирование, хорошее качество |
| Иконки и UI | PNG | Прозрачность, чёткие линии |
| Максимальная экономия | AVIF | Минимальный размер при сохранении визуального качества |
| Архивное хранение | JPEG XL (lossless) | Lossless + HDR + прозрачность в одном формате |
AI-апскейлинг
Увеличение разрешения изображения в 2× или 4× с помощью нейросети Real-ESRGAN. Обработка идёт на GPU-кластере (5 видеокарт NVIDIA).
Как работает
- Изображение загружается на сервер
- Ставится в очередь GPU-кластера (приоритет: high → normal → batch)
- Нейросеть восстанавливает детали и увеличивает разрешение
- Результат доступен для скачивания (~10–60 сек в зависимости от размера)
Ограничения
- Входные форматы: JPEG, PNG, WebP
- Максимальное разрешение входа: зависит от VRAM видеокарты (до ~3000×3000 px для 4×)
- Выход: PNG (без потери качества после апскейла)
- Лимиты: Free — 20/день, Pro — 100/день
Совмещение со сжатием
В веб-интерфейсе можно включить «Сжимать» после апскейла — результат будет увеличен и затем сжат в выбранный формат. Через API это два последовательных запроса: /v1/upscale → /v1/compress.
Webhook-уведомления
При отправке параметра webhook в запросе на сжатие, сервер отправит POST-запрос на указанный URL по завершению обработки.
Формат уведомления
Проверка подписи
IP-whitelist
Ограничьте использование API-ключа списком доверенных IP-адресов. Настраивается в личном кабинете или через API:
Поддерживаются отдельные IP и CIDR-подсети. Пустой массив — доступ с любого IP (whitelist отключён).
Лимиты и квоты
| Параметр | Free | Pro |
|---|---|---|
| Сжатий в день | 50 | 5 000 |
| AI-апскейлов в день | 20 | 100 |
| Макс. размер файла | 2 МБ | 10 МБ |
| Макс. разрешение | 50 мегапикселей (например, 7 000 × 7 000 px) | |
| Rate limit (сжатие) | 60 запросов / минута (per IP) | |
| Rate limit (апскейл) | 10 запросов / минута (per IP) | |
| Batch-запросы | — | до 20 файлов |
| Хранение результата | 1 час после обработки | |
При превышении лимита API возвращает 429 Too Many Requests. Текущее использование доступно через GET /v1/limits.
Изображения с разрешением более 50 мегапикселей (произведение ширины на высоту в пикселях) отклоняются с ответом 400 и сообщением «Изображение слишком большое: максимум 50 мегапикселей. Уменьшите разрешение и попробуйте снова.» — это защита от чрезмерного потребления памяти. Ограничение по разрешению не зависит от размера файла: даже лёгкий по весу файл может превышать лимит по числу пикселей.
Безопасность
- API-ключи хранятся на сервере как SHA256-хэши — утечка базы не компрометирует ключи
- Webhook-подписи — HMAC-SHA256 + timestamp + constant-time сравнение
- SSRF-защита — webhook URL проверяется на приватные диапазоны (127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16)
- Decompression bomb — защита от ZIP-бомб и декомпрессионных атак через PNG
- Rate limiting — per-IP и per-key, Redis-based
- Файлы автоматически удаляются через 1 час после обработки