API Hosting Gambar: Upload Gambar dengan Satu Permintaan POST

API hosting gambar MyIMGs.org mengupload gambar dan mengembalikan link langsung dalam satu permintaan. Kirim file atau gambar base64 dengan kunci API Anda dan terima JSON, siap untuk aplikasi, situs web, dan forum. Setiap gambar disajikan dari CDN melalui HTTPS. Akses API termasuk dalam setiap paket Pro, mulai $3.29 per bulan.

Cara mendapatkan kunci API hosting gambar

  1. Buat akun MyIMGs.org gratis dan verifikasi email Anda.
  2. Pilih paket di halaman paket dan harga Pro. Akses API termasuk dalam setiap paket Pro.
  3. Buka halaman akun Anda dan pilih Buat kunci API.
  4. Salin kuncinya. Kunci hanya ditampilkan sekali. Jika hilang, buat kunci baru dan kunci lama berhenti berfungsi.

Upload gambar dengan curl (panduan cepat)

Ganti YOUR_API_KEY dengan kunci Anda lalu jalankan:

curl -X POST https://myimgs.org/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=@photo.jpg"

Balasannya berupa JSON. Pakai data.url sebagai link langsung gambar dan data.viewer_url untuk halaman yang menampilkan gambar:

{
  "success": true,
  "status": 201,
  "data": {
    "id": "AbC12xyz",
    "title": "photo",
    "name": "photo",
    "extension": "jpg",
    "size": 245891,
    "optimized": false,
    "url": "https://myimgs.org/storage/images/61178/photo.jpg",
    "viewer_url": "https://myimgs.org/image/AbC12xyz",
    "url_viewer": "https://myimgs.org/image/AbC12xyz",
    "display_url": "https://myimgs.org/storage/images/61178/photo.jpg",
    "width": 1600,
    "height": 1067,
    "time": 1762000000,
    "expiration": 0,
    "image": {
      "filename": "photo.jpg",
      "name": "photo",
      "mime": "image/jpeg",
      "extension": "jpg",
      "url": "https://myimgs.org/storage/images/61178/photo.jpg"
    }
  }
}

Referensi API upload gambar

Satu endpoint: POST https://myimgs.org/api/v1/upload

Autentikasi

Kirim kunci Anda di header Authorization: Bearer YOUR_API_KEY. Untuk skrip yang ditulis untuk ImgBB, kolom form key juga berfungsi. Pakai header jika bisa, karena kolom form bisa tercatat di log server.

Kolom permintaan

KolomWajibDeskripsi
imageYaFile gambar (multipart form data), atau string base64. Data URI seperti data:image/png;base64,... diterima.
nameTidakNama file untuk gambar yang disimpan. Hanya huruf, angka, tanda hubung, dan garis bawah yang dipertahankan. Default-nya nama file yang diupload.
optimizeTidakKirim 1 atau true untuk mengonversi gambar JPG, PNG, dan WebP menjadi WebP terkompres jika ukuran file jadi lebih kecil. GIF tidak pernah dikonversi. Balasan menampilkan file akhir di data.extension dan data.url.
keyTidakKunci API Anda, jika Anda tidak memakai header Authorization.

Kolom respons

KolomDeskripsi
successtrue jika gambar tersimpan.
data.idID singkat gambar.
data.nameNama file yang disimpan, tanpa ekstensi.
data.extensionjpg, png, gif, atau webp, diambil dari isi file yang sebenarnya.
data.sizeUkuran tersimpan dalam byte.
data.optimizedtrue jika gambar dikonversi ke WebP karena Anda mengirim optimize, selain itu false.
data.urlLink langsung gambar. Pakai di tag <img>, BBCode, dan aplikasi.
data.viewer_urlLink ke halaman yang menampilkan gambar. data.url_viewer berisi link yang sama.
data.titleSama dengan data.name.
data.display_urlSama dengan data.url.
data.width, data.heightUkuran gambar dalam piksel.
data.timeWaktu upload sebagai Unix timestamp.
data.expirationSelalu 0: gambar tidak kedaluwarsa.
data.imageFile yang disimpan: filename, name, mime, extension, dan url.
statusKode status HTTP, 201 jika gambar tersimpan.

Contoh API upload gambar dalam JavaScript, Python, dan PHP

JavaScript (Node.js 18 atau lebih baru)

import { readFile } from "node:fs/promises";

const form = new FormData();
form.append("image", new Blob([await readFile("photo.jpg")]), "photo.jpg");

const res = await fetch("https://myimgs.org/api/v1/upload", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_API_KEY" },
  body: form,
});
const json = await res.json();
console.log(json.data.url);

Python (requests)

import requests

r = requests.post(
    "https://myimgs.org/api/v1/upload",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"image": open("photo.jpg", "rb")},
)
print(r.json()["data"]["url"])

PHP (cURL)

$ch = curl_init("https://myimgs.org/api/v1/upload");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer YOUR_API_KEY"],
    CURLOPT_POSTFIELDS => ["image" => new CURLFile("photo.jpg")],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
echo $data["data"]["url"];

Upload gambar base64

Berguna jika gambar hanya ada di memori, misalnya canvas atau screenshot:

curl -X POST https://myimgs.org/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=$(base64 -w0 photo.jpg)" \
  -F "name=photo"

Foto besar terupload lebih cepat jika ukurannya lebih kecil. Anda bisa mengompres gambar di browser dengan kompresor gambar gratis sebelum mengirimnya.

Error dan kode status API hosting gambar

Error mengembalikan JSON seperti {"success": false, "error": "message"} dengan salah satu kode status berikut:

StatusArti
201Gambar tersimpan. Respons berisi link-nya.
401Kunci API tidak ada atau salah.
403Akun tidak memiliki paket Pro aktif, atau akun dinonaktifkan.
413Gambar lebih besar dari 96 MB.
422Tidak ada gambar yang dikirim, teks base64 tidak valid, atau file bukan gambar JPG, PNG, GIF, atau WebP.
429Lebih dari 60 permintaan dalam satu menit. Tunggu lalu coba lagi.

Batas API hosting gambar

Ukuran gambar96 MB per gambar
FormatJPG, PNG, GIF (animasi dipertahankan), dan WebP
Batas laju60 permintaan per menit untuk setiap akun
PenyimpananPenyimpanan tanpa batas pada paket Pro
PengirimanCDN melalui HTTPS, link langsung berfungsi di forum, situs web, dan aplikasi
InputUpload file atau base64

Alternatif API ImgBB

Jika Anda sudah mengupload dengan API ImgBB, beralih hanya butuh dua perubahan: arahkan permintaan ke https://myimgs.org/api/v1/upload dan pakai kunci MyIMGs.org Anda. Kolom key dan image bekerja dengan cara yang sama, dan link langsung dikembalikan di data.url. Balasannya juga memakai nama dari ImgBB untuk url_viewer, display_url, title, width, height, time, expiration, dan image. Tidak ada thumb, medium, atau delete_url, dan API ini tidak mengambil gambar dari URL maupun menerima pengaturan kedaluwarsa. Paket Pro menambah gambar 96 MB, tanpa iklan, dan penyimpanan tanpa batas.

Harga API hosting gambar

API termasuk dalam setiap paket Pro. Pilih periode penagihan yang cocok untuk Anda:

Paket Bulanan

$11.49 per bulan

Paket Tahunan

$6.49 per bulan

ditagih $77.88

Paket 3 Tahun

$3.29 per bulan

ditagih $118.44

Lihat paket Pro dan dapatkan kunci API Anda

FAQ API hosting gambar

Apakah ada API hosting gambar gratis?

Upload lewat API memerlukan paket Pro, mulai $3.29 per bulan. Akun gratis menyimpan hingga 20 gambar dari situs web dan tidak memiliki kunci API.

Berapa ukuran gambar maksimum untuk API?

96 MB per gambar. File yang lebih besar mendapat error 413.

Format gambar apa saja yang diterima API upload gambar?

JPG, PNG, GIF, dan WebP. Format dibaca dari file itu sendiri, jadi file dengan ekstensi yang salah tetap diperiksa lewat isi sebenarnya, dan apa pun yang bukan gambar asli ditolak. GIF animasi tetap beranimasi.

Bisakah saya mengupload gambar dari URL?

Tidak. Kirim file sebagai multipart form data, atau kirim gambar sebagai string base64. Pengambilan dari URL sengaja ditiadakan demi keamanan.

Bisakah saya menghapus gambar lewat API?

Belum. Upload adalah satu-satunya panggilan API untuk saat ini. Hapus gambar dari dasbor Anda.

Bagaimana cara mengganti atau mencabut kunci API saya?

Pakai Buat kunci baru di halaman akun Anda. Kunci lama langsung berhenti berfungsi, dan kunci baru ditampilkan sekali.

Berapa batas laju API?

60 permintaan per menit untuk setiap akun. Di atas itu API menjawab dengan status 429 sampai menit berakhir.

Apakah gambar yang diupload lewat API kedaluwarsa?

Tidak. Tidak ada pengaturan kedaluwarsa. Gambar yang diupload dengan kunci Anda tetap ada di akun Anda.

Apakah API ini berfungsi dengan skrip yang ditulis untuk ImgBB?

Ya untuk panggilan upload. Kirim kolom key dan image yang sama ke URL MyIMGs.org. Balasannya memakai nama yang sama untuk url, url_viewer, display_url, title, width, height, time, expiration, dan image. Tidak ada thumb, medium, atau delete_url, dan API ini tidak menerima URL gambar maupun pengaturan kedaluwarsa.

MyIMGs.org adalah layanan hosting gambar gratis. Upload gambar di beranda tanpa akun.