Français
Français
Appearance
Français
Français
Appearance
Téléversez votre premier fichier sur IPFS en moins de deux minutes.

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.
Envoyez une requête POST à /upload/new avec votre contenu. Voici un exemple de téléversement d'un objet 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 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 :
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"sizeMB": 0.001,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}Accédez à votre fichier de deux manières :
curl https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiTIP
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.
curl https://api.ipfs.ninja/file/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi \
-H "X-Api-Key: bws_your_api_key_here"Réponse :
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"fileName": "NFT metadata",
"fileType": "json",
"sizeMB": 0.001,
"createdAt": 1711036800000,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}Vous utilisez déjà S3 ? Pointez votre SDK AWS existant vers https://s3.ipfs.ninja et utilisez votre clé API comme identifiants :
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.
Si vous préférez ne pas écrire de code, ipfs.ninja/upload accepte le glisser-déposer pour :
/ipfs/{cid}/{subpath} pour chaque fichier enfant.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.