Kembali ke Uploader
API REFERENCE
NeoCDN Upload API
Upload file ke Cloudflare R2 via HTTP, dapatkan URL CDN permanen. Bisa dipakai dari cURL, Node.js, Python, atau bahasa apapun.
Base URL:
https://neoapis.xyz · Tidak perlu API Key · Maksimum 50MB per file · File ZIP/RAR/7Z tidak diizinkan.
POST
/uploader/upload
Upload file ke NeoCDN, return URL CDN publik.
Request · multipart/form-data
| Field | Type | Required | Deskripsi |
|---|---|---|---|
| file | File | required | File yang akan diupload. Maks 50MB. |
| expiry | string | optional | Masa aktif file. Default: 24h |
Pilihan Expiry
6h
6 JAM
24h
24 JAM · default
7d
1 MINGGU
30d
1 BULAN
permanent
SELAMANYA
Contoh Request
# Upload file dengan expiry 24 jam (default) curl -X POST https://neoapis.xyz/uploader/upload \ -F "file=@/path/ke/file.jpg" \ -F "expiry=24h" # Upload permanent curl -X POST https://neoapis.xyz/uploader/upload \ -F "file=@/path/ke/dokumen.pdf" \ -F "expiry=permanent"
const fs = require('fs') const FormData = require('form-data') // npm i form-data const fetch = require('node-fetch') // npm i node-fetch@2 atau pakai built-in node 18+ async function uploadFile(filePath, expiry = '24h') { const form = new FormData() form.append('file', fs.createReadStream(filePath)) form.append('expiry', expiry) const res = await fetch('https://neoapis.xyz/uploader/upload', { method: 'POST', body: form, headers: form.getHeaders() }) const data = await res.json() if (data.status) { console.log('✅ URL:', data.url) } else { console.error('❌ Error:', data.message) } return data } // Contoh penggunaan uploadFile('./foto.jpg', 'permanent')
import requests def upload_file(file_path, expiry='24h'): url = 'https://neoapis.xyz/uploader/upload' with open(file_path, 'rb') as f: files = {'file': f} data = {'expiry': expiry} response = requests.post(url, files=files, data=data) result = response.json() if result['status']: print(f"✅ URL: {result['url']}") else: print(f"❌ Error: {result['message']}") return result # Contoh penggunaan upload_file('./foto.jpg', 'permanent')
<?php function uploadFile($filePath, $expiry = '24h') { $url = 'https://neoapis.xyz/uploader/upload'; $postData = [ 'file' => new CURLFile($filePath), 'expiry' => $expiry ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); if ($result['status']) { echo "✅ URL: " . $result['url'] . "\n"; } else { echo "❌ Error: " . $result['message'] . "\n"; } return $result; } // Contoh penggunaan uploadFile('./foto.jpg', 'permanent'); ?>
Response · 200 OK
{
"status": true,
"url": "https://cdn.neoapis.xyz/f/r0wqk.jpg",
"fileId": "r0wqk",
"fileName": "foto.jpg",
"mimeType": "image/jpeg",
"size": 204800,
"sizeFormatted": "200 KB",
"expiry": "Permanent",
"expiresAt": null
}
Response · Error
{
"status": false,
"message": "Tipe file ini tidak diizinkan untuk diupload."
}
INFO
Format URL Output
Struktur URL CDN
https://cdn.neoapis.xyz/f/{fileId}.{ext} # Contoh: https://cdn.neoapis.xyz/f/r0wqk.jpg https://cdn.neoapis.xyz/f/a3x9b.mp4 https://cdn.neoapis.xyz/f/zk12m.json
File ID terdiri dari 6 karakter alfanumerik acak. URL bersifat publik dan dapat langsung diakses siapapun setelah upload berhasil.