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.
2.8 KiB
2.8 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Обрізайте зображення, вказавши область із позицією та розмірами. | 556f37893553 | human | d8eed8736521 |
Обрізка зображення
Обрізайте зображення, визначивши прямокутну область за допомогою позиції та розміру. Підтримує як піксельні, так і відсоткові одиниці.
API Endpoint
POST /api/v1/tools/image/crop
Приймає дані форми multipart із файлом зображення та полем JSON settings.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| left | number | Yes | - | Зсув X області обрізки (від лівого краю) |
| top | number | Yes | - | Зсув Y області обрізки (від верхнього краю) |
| width | number | Yes | - | Ширина області обрізки |
| height | number | Yes | - | Висота області обрізки |
| unit | string | No | "px" |
Одиниця для значень: px або percent |
Example Request
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 100, "top": 50, "width": 800, "height": 600}'
Обрізка з використанням відсоткових значень:
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 10, "top": 10, "width": 80, "height": 80, "unit": "percent"}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 1200000
}
Notes
- Область обрізки має вміщуватися в межах зображення. Якщо область виходить за межі зображення, запит завершиться помилкою.
- При використанні одиниці
percentзначення представляють відсотки від розмірів зображення (напр.left: 10означає 10% від лівого краю). - Вихідний формат збігається з вхідним.
- Орієнтація EXIF автоматично застосовується перед обрізкою, тож координати відповідають візуально правильній орієнтації.