# Upload files to IPFS

## 🏞️ Upload files to IPFS using the dashboard

{% hint style="info" %}
When creating a Smart Contract, the IPFS storage is automatically included.
{% endhint %}

### **📑 1. Create a Smart Contract**

Deploy your NFT Smart Contract [ app.imintify.com/smart-contract](https://app.imintify.com/smart-contract).\
For more information, read the docs on how [create a Smart Contract](/smart-contract/create-nft-smart-contract.md).<br>

### **🏞️ 2. Upload NFT images to IPFS**

Once you have created your contract, go to the tab: **NFTs**<br>

<figure><img src="/files/6UfDZLFUEuA9GgVEMO0S" alt=""><figcaption></figcaption></figure>

### **🆙 3. Start Uploading**

#### Choose **Single** or **Batch** **upload** to start uploading

<figure><img src="/files/aw34VuHDEgFGPtw1JjgU" alt=""><figcaption></figcaption></figure>

#### **💧 Drag and drop your image files**

Supported files .png .webp .gif .jpg .mp4 .csv or .json

{% hint style="info" %}
Note: Please upload a **folder** containing **all your NFT images** and **metadata file** for each NFT or a **single metadata file** containing all your NFT metadata.<br>
{% endhint %}

<div align="left"><figure><img src="/files/AeG1EE6DHPD7IriWhaeL" alt=""><figcaption></figcaption></figure></div>

### **👀 4. Preview**

Preview the uploaded NFT images and proceed.

<figure><img src="/files/oiXVbSRgGq7LCgS4i6hx" alt=""><figcaption></figcaption></figure>

### 🕑  5. Reveal type

Choose how you want to reveal your NFTs to your collectors.

* **Reveal upon Mint:** Collectors will immediately see the final NFT image when they complete the minting.
* **Delayed Reveal:** Collectors will mint your placeholder image, and then you will reveal it at a later time.

{% hint style="info" %}
For delayed reveal, you need to set a password and don't lose this password. There is no recovery option.
{% endhint %}

### **🚀 6. Finalize NFTs on the Blockchain**

Now, upload all the NFT images to the blockchain and sign the transaction to verify.

{% hint style="info" %}
It can take some time to upload all the images to the blockchain for large collections, such as 10k or large files.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.imintify.com/smart-contract/upload-files-to-ipfs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
