Uploader API
Endpoint untuk mengunggah file dan mendapat URL publik. Bisa dipakai dari browser maupun langsung dari backend.
POST /upload
URLhttps://uploader.uscode.biz.id/upload
MethodPOST (multipart/form-data)
Fieldfile (bisa diulang untuk banyak file)
Batas20 file per request, 100 MB per file
Rate limit30 request per menit per IP
SimpanURL berlaku selama file ada. File dihapus otomatis setelah 1 jam.
Respons HTML (browser)
Tanpa header khusus, endpoint membalas halaman HTML berisi daftar URL. Ini yang dipakai form di halaman Uploader.
Respons JSON (backend)
Tambahkan ?json=1 atau kirim header Accept: application/json untuk mendapat balasan JSON.
{
"creator": "@uscode",
"status": true,
"result": [
{
"name": "foto.jpg",
"mimetype": "image/jpeg",
"size": "120.50 KB",
"sizeBytes": 123392,
"url": "https://uploader.uscode.biz.id/tmp/Ab12Cd-1791660000000.jpg"
}
]
}
Saat gagal
{ "creator": "@uscode", "status": false, "message": "Ukuran file melebihi 100 MB." }
Pesan lain: Tidak ada file yang diunggah. dan Terlalu banyak file (maksimal 20 per sekali upload).
Contoh pemakaian
curl, satu file
curl -X POST https://uploader.uscode.biz.id/upload \
-F "[email protected]" \
-H "Accept: application/json"
curl, beberapa file sekaligus
curl -X POST "https://uploader.uscode.biz.id/upload?json=1" \
-F "[email protected]" \
-F "[email protected]"
Node.js (fetch + FormData)
import { readFileSync } from "node:fs";
const fd = new FormData();
fd.append("file", new Blob([readFileSync("foto.jpg")]), "foto.jpg");
const res = await fetch("https://uploader.uscode.biz.id/upload?json=1", {
method: "POST",
body: fd,
});
const data = await res.json();
console.log(data.result[0].url);
Python (requests)
import requests
with open("foto.jpg", "rb") as f:
r = requests.post(
"https://uploader.uscode.biz.id/upload",
files={"file": f},
params={"json": 1},
)
print(r.json()["result"][0]["url"])
Catatan
- Field name harus
file. Untuk banyak file, ulangi field yang sama. - URL yang dibalas bisa langsung dipakai sebagai parameter
urldi endpoint lain (mis. converter). - File dihapus otomatis setelah 1 jam, jadi pakai URL-nya sebelum itu.
- Gambar dan media tampil langsung di browser. Jenis lain (termasuk
.html) otomatis diunduh, supaya file tidak bisa menjalankan script di origin uploader. - Bila melebihi batas, server membalas
429dengan pesanTerlalu banyak permintaan.