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.
4.2 KiB
4.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Об’єднання зображень поруч, з накладанням або в сітці з керуванням вирівнюванням, проміжками, межами та режимом зміни розміру. | 670c5cc944b1 | human | c4ebc858c103 |
Склейка зображень
Об’єднайте кілька зображень поруч, з вертикальним накладанням або в сітці. Підтримує вирівнювання, проміжок, межу, радіус кута та кілька режимів зміни розміру.
Кінцева точка API
POST /api/v1/tools/image/stitch
Параметри
| Параметр | Тип | Обов’язковий | За замовчуванням | Опис |
|---|---|---|---|---|
| direction | string | Ні | "horizontal" |
Напрямок компонування: horizontal, vertical, grid |
| gridColumns | integer | Ні | 2 | Кількість стовпців, коли напрямок — grid (від 2 до 100) |
| resizeMode | string | Ні | "fit" |
Як зображення змінюють розмір: fit, original, stretch, crop |
| alignment | string | Ні | "center" |
Вирівнювання поперечної осі: start, center, end |
| gap | number | Ні | 0 | Проміжок між зображеннями у пікселях (від 0 до 1000) |
| border | number | Ні | 0 | Ширина зовнішньої межі у пікселях (від 0 до 500) |
| cornerRadius | number | Ні | 0 | Радіус кута, застосований до кінцевого виводу (від 0 до 500) |
| backgroundColor | string | Ні | "#FFFFFF" |
Колір фону/межі у шістнадцятковому форматі (напр. #FF0000) |
| format | string | Ні | "png" |
Формат виводу: png, jpeg, webp, avif, jxl |
| quality | number | Ні | 90 | Якість виводу (від 1 до 100) |
Приклад запиту
curl -X POST http://localhost:1349/api/v1/tools/image/stitch \
-F "file=@image1.png" \
-F "file=@image2.png" \
-F "file=@image3.png" \
-F 'settings={"direction":"horizontal","resizeMode":"fit","gap":10,"backgroundColor":"#FFFFFF","format":"png"}'
Приклад відповіді
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stitch.png",
"originalSize": 1234567,
"processedSize": 987654
}
Примітки
- Потрібно щонайменше 2 зображення. Завантажте кілька файлів зображень у багаточастинному запиті.
- Підтримує вхідні формати HEIC, RAW, PSD та SVG (автоматично декодуються).
- Режими зміни розміру:
fit- Масштабує зображення відповідно до найменшого розміру вздовж осі об’єднання.original- Зберігає оригінальні розміри (може призвести до нерівних країв).stretch- Примусово приводить зображення до найменшого розміру без збереження співвідношення сторін.crop- Обрізає зображення з покриттям, щоб відповідати найменшому розміру.
- У режимі
gridклітинки набувають розмірів, що відповідають медіанним розмірам усіх зображень. cornerRadiusзастосовується до всього кінцевого виводу, а не до окремих зображень.- Розмір полотна обмежено конфігурацією сервера
MAX_CANVAS_PIXELS, щоб запобігти вичерпанню пам’яті.