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

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.
Wyślij żądanie POST do /upload/new ze swoją treścią. Oto przykład przesyłania obiektu JSON:
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"
}'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:
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"sizeMB": 0.001,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}Uzyskaj dostęp do pliku na dwa sposoby:
curl https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiTIP
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.
curl https://api.ipfs.ninja/file/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi \
-H "X-Api-Key: bws_your_api_key_here"Odpowiedź:
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"fileName": "NFT metadata",
"fileType": "json",
"sizeMB": 0.001,
"createdAt": 1711036800000,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}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:
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.
Jeśli wolisz nie pisać kodu, ipfs.ninja/upload akceptuje przeciąganie i upuszczanie dla:
/ipfs/{cid}/{subpath} dla każdego pliku podrzędnego.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.