mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
3.3 KiB
3.3 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Уменьшение размера файла изображения по уровню качества или до целевого размера файла. | 342c5cf1f864 | human | 6f0e13bce232 |
Сжатие изображения
Уменьшайте размер файла изображения, задавая уровень качества или целевой размер файла в килобайтах. Инструмент использует итеративный двоичный поиск для точного достижения целевого размера.
Конечная точка API
POST /api/v1/tools/image/compress
Принимает multipart-данные формы с файлом изображения и JSON-полем settings.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
| mode | string | Нет | "quality" |
Режим сжатия: quality или targetSize |
| quality | number | Нет | 80 |
Уровень качества (1-100). Используется, когда режим равен quality. |
| targetSizeKb | number | Нет | - | Целевой размер файла в килобайтах. Используется, когда режим равен targetSize. |
Пример запроса
Сжатие до качества 60:
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "quality", "quality": 60}'
Сжатие до целевого размера 200 КБ:
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "targetSize", "targetSizeKb": 200}'
Пример ответа
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 204800
}
Примечания
- В режиме
qualityменьшие значения дают файлы меньшего размера с бóльшим количеством артефактов сжатия. Значение 80 является хорошим значением по умолчанию для веб-использования. - В режиме
targetSizeдвижок выполняет итеративное сжатие, чтобы максимально приблизиться к целевому размеру, не превышая его. - Формат вывода соответствует формату ввода. Сжатие применяется к нативному кодированию формата (например, качество JPEG для файлов JPEG, качество WebP для файлов WebP).
- Если качество по умолчанию (80) приемлемо, вы можете полностью опустить параметр
quality.