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… จากการอัปโหลดก่อนหน้ายังคงแก้ไขได้ทุกที่ — ทั้งสองรูปแบบใช้เป็นอินพุตได้กับทุก endpoint

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 gateway ที่ https://ipfs.ninja/ipfs/<CID> ให้บริการ CID ที่อัปโหลดหรือปักหมุดโดยผู้ใช้ IPFS Ninja ใด ๆ CID ที่ไม่รู้จักสำหรับแพลตฟอร์มจะส่งคืน HTTP 410 Gone — สำหรับ CID เหล่านั้น ให้ใช้ gateway สาธารณะ (ipfs.io, dweb.link) หรือทำ POST /pin CID ไปยังบัญชีของคุณก่อน

ผ่าน API (ส่งคืน metadata ของไฟล์)

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 สำหรับเอกสารฉบับเต็มพร้อมตัวอย่าง Python, Go และการย้ายระบบ

อยากคลิกมากกว่า? ใช้แดชบอร์ด

หากคุณไม่อยากเขียนโค้ด ipfs.ninja/upload รองรับการลากและวางสำหรับ:

  • ไฟล์ใดก็ได้ — วางบนโซนอัปโหลด จะถูกปักหมุด + คุณได้ CID
  • โฟลเดอร์ — ถูกแพ็กเป็นไดเรกทอรี UnixFS ในเบราว์เซอร์ของคุณ อัปโหลดเป็นการนำเข้าเดียว แก้ไขได้ที่ /ipfs/{cid}/{subpath} สำหรับแต่ละไฟล์ย่อย
  • ไฟล์เก็บถาวร .car — ตรวจจับอัตโนมัติ root CID ถูกรักษาไว้ตรงตามเดิม (ดู การนำเข้า CAR)

เมื่ออัปโหลดแล้ว ไฟล์จะปรากฏบนหน้า Files ซึ่งคุณสามารถ เปลี่ยนชื่อ, ย้ายระหว่างโฟลเดอร์, รับ IPFS directory CID สำหรับทั้งโฟลเดอร์ (สแนปช็อต) และกำหนดค่า S3 CORS ต่อ bucket สำหรับการเข้าถึงด้วย SDK บนเบราว์เซอร์

ขั้นตอนถัดไป