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

Image to Base64

Konversi satu atau lebih gambar menjadi string dan data URI berenkode base64. Mendukung konversi format opsional, kontrol kualitas, dan pengubahan ukuran. Berguna untuk menyematkan gambar langsung di HTML, CSS, JSON, atau template email.

API Endpoint

POST /api/v1/tools/image/image-to-base64

Menerima multipart form data dengan satu atau lebih file gambar dan sebuah field JSON settings opsional.

Parameters

ParameterTypeRequiredDefaultDescription
outputFormatstringNo"original"Konversi sebelum encoding: original, jpeg, png, webp, avif, jxl
qualitynumberNo80Kualitas output untuk format lossy (1 hingga 100)
maxWidthnumberNo0Lebar maksimum dalam piksel (0 = tanpa pengubahan ukuran, tidak akan memperbesar)
maxHeightnumberNo0Tinggi maksimum dalam piksel (0 = tanpa pengubahan ukuran, tidak akan memperbesar)

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'

Beberapa file:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "original"}'

Example Response

json
{
  "results": [
    {
      "filename": "icon.png",
      "mimeType": "image/webp",
      "width": 200,
      "height": 200,
      "originalSize": 45000,
      "encodedSize": 28800,
      "overheadPercent": -36.0,
      "base64": "UklGRlYAAABXRUJQ...",
      "dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
    }
  ],
  "errors": []
}

Response Fields

FieldTypeDescription
resultsarrayGambar yang berhasil dikonversi
errorsarrayGambar yang gagal diproses (dengan nama file dan pesan error)

Result Object

FieldTypeDescription
filenamestringNama file asli
mimeTypestringTipe MIME dari output yang dikodekan
widthnumberLebar akhir dalam piksel (setelah pengubahan ukuran, jika ada)
heightnumberTinggi akhir dalam piksel (setelah pengubahan ukuran, jika ada)
originalSizenumberUkuran file asli dalam byte
encodedSizenumberUkuran string base64 dalam byte
overheadPercentnumberPersentase perbedaan ukuran vs asli (positif = lebih besar, negatif = lebih kecil)
base64stringData gambar berenkode base64 mentah
dataUristringData URI lengkap siap digunakan pada atribut src

Notes

  • Encoding base64 umumnya menaikkan ukuran sekitar 33% dibandingkan file biner. Field overheadPercent menunjukkan perbedaan yang sebenarnya.
  • Ketika outputFormat adalah "original", file HEIC/HEIF dikonversi ke JPEG (karena browser tidak dapat menampilkan HEIC dalam data URI).
  • Opsi maxWidth dan maxHeight mengubah ukuran menggunakan fit: inside dengan withoutEnlargement, sehingga gambar yang lebih kecil dari dimensi yang ditentukan tidak diperbesar.
  • Beberapa file dapat diproses dalam satu permintaan. Setiap file diproses secara independen, dan kegagalan tidak menghalangi file lain untuk berhasil.
  • File SVG diteruskan sebagai image/svg+xml tanpa encoding ulang (kecuali konversi format diminta).
  • Ini adalah endpoint read-only. Ia tidak menghasilkan file yang dapat diunduh atau sebuah jobId. Data base64 dikembalikan langsung di body respons.