Русский
Русский
Appearance
Русский
Русский
Appearance
Загрузите свой первый файл в IPFS менее чем за две минуты.

Зарегистрируйтесь на ipfs.ninja с помощью аккаунта Google. API-ключ по умолчанию создаётся автоматически. Перейдите на страницу профиля, чтобы просмотреть и управлять своими API-ключами.
WARNING
Примечание: API-ключи не имеют срока действия. Вы можете создавать несколько ключей и отзывать их по отдельности на странице профиля.
Отправьте POST-запрос на /upload/new с вашим контентом. Вот пример загрузки 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 по умолчанию
Новые загрузки создают современный CIDv1 (bafk… для небольшого одноблочного содержимого, bafy… для файлов большего размера и каталогов) согласно IPIP-0499. Устаревшие CID Qm… из более ранних загрузок по-прежнему разрешаются повсюду — оба формата работают как входные значения для любой конечной точки.
API возвращает CID, размер файла и URI доступа:
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"sizeMB": 0.001,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}Получите доступ к файлу двумя способами:
curl https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiTIP
Apex-шлюз https://ipfs.ninja/ipfs/<CID> обслуживает CID, загруженные или закреплённые любым пользователем IPFS Ninja. CID, неизвестные платформе, возвращают HTTP 410 Gone — для них используйте публичный шлюз (ipfs.io, dweb.link) или сначала выполните POST /pin CID для своего аккаунта.
curl https://api.ipfs.ninja/file/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi \
-H "X-Api-Key: bws_your_api_key_here"Ответ:
{
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"fileName": "NFT metadata",
"fileType": "json",
"sizeMB": 0.001,
"createdAt": 1711036800000,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}Уже используете S3? Направьте существующий AWS SDK на https://s3.ipfs.ninja и используйте свой API-ключ в качестве учётных данных:
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 принимает перетаскивание для:
/ipfs/{cid}/{subpath} для каждого дочернего файла.car — определяется автоматически, корневой CID сохраняется в точности (см. Импорт CAR)После загрузки файлы появляются на странице «Файлы», где вы можете переименовывать их, перемещать между папками, получать CID директории IPFS для целой папки (снимок) и настраивать S3 CORS для отдельного bucket-а для доступа из браузерного SDK.