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
- Buat akun MyIMGs.org gratis dan verifikasi email Anda.
- Pilih paket di halaman paket dan harga Pro. Akses API termasuk dalam setiap paket Pro.
- Buka halaman akun Anda dan pilih Buat kunci API.
- 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
| Kolom | Wajib | Deskripsi |
|---|---|---|
image | Ya | File gambar (multipart form data), atau string base64. Data URI seperti data:image/png;base64,... diterima. |
name | Tidak | Nama file untuk gambar yang disimpan. Hanya huruf, angka, tanda hubung, dan garis bawah yang dipertahankan. Default-nya nama file yang diupload. |
optimize | Tidak | Kirim 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. |
key | Tidak | Kunci API Anda, jika Anda tidak memakai header Authorization. |
Kolom respons
| Kolom | Deskripsi |
|---|---|
success | true jika gambar tersimpan. |
data.id | ID singkat gambar. |
data.name | Nama file yang disimpan, tanpa ekstensi. |
data.extension | jpg, png, gif, atau webp, diambil dari isi file yang sebenarnya. |
data.size | Ukuran tersimpan dalam byte. |
data.optimized | true jika gambar dikonversi ke WebP karena Anda mengirim optimize, selain itu false. |
data.url | Link langsung gambar. Pakai di tag <img>, BBCode, dan aplikasi. |
data.viewer_url | Link ke halaman yang menampilkan gambar. data.url_viewer berisi link yang sama. |
data.title | Sama dengan data.name. |
data.display_url | Sama dengan data.url. |
data.width, data.height | Ukuran gambar dalam piksel. |
data.time | Waktu upload sebagai Unix timestamp. |
data.expiration | Selalu 0: gambar tidak kedaluwarsa. |
data.image | File yang disimpan: filename, name, mime, extension, dan url. |
status | Kode 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:
| Status | Arti |
|---|---|
| 201 | Gambar tersimpan. Respons berisi link-nya. |
| 401 | Kunci API tidak ada atau salah. |
| 403 | Akun tidak memiliki paket Pro aktif, atau akun dinonaktifkan. |
| 413 | Gambar lebih besar dari 96 MB. |
| 422 | Tidak ada gambar yang dikirim, teks base64 tidak valid, atau file bukan gambar JPG, PNG, GIF, atau WebP. |
| 429 | Lebih dari 60 permintaan dalam satu menit. Tunggu lalu coba lagi. |
Batas API hosting gambar
| Ukuran gambar | 96 MB per gambar |
|---|---|
| Format | JPG, PNG, GIF (animasi dipertahankan), dan WebP |
| Batas laju | 60 permintaan per menit untuk setiap akun |
| Penyimpanan | Penyimpanan tanpa batas pada paket Pro |
| Pengiriman | CDN melalui HTTPS, link langsung berfungsi di forum, situs web, dan aplikasi |
| Input | Upload 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.