Skip to content

Mulai Cepat

Unggah file pertama Anda ke IPFS dalam waktu kurang dari dua menit.

Upload page with drag-and-drop file upload

1. Dapatkan API key Anda

Daftar di ipfs.ninja dengan akun Google Anda. API key default dibuat secara otomatis. Buka halaman Profil untuk melihat dan mengelola API key Anda.

WARNING

Catatan: API key tidak kedaluwarsa. Anda dapat membuat beberapa key dan mencabutnya satu per satu dari halaman Profil.

2. Unggah file

Kirim permintaan POST ke /upload/new dengan konten Anda. Berikut contoh mengunggah objek JSON:

curl

bash
curl -X POST https://api.ipfs.ninja/upload/new \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "name": "My NFT",
      "description": "A permanent file on IPFS",
      "image": "ipfs://bafybeiExampleCID..."
    },
    "description": "NFT metadata"
  }'

JavaScript

javascript
const response = await fetch("https://api.ipfs.ninja/upload/new", {
  method: "POST",
  headers: {
    "X-Api-Key": "bws_your_api_key_here",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    content: {
      name: "My NFT",
      description: "A permanent file on IPFS",
      image: "ipfs://bafybeiExampleCID..."
    },
    description: "NFT metadata"
  })
});

const data = await response.json();
console.log(data.cid);       // "bafybeigdyrzt5..."
console.log(data.uris.url);  // "https://ipfs.ninja/ipfs/bafybeigdyrzt5..."

CIDv1 secara default

Unggahan baru menghasilkan CIDv1 modern (bafk… untuk konten satu-blok kecil, bafy… untuk file dan direktori yang lebih besar) sesuai IPIP-0499. CID Qm… lama dari unggahan sebelumnya tetap dapat diresolusi di mana pun — kedua format berfungsi sebagai input untuk setiap endpoint.

API mengembalikan CID, ukuran file, dan URI akses:

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "sizeMB": 0.001,
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}

3. Ambil file Anda

Akses file Anda dengan dua cara:

Melalui gateway IPFS (publik, tanpa autentikasi)

bash
curl https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

TIP

Gateway apex https://ipfs.ninja/ipfs/<CID> melayani CID yang diunggah atau disematkan oleh pengguna IPFS Ninja mana pun. CID yang tidak dikenal oleh platform mengembalikan HTTP 410 Gone — untuk itu, gunakan gateway publik (ipfs.io, dweb.link) atau lakukan POST /pin CID ke akun Anda terlebih dahulu.

Melalui API (mengembalikan metadata file)

bash
curl https://api.ipfs.ninja/file/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi \
  -H "X-Api-Key: bws_your_api_key_here"

Respons:

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "fileName": "NFT metadata",
  "fileType": "json",
  "sizeMB": 0.001,
  "createdAt": 1711036800000,
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}

Alternatif: Gunakan AWS SDK (kompatibel dengan S3)

Sudah menggunakan S3? Arahkan AWS SDK yang ada ke https://s3.ipfs.ninja dan gunakan API key Anda sebagai kredensial:

javascript
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";

const s3 = new S3Client({
  endpoint: "https://s3.ipfs.ninja",
  credentials: { accessKeyId: "bws_prefix", secretAccessKey: "bws_fullkey" },
  region: "us-east-1",
  forcePathStyle: true
});

await s3.send(new PutObjectCommand({
  Bucket: "my-project",
  Key: "my-file.json",
  Body: JSON.stringify({ hello: "IPFS" })
}));

Lihat Kompatibilitas S3 untuk dokumentasi lengkap dengan contoh Python, Go, dan panduan migrasi.

Lebih suka klik saja? Gunakan Dashboard

Jika Anda lebih suka tidak menulis kode, ipfs.ninja/upload menerima drag-and-drop untuk:

  • File apa pun — jatuhkan di zona unggah, akan disematkan + Anda mendapatkan CID
  • Sebuah folder — dikemas menjadi direktori UnixFS di browser Anda, diunggah sebagai satu impor, dapat diresolusi di /ipfs/{cid}/{subpath} untuk setiap file anak
  • Arsip .car — otomatis terdeteksi, CID root dipertahankan persis (lihat Impor CAR)

Setelah diunggah, file muncul di halaman File tempat Anda dapat mengganti nama, memindahkan antar folder, mendapatkan CID direktori IPFS untuk seluruh folder (snapshot), dan mengonfigurasi S3 CORS per bucket untuk akses SDK browser.

Langkah selanjutnya

  • Referensi API — Dokumentasi lengkap untuk semua endpoint, parameter, dan kode kesalahan.
  • Kompatibilitas S3 — Gunakan AWS SDK untuk berinteraksi dengan IPFS Ninja.
  • Gateway Khusus — Dapatkan gateway privat yang hanya melayani file Anda.