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
FieldTypeRequiredDeskripsi
fileFilerequiredFile yang akan diupload. Maks 50MB.
expirystringoptionalMasa 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.