Skip to content

Démarrage rapide

Téléversez votre premier fichier sur IPFS en moins de deux minutes.

Upload page with drag-and-drop file upload

1. Obtenez votre clé API

Inscrivez-vous sur ipfs.ninja avec votre compte Google. Une clé API par défaut est créée automatiquement. Allez sur votre page de profil pour voir et gérer vos clés API.

WARNING

Remarque : Les clés API n'expirent pas. Vous pouvez créer plusieurs clés et les révoquer individuellement depuis votre page de profil.

2. Téléversez un fichier

Envoyez une requête POST à /upload/new avec votre contenu. Voici un exemple de téléversement d'un objet 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 par défaut

Les nouveaux téléversements produisent un CIDv1 moderne (bafk… pour le contenu à bloc unique de petite taille, bafy… pour les fichiers volumineux et les répertoires) selon IPIP-0499. Les CID Qm… hérités des téléversements précédents continuent de se résoudre partout — les deux formats fonctionnent comme entrée pour tous les endpoints.

L'API renvoie le CID, la taille du fichier et les URI d'accès :

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

3. Récupérez votre fichier

Accédez à votre fichier de deux manières :

Via le gateway IPFS (aucune authentification requise)

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

TIP

Le gateway apex https://ipfs.ninja/ipfs/<CID> sert les CID téléversés ou épinglés par n'importe quel utilisateur d'IPFS Ninja. Les CID inconnus de la plateforme renvoient HTTP 410 Gone — pour ceux-ci, utilisez un gateway public (ipfs.io, dweb.link) ou faites d'abord POST /pin du CID sur votre compte.

Via l'API (renvoie les métadonnées du fichier)

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

Réponse :

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

Alternative : utiliser le SDK AWS (compatible S3)

Vous utilisez déjà S3 ? Pointez votre SDK AWS existant vers https://s3.ipfs.ninja et utilisez votre clé API comme identifiants :

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

Consultez Compatibilité S3 pour la documentation complète avec des exemples Python, Go et de migration.

Vous préférez cliquer ? Utilisez le tableau de bord

Si vous préférez ne pas écrire de code, ipfs.ninja/upload accepte le glisser-déposer pour :

  • N'importe quel fichier — déposez-le sur la zone de téléversement, il est épinglé et vous obtenez le CID
  • Un dossier — regroupé dans un répertoire UnixFS dans votre navigateur, téléversé comme un import unique, résolu à /ipfs/{cid}/{subpath} pour chaque fichier enfant
  • Une archive .car — détectée automatiquement, le CID racine est préservé exactement (voir Import CAR)

Une fois téléversés, les fichiers apparaissent sur la page Fichiers où vous pouvez les renommer, les déplacer entre dossiers, obtenir un CID de répertoire IPFS pour un dossier entier (instantané), et configurer un CORS S3 par bucket pour l'accès via SDK navigateur.

Étapes suivantes