Skip to content

Швидкий старт

Завантажте свій перший файл в IPFS менш ніж за дві хвилини.

Upload page with drag-and-drop file upload

1. Отримайте свій API key

Зареєструйтесь на ipfs.ninja за допомогою вашого акаунта Google. API key за замовчуванням створюється автоматично. Перейдіть на сторінку Профілю, щоб переглянути та керувати вашими API key.

WARNING

Примітка: API key не мають терміну дії. Ви можете створити кілька ключів і відкликати їх окремо зі сторінки Профілю.

2. Завантажте файл

Надішліть запит POST до /upload/new з вашим контентом. Ось приклад завантаження 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 за замовчуванням

Нові завантаження створюють сучасні CIDv1 (bafk… для малого одноблокового контенту, bafy… для більших файлів і директорій) відповідно до IPIP-0499. Застарілі CID Qm… з попередніх завантажень все ще розв'язуються всюди — обидва формати працюють як вхідні дані для кожного ендпоінту.

API повертає CID, розмір файлу та URI для доступу:

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

3. Отримайте ваш файл

Доступ до вашого файлу двома способами:

Через IPFS gateway (публічний, без автентифікації)

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

TIP

Apex-шлюз https://ipfs.ninja/ipfs/<CID> обслуговує CID, завантажені або закріплені будь-яким користувачем IPFS Ninja. CID, невідомі платформі, повертають HTTP 410 Gone — для них використовуйте публічний шлюз (ipfs.io, dweb.link) або спочатку виконайте POST /pin CID для свого облікового запису.

Через API (повертає метадані файлу)

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

Відповідь:

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

Альтернатива: використовуйте AWS SDK (S3-сумісний)

Вже використовуєте S3? Спрямуйте ваш існуючий AWS SDK на https://s3.ipfs.ninja і використовуйте свій API key як облікові дані:

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

Див. S3 Compatibility для повної документації з прикладами на Python, Go та посібниками з міграції.

Надаєте перевагу клікам? Використовуйте Dashboard

Якщо ви не хочете писати код, ipfs.ninja/upload приймає drag-and-drop для:

  • Будь-якого файлу — перетягніть на зону завантаження, він закріплюється + ви отримуєте CID
  • Папки — запаковується у директорію UnixFS у вашому браузері, завантажується як один імпорт, розв'язується за адресою /ipfs/{cid}/{subpath} для кожного дочірнього файлу
  • Архіву .car — автоматично визначається, кореневий CID зберігається точно (див. CAR Import)

Після завантаження файли з'являються на сторінці Files, де ви можете перейменувати, перемістити між папками, отримати directory CID IPFS для цілої папки (знімок) та налаштувати S3 CORS для окремого bucket'а для доступу з браузерного SDK.

Наступні кроки

  • Довідник API — Повна документація для всіх ендпоінтів, параметрів та кодів помилок.
  • S3 Compatibility — Використовуйте AWS SDK для взаємодії з IPFS Ninja.
  • Виділені gateway — Отримайте приватний gateway, який обслуговує тільки ваші файли.