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.2 KiB
2.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Putar gambar pada sudut mana pun dan balik secara horizontal atau vertikal. | c4ed5f7e270b | human | daef1621cb61 |
Putar & Balik Gambar
Putar gambar pada sudut sembarang dan/atau balik secara horizontal atau vertikal. Operasi rotasi dan pembalikan dapat digabungkan dalam satu permintaan.
API Endpoint
POST /api/v1/tools/image/rotate
Menerima multipart form data dengan berkas gambar dan field JSON settings.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| angle | number | No | 0 |
Sudut rotasi dalam derajat (searah jarum jam). Menerima nilai numerik apa pun. |
| horizontal | boolean | No | false |
Balik gambar secara horizontal (cermin) |
| vertical | boolean | No | false |
Balik gambar secara vertikal |
Example Request
Putar 90 derajat searah jarum jam:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 90}'
Balik secara horizontal:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"horizontal": true}'
Putar dan balik sekaligus:
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 45, "vertical": true}'
Example Response
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2480000
}
Notes
- Rotasi diterapkan terlebih dahulu, lalu operasi pembalikan.
- Rotasi non-90-derajat (mis. 45 derajat) akan memperbesar kanvas agar pas dengan gambar yang diputar, dengan isian transparan atau hitam tergantung format output.
- Nilai umum: 90, 180, 270 untuk rotasi seperempat putaran.
- Orientasi EXIF diterapkan otomatis sebelum diproses, sehingga rotasi relatif terhadap orientasi visual.