Files
SnapOtter/apps/docs/id/tools/image/rotate.md
T
SnapOtterandGitHub f858c4cea0 feat: clearer, disambiguated tool names across all surfaces (#520)
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.
2026-07-15 21:55:51 +08:00

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.