This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Optimize for Web

Optimalkan gambar untuk pengiriman web dalam satu langkah. Menggabungkan konversi format, penyesuaian kualitas, pengubahan ukuran opsional, enkode progresif, dan penghapusan metadata.

API Endpoint

POST /api/v1/tools/image/optimize-for-web

Menerima multipart form data dengan berkas gambar dan field JSON settings.

Endpoint live preview juga tersedia di POST /api/v1/tools/image/optimize-for-web/preview, yang mengembalikan gambar yang telah diproses secara langsung sebagai biner (tanpa membuat workspace) untuk penyetelan parameter secara real-time.

Parameters

ParameterTypeRequiredDefaultDescription
formatstringNo"webp"Format output: webp, jpeg, avif, png, jxl
qualitynumberNo80Kualitas output (1-100)
maxWidthnumberNo-Lebar maksimum dalam piksel. Gambar diperkecil jika lebih lebar.
maxHeightnumberNo-Tinggi maksimum dalam piksel. Gambar diperkecil jika lebih tinggi.
progressivebooleanNotrueAktifkan enkode progresif/interlaced
stripMetadatabooleanNotrueHapus metadata EXIF, GPS, ICC, dan XMP

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"format": "webp", "quality": 75, "maxWidth": 1920}'

Optimalkan untuk AVIF dengan kompresi agresif:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"format": "avif", "quality": 50, "maxWidth": 1200, "maxHeight": 800}'

Example Response

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.webp",
  "originalSize": 4500000,
  "processedSize": 320000
}

Preview Endpoint Response

Endpoint preview (/api/v1/tools/image/optimize-for-web/preview) mengembalikan gambar biner secara langsung dengan header informasional:

  • X-Original-Size - Ukuran berkas asli dalam byte
  • X-Processed-Size - Ukuran berkas yang telah diproses dalam byte
  • X-Output-Filename - Nama berkas output yang telah di-encode URL

Notes

  • Alat ini dirancang sebagai pipeline optimasi satu-atap untuk aset web. Alat ini menangani konversi format, penyetelan kualitas, pembatasan dimensi maksimum, dan penghapusan metadata dalam satu lintasan.
  • Ekstensi nama berkas output diperbarui agar sesuai dengan format yang dipilih.
  • Enkode JXL (JPEG XL) menggunakan enkoder CLI khusus. Gambar diproses terlebih dahulu sebagai PNG, lalu di-encode ke JXL.
  • Enkode progresif memperbaiki waktu muat yang dirasakan untuk JPEG dan PNG dengan memungkinkan peramban merender pratinjau kualitas rendah sebelum gambar penuh selesai dimuat.
  • Endpoint preview lebih ringan (tanpa pembuatan workspace/job) dan ditujukan untuk UI penyetelan parameter live di frontend.