nft.storage
Notice: Uploads have been decommissioned, and upload functionality in this package no longer functions, even with a valid API key. Please visit the product page to learn more and find a new hot storage provider for uploading new assets.
A client library for the https://nft.storage/ service. It provides a convenient interface for working with the Raw HTTP API from a web browser or Node.js and comes bundled with TS for out-of-the box type inference and better IntelliSense.
Install
Install the package using npm
npm install nft.storage
Or yarn
yarn add nft.storage
Usage
First, obtain an API token from https://nft.storage and use it in place of API_TOKEN
below:
import { NFTStorage, File } from 'nft.storage'
const client = new NFTStorage({ token: 'API_TOKEN' })
async function main() {
const metadata = await client.store({
name: 'Pinpie',
description: 'Pin is not delicious beef!',
image: new File(
[
],
'pinpie.jpg',
{ type: 'image/jpg' }
),
})
console.log(metadata.url)
}
main()
The client uses ESM modules. If running from Node.js, either name your script index.mjs
or name it index.js
and use npm init
to create a new package.json
file in your project directory, adding "type": "module",
to it.
Run the script:
node index.mjs
For more examples please see the API documentation or the examples directory in the project repository, which contains sample projects for both browsers and Node.js.