Skip to content

File

Unggah, daftar, dan ambil file di IPFS.

Files page showing uploaded and pinned files

Unggah File

POST /upload/new

Unggah file apa pun ke IPFS. File disematkan dan CID permanen dikembalikan.

Body permintaan

ParameterTipeWajibDeskripsi
contentstring | objectYaObjek/array JSON, atau data file yang dienkode base64 (gambar, PDF, HTML, atau jenis file apa pun). Untuk impor CAR, file CAR yang dienkode base64.
carbooleanTidakAtur ke true untuk mengimpor file CAR (impor DAG). Mempertahankan CID persis.
descriptionstringTidakDeskripsi singkat konten yang diunggah.
metadataobjectTidakPasangan kunci-nilai kustom untuk dilampirkan ke file. Maks 10 kunci. Kunci harus alfanumerik atau garis bawah, 1-64 karakter. Nilai harus string, maks 256 karakter masing-masing. Total ukuran metadata tidak boleh melebihi 4 KB.

Contoh permintaan

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": "example", "value": 42 },
    "description": "Test upload",
    "metadata": {
      "project": "my-app",
      "environment": "production"
    }
  }'

Mengunggah gambar (base64)

javascript
const fs = require("fs");
const image = fs.readFileSync("photo.png").toString("base64");

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: image,
    description: "Profile photo"
  })
});

Respons 200 OK

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

CIDv1 secara default

Unggahan baru mengembalikan CIDv1 modern (bafk… untuk konten satu-blok kecil, bafy… untuk file dan direktori yang lebih besar) sesuai profil IPIP-0499 unixfs-v1-2025 — chunk 1 MiB dengan raw leaves. CID Qm… lama dari unggahan sebelumnya tetap sepenuhnya dapat diresolusi dan terus berfungsi dengan setiap endpoint.

Alternatif dashboard

Halaman /upload di dashboard menerima drag-and-drop untuk file, folder (dikemas menjadi direktori UnixFS di browser), dan arsip .car — semuanya melalui endpoint yang sama ini. Lihat Impor CAR untuk detail tentang jalur CAR.

Ganti Nama File

PUT /files/:cid/name

Perbarui nama tampilan yang ditunjukkan pada file. CID tidak berubah — CID adalah hash dari konten — hanya label yang Anda lihat di daftar file Anda.

Body permintaan

ParameterTipeWajibDeskripsi
namestringYaNama tampilan baru. 1-200 karakter. Tidak boleh mengandung pemisah path (/, \). Nama yang hanya berisi spasi ditolak.

Contoh permintaan

bash
curl -X PUT https://api.ipfs.ninja/files/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/name \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Season 1 promo art" }'

Respons 200 OK

json
{
  "success": true,
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "name": "Season 1 promo art"
}

Dashboard

Halaman File memiliki entri Rename di menu aksi setiap baris file (tombol tiga titik). Efek yang sama, tanpa perlu kode.

Daftar File

GET /upload/list

Ambil daftar file IPFS yang diunggah dalam rentang waktu.

Parameter kueri

ParameterTipeWajibDeskripsi
fromnumberYaAwal rentang waktu, timestamp Unix dalam milidetik.
tonumberYaAkhir rentang waktu, timestamp Unix dalam milidetik.

Contoh permintaan

bash
curl "https://api.ipfs.ninja/upload/list?from=1704067200000&to=1735689600000" \
  -H "X-Api-Key: bws_your_api_key_here"

Respons 200 OK

json
[
  {
    "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "fileName": "Test upload",
    "fileType": "json",
    "sizeMB": 0.001,
    "createdAt": 1711036800000,
    "metadata": {
      "project": "my-app",
      "environment": "production"
    },
    "uris": {
      "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
      "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
    }
  }
]

Dapatkan File

GET /file/:cid

Ambil metadata untuk file yang diunggah berdasarkan CID-nya.

Parameter path

ParameterTipeWajibDeskripsi
cidstringYaIPFS content identifier file.

Contoh permintaan

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

Respons 200 OK

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