{ LW } little white
Images сжатие и апскейлинг
Сжатие Документация
👤 Профиль
🚪 Выйти
RU EN
🔐

Вход в личный кабинет

Введите логин и пароль для доступа

Загрузка…
Нет аккаунта? Зарегистрируйтесь на little-white.ru
← Вернуться назад
RU EN
Кабинет
📊 История 🔑 API-ключ 💳 Биллинг 📖 Документация 👤 Профиль

История операций

Все сжатия и апскейлинги за последние 30 дней

Обработано
—
Сэкономлено
—
Ср. сжатие
—
AI-апскейлинг
—
Последние операции
Файл Тип Формат Размер Экономия Статус Дата IP
Загрузка...

API-ключ

Ваш ключ для доступа к REST API

💡
Использование API
Передавайте ключ в заголовке Authorization: Bearer sk-lw-... Подробнее — в разделе Документация
Ваш API-ключ
••••••••••••
Полный ключ показывается только при создании. Если вы его потеряли — перевыпустите новый.
Разрешённые IP-адреса Макс. 3 адреса
API-запросы принимаются только с указанных IP-адресов. Добавьте хотя бы один IP для активации ключа.
Загрузка...
⚠️ Запросы с IP, не входящих в список, будут отклонены с кодом 403. Убедитесь, что добавили IP вашего сервера.
Последние API-запросы
Эндпоинт Статус Время Дата
Нет данных

Тариф

Информация о текущей подписке

—
Текущий тариф
—
—
Активен
Включено в тариф
  • Загрузка...
Использование лимитов Период: 1–30 июня 2026
AI-апскейлинг —
— —
Сжатия за сегодня —
— —
Одновременная обработка —
Максимум параллельных задач
Макс. размер файла —
Доступные форматы: JPEG, PNG, WebP, AVIF, JXL

Документация API

Все эндпоинты, параметры и примеры запросов

🚀
Быстрый старт
Базовый URL: https://little-white.ru/compress/v1
Авторизация: заголовок Authorization: Bearer ВАШ_КЛЮЧ
IP-привязка: запросы принимаются только с разрешённых IP (до 3 адресов)
Формат ответа: JSON (метаданные) или binary (файл)
POST /v1/compress
Сжатие одного изображения. Возвращает обработанный файл в теле ответа.
Параметры (multipart/form-data)
ПараметрТипОбязательныйОписание
fileFileДаИзображение (JPEG, PNG, WebP, AVIF, JPEG XL)
formatStringНетauto | jpeg | png | webp | avif | jxl. По умолчанию: auto
qualityIntegerНет1–100. По умолчанию: 85
Заголовки ответа
ЗаголовокОписание
X-Original-SizeРазмер исходного файла (байты)
X-Compressed-SizeРазмер результата (байты)
X-Savings-PercentПроцент экономии
X-Output-FormatФормат результата (jpeg, png, webp, avif, jxl)
Пример (cURL)
curl -X POST https://little-white.ru/compress/v1/compress \
  -H "Authorization: Bearer sk-lw-..." \
  -F "file=@photo.jpg" \
  -F "format=avif" \
  -F "quality=80" \
  --output compressed.avif
POST /v1/upscale PRO
AI-апскейлинг изображения (Real-ESRGAN). Асинхронная операция — возвращает job_id для отслеживания.
Параметры (multipart/form-data)
ПараметрТипОбязательныйОписание
fileFileДаИзображение для увеличения
scaleIntegerНет2 или 4. По умолчанию: 4
priorityStringНетhigh | normal | batch. По умолчанию: normal
Ответ
{ "job_id": "550e8400-e29b-...", "status": "queued" }
GET /v1/upscale/{job_id}
Проверка статуса задачи апскейлинга.
Ответ
{
  "status": "done",          // queued | processing | done | error
  "result": {
    "effective_scale": 4,
    "output_width": 3200,
    "output_height": 2400,
    "elapsed_s": 6.3
  }
}
GET /v1/upscale/{job_id}/download
Скачать результат апскейлинга. Опционально можно сжать на лету.
Query-параметры (необязательные)
ПараметрОписание
formatСжать результат в указанный формат (jpeg, png, webp, avif, jxl)
qualityКачество сжатия (1–100)
Пример: апскейлинг + сжатие в AVIF
# 1. Отправить на апскейлинг
curl -X POST https://little-white.ru/compress/v1/upscale \
  -H "Authorization: Bearer sk-lw-..." \
  -F "file=@photo.jpg" -F "scale=4"
# → {"job_id": "550e8400-...", "status": "queued"}

# 2. Проверить статус (polling)
curl https://little-white.ru/compress/v1/upscale/550e8400-... \
  -H "Authorization: Bearer sk-lw-..."
# → {"status": "done", ...}

# 3. Скачать с пережатием в AVIF
curl https://little-white.ru/compress/v1/upscale/550e8400-.../download?format=avif&quality=80 \
  -H "Authorization: Bearer sk-lw-..." \
  --output upscaled.avif
Коды ошибок
КодОписание
400Неверный запрос (файл не передан, неподдерживаемый формат, превышен размер)
401Неверный или отсутствующий API-ключ
403IP-адрес не в белом списке ключа
404Задача не найдена (неверный job_id или TTL истёк, 24 часа)
429Превышен лимит запросов (rate limit)
500Внутренняя ошибка сервера
502GPU-воркер недоступен
Лимиты
FreePro
Сжатие50 файлов/деньБезлимит
Макс. размер файла10 МБ50 МБ
ФорматыJPEG, PNG, WebP+ AVIF, JPEG XL
AI-апскейлинг—100 операций/день
API-доступ—Да
Одновременная обработка15
Rate limit10 req/s10 req/s
Примеры для языков
Node.js
const form = new FormData();
form.append('file', fs.createReadStream('photo.jpg'));
form.append('format', 'avif');

const res = await fetch('https://little-white.ru/compress/v1/compress', {
  method: 'POST',
  headers: { Authorization: `Bearer ${API_KEY}` },
  body: form,
});

const buffer = await res.arrayBuffer();
fs.writeFileSync('out.avif', Buffer.from(buffer));
console.log('Savings:', res.headers.get('x-savings-percent') + '%');
Python
import requests

r = requests.post(
    "https://little-white.ru/compress/v1/compress",
    headers={"Authorization": f"Bearer {API_KEY}"},
    files={"file": open("photo.jpg", "rb")},
    data={"format": "avif", "quality": "80"},
)

with open("out.avif", "wb") as f:
    f.write(r.content)
print(f"Savings: {r.headers['X-Savings-Percent']}%")

Настройки профиля

Персональные данные и уведомления

Основная информация
ИИ
JPG или PNG, до 2 МБ
На этот адрес придут уведомления и чеки
Безопасность
Уведомления
Email-уведомления
Отчёт об использовании раз в неделю
Предупреждение о лимитах
Уведомить, когда использование достигнет 80%
Маркетинговые рассылки
Новости, обновления функций и скидки
Webhook-уведомления
Отправлять POST при завершении batch-задачи
Webhook URL
URL для POST-уведомлений о завершении batch-задач
Зона опасности
Удалить аккаунт
Аккаунт и API-ключи будут деактивированы