Skip to content

Szybki start

Prześlij swój pierwszy plik do IPFS w mniej niż dwie minuty.

Upload page with drag-and-drop file upload

1. Uzyskaj klucz API

Zarejestruj się na ipfs.ninja kontem Google. Domyślny klucz API jest tworzony automatycznie. Przejdź do strony Profil, aby wyświetlić i zarządzać kluczami API.

WARNING

Uwaga: Klucze API nie wygasają. Możesz tworzyć wiele kluczy i odwoływać je pojedynczo ze strony Profil.

2. Prześlij plik

Wyślij żądanie POST do /upload/new ze swoją treścią. Oto przykład przesyłania obiektu 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 domyślnie

Nowe przesłania tworzą nowoczesne CIDv1 (bafk… dla małej, jednoblokowej treści, bafy… dla większych plików i katalogów) zgodnie z IPIP-0499. Starsze CID-y Qm… z wcześniejszych przesłań nadal rozwiązują się wszędzie — oba formaty działają jako wejście dla każdego endpointu.

API zwraca CID, rozmiar pliku i URI dostępu:

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

3. Pobierz swój plik

Uzyskaj dostęp do pliku na dwa sposoby:

Przez bramkę IPFS (bez potrzeby autentykacji)

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

TIP

Bramka apex https://ipfs.ninja/ipfs/<CID> obsługuje CID-y przesłane lub przypięte przez dowolnego użytkownika IPFS Ninja. CID-y nieznane platformie zwracają HTTP 410 Gone — dla nich użyj publicznej bramki (ipfs.io, dweb.link) lub najpierw wykonaj POST /pin CID-a na swoje konto.

Przez API (zwraca metadane pliku)

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

Odpowiedź:

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

Alternatywa: użyj AWS SDK (zgodne z S3)

Już używasz S3? Skieruj swój istniejący AWS SDK na https://s3.ipfs.ninja i użyj swojego klucza API jako danych uwierzytelniających:

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

Zobacz Kompatybilność z S3 po pełną dokumentację z przykładami w Python, Go i przewodnikami migracji.

Wolisz klikać? Użyj dashboardu

Jeśli wolisz nie pisać kodu, ipfs.ninja/upload akceptuje przeciąganie i upuszczanie dla:

  • Dowolnego pliku — upuść go w strefie przesyłania, zostaje przypięty i otrzymujesz CID
  • Folderu — pakowany do katalogu UnixFS w Twojej przeglądarce, przesyłany jako jeden import, rozwiązuje się pod /ipfs/{cid}/{subpath} dla każdego pliku podrzędnego
  • Archiwum .car — automatycznie wykrywane, główny CID zachowany dokładnie (zobacz Import CAR)

Po przesłaniu pliki pojawiają się na stronie Pliki, gdzie możesz zmienić nazwę, przenieść między folderami, uzyskać CID katalogu IPFS dla całego folderu (migawka) oraz skonfigurować per-bucket S3 CORS dla dostępu z SDK w przeglądarce.

Następne kroki