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.1 KiB
2.1 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Potong gambar dengan menentukan area menggunakan posisi dan dimensi. | 556f37893553 | human | 9d19b11b1cf9 |
Potong Gambar
Potong gambar dengan mendefinisikan area persegi panjang menggunakan posisi dan ukuran. Mendukung satuan piksel dan persentase.
API Endpoint
POST /api/v1/tools/image/crop
Menerima data formulir multipart dengan file gambar dan field JSON settings.
Parameter
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
| left | number | Ya | - | Offset X area potong (dari tepi kiri) |
| top | number | Ya | - | Offset Y area potong (dari tepi atas) |
| width | number | Ya | - | Lebar area potong |
| height | number | Ya | - | Tinggi area potong |
| unit | string | Tidak | "px" |
Satuan untuk nilai: px atau percent |
Contoh Permintaan
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}'
Potong menggunakan nilai persentase:
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"}'
Contoh Respons
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 1200000
}
Catatan
- Area potong harus berada di dalam batas gambar. Jika area melampaui gambar, permintaan akan gagal.
- Saat menggunakan satuan
percent, nilai merepresentasikan persentase dari dimensi gambar (mis.left: 10berarti 10% dari tepi kiri). - Format output sesuai dengan format input.
- Orientasi EXIF diterapkan otomatis sebelum pemotongan, sehingga koordinat sesuai dengan orientasi yang benar secara visual.