Skip to content

Schnellstart

Laden Sie Ihre erste Datei in unter zwei Minuten auf IPFS hoch.

Upload-Seite mit Drag-and-Drop-Dateiupload

1. API-Schlüssel erhalten

Registrieren Sie sich bei ipfs.ninja mit Ihrem Google-Konto. Ein Standard-API-Schlüssel wird automatisch erstellt. Gehen Sie zu Ihrer Profilseite, um Ihre API-Schlüssel einzusehen und zu verwalten.

WARNING

Hinweis: API-Schlüssel laufen nicht ab. Sie können mehrere Schlüssel erstellen und sie einzeln widerrufen — über Ihre Profilseite.

2. Datei hochladen

Senden Sie eine POST-Anfrage an /upload/new mit Ihrem Inhalt. Hier ein Beispiel für das Hochladen eines JSON-Objekts:

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 standardmäßig

Neue Uploads erzeugen moderne CIDv1 (bafk… für kleine Einzelblock-Inhalte, bafy… für größere Dateien und Verzeichnisse) gemäß IPIP-0499. Ältere Qm…-CIDs aus früheren Uploads lösen weiterhin überall auf — beide Formate funktionieren als Eingabe für jeden Endpunkt.

Die API gibt den CID, die Dateigröße und die Zugriffs-URIs zurück:

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

3. Datei abrufen

Greifen Sie auf zwei Arten auf Ihre Datei zu:

Über das IPFS-Gateway (öffentlich, keine Authentifizierung erforderlich)

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

TIP

Das Apex-Gateway https://ipfs.ninja/ipfs/<CID> bedient CIDs, die von einem beliebigen IPFS-Ninja-Nutzer hochgeladen oder gepinnt wurden. CIDs, die der Plattform unbekannt sind, geben HTTP 410 Gone zurück — verwenden Sie für diese ein öffentliches Gateway (ipfs.io, dweb.link) oder pinnen Sie den CID zuerst mit POST /pin an Ihr Konto.

Über die API (gibt Datei-Metadaten zurück)

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

Antwort:

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

Alternative: Das AWS SDK verwenden (S3-kompatibel)

Verwenden Sie bereits S3? Richten Sie Ihr bestehendes AWS SDK auf https://s3.ipfs.ninja aus und verwenden Sie Ihren API-Schlüssel als Zugangsdaten:

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

Vollständige Dokumentation mit Python-, Go- und Migrationsbeispielen finden Sie unter S3-Kompatibilität.

Lieber klicken? Verwenden Sie das Dashboard

Wenn Sie keinen Code schreiben möchten, akzeptiert ipfs.ninja/upload Drag-and-Drop für:

  • Jede Datei — auf die Upload-Zone ziehen, wird gepinnt + Sie erhalten den CID
  • Einen Ordner — im Browser zu einem UnixFS-Verzeichnis gepackt, als einzelner Import hochgeladen, löst unter /ipfs/{cid}/{subpath} für jede Kinddatei auf
  • Ein .car-Archiv — automatisch erkannt, Root-CID exakt erhalten (siehe CAR Import)

Nach dem Upload erscheinen Dateien auf der Dateien-Seite, wo Sie sie umbenennen, zwischen Ordnern verschieben, einen IPFS-Verzeichnis-CID für einen ganzen Ordner erhalten (Snapshot) und S3 CORS pro Bucket für den Zugriff per Browser-SDK konfigurieren können.

Nächste Schritte

  • API-Referenz — Vollständige Dokumentation aller Endpunkte, Parameter und Fehlercodes.
  • S3-Kompatibilität — Verwenden Sie das AWS SDK, um mit IPFS Ninja zu interagieren.
  • Dedizierte Gateways — Erhalten Sie ein privates Gateway, das nur Ihre Dateien ausliefert.