Optimize API

Метод оптимизирует изображения через gateway, учитывает лимиты пользователя и возвращает результат в base64.

Метод

POST /v1/optimize
Content-Type: multipart/form-data Authorization: Bearer sk_live_... Лимит тела: 65 MB

Пример запроса

curl -X POST "https://imgfix.ru/v1/optimize" \
  -H "Authorization: Bearer sk_live_xxx" \
  -F "images=@first.png" \
  -F "images=@second.jpg" \
  -F "format=webp" \
  -F "quality=82" \
  -F "width=1600"

Параметры запроса

ПараметрТипОбязателенОписание
imagesfile[]даОдин или несколько файлов. Поле можно повторять.
imagefileнетАлиас для одного файла, если удобнее отправлять single upload.
formatenumнетoriginal, jpeg, png, webp. По умолчанию сохраняется исходный формат.
qualityintнетКачество 1..100 для JPEG/WebP. По умолчанию 82.
widthintнетМаксимальная ширина результата в пикселях. Высота пересчитывается пропорционально.

Поддерживаемые входные форматы: JPEG, PNG, WebP, AVIF.

Пример ответа

{
  "success": true,
  "message": "optimized 2 file(s)",
  "total_original_size": 1345122,
  "total_optimized_size": 512044,
  "total_saved_bytes": 833078,
  "total_saved_percent": 61.9,
  "results": [{
    "filename": "first.png",
    "success": true,
    "original_size": 845122,
    "optimized_size": 312044,
    "saved_bytes": 533078,
    "saved_percent": 63.1,
    "output_format": "webp",
    "original_format": "png",
    "width": 1600,
    "height": 900,
    "resized": true,
    "optimized_base64": "..."
  }]
}

Ошибки метода

HTTPКодКогда возникает
400cannot parse formНекорректный multipart-запрос или превышен лимит тела.
401invalid_api_keyBearer token не найден среди активных ключей.
429daily_limit_exceededПревышен дневной бесплатный лимит.
402paid_quota_exhaustedПлатный пакет исчерпан.
502converter_unavailableВнутренний converter недоступен.