Skip to content

Snelstart

Upload je eerste bestand naar IPFS in minder dan twee minuten.

Upload page with drag-and-drop file upload

1. Haal je API-sleutel op

Registreer je op ipfs.ninja met je Google-account. Er wordt automatisch een standaard API-sleutel aangemaakt. Ga naar je profielpagina om je API-sleutels te bekijken en te beheren.

WARNING

Let op: API-sleutels verlopen niet. Je kunt meerdere sleutels aanmaken en ze afzonderlijk intrekken vanuit je profielpagina.

2. Upload een bestand

Stuur een POST-verzoek naar /upload/new met je content. Hier is een voorbeeld van het uploaden van een JSON-object:

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 standaard

Nieuwe uploads produceren moderne CIDv1 (bafk… voor kleine content in één blok, bafy… voor grotere bestanden en directory's) volgens IPIP-0499. Legacy Qm…-CID's van eerdere uploads blijven overal oplosbaar — beide formaten werken als invoer voor elk endpoint.

De API retourneert de CID, bestandsgrootte en toegangs-URI's:

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

3. Haal je bestand op

Krijg op twee manieren toegang tot je bestand:

Via de IPFS-gateway (geen authenticatie nodig)

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

TIP

De apex-gateway https://ipfs.ninja/ipfs/<CID> bedient CID's die zijn geüpload of vastgezet door elke IPFS Ninja-gebruiker. CID's die onbekend zijn bij het platform geven HTTP 410 Gone terug — gebruik daarvoor een publieke gateway (ipfs.io, dweb.link) of doe eerst POST /pin op de CID naar je account.

Via de API (retourneert bestandsmetadata)

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"
  }
}

Alternatief: gebruik de AWS SDK (S3-compatibel)

Gebruik je al S3? Richt je bestaande AWS SDK op https://s3.ipfs.ninja en gebruik je API-sleutel als credentials:

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" })
}));

Zie S3-compatibiliteit voor volledige documentatie met Python-, Go- en migratievoorbeelden.

Liever klikken? Gebruik het dashboard

Als je liever geen code schrijft, accepteert ipfs.ninja/upload drag-and-drop voor:

  • Elk bestand — sleep het naar de uploadzone, het wordt vastgezet en je krijgt de CID
  • Een map — verpakt tot een UnixFS-directory in je browser, geüpload als één import, lost op bij /ipfs/{cid}/{subpath} voor elk onderliggend bestand
  • Een .car-archief — automatisch gedetecteerd, root-CID exact behouden (zie CAR-import)

Eenmaal geüpload verschijnen bestanden op de pagina Bestanden, waar je ze kunt hernoemen, tussen mappen verplaatsen, een IPFS-directory-CID krijgen voor een hele map (snapshot), en per-bucket S3 CORS configureren voor toegang via browser-SDK's.

Volgende stappen