> For the complete documentation index, see [llms.txt](https://docs.dev3.sh/welcome-to-dev3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dev3.sh/welcome-to-dev3/guides/launching-an-nft-collection/step-1-upload-assets.md).

# Step 1: Upload assets

Every NFT collection contains some assets, and these assets are the digital items mostly represented by the images. The first step in the process is to actually prepare the images in a folder on your computer.\
\
There are some guidelines when doing this, and the two simple rules to follow here are:

* all the images should be of the same size (same width and height)
* all images should be placed in one folder and named in order: 0.jpg, 1.jpg, ...

Note that the folder name containing the images is not important. The image type is also not important, they can be JPEGs, PNGs or whatever.

For example, we're going to launch our own collection containing three very rare monkey images found on the web and this is what our folder looks like:

<figure><img src="/files/Co8zFWklhYpFy4JxyFmC" alt=""><figcaption><p>Images to be launched as an NFT collection</p></figcaption></figure>

You should do the same, and prepare the folder with your images named properly.

Now you have to upload this folder to the IPFS or some other storage service.

{% hint style="info" %}
If you're not familiar with the IPFS and would like to understand why the IPFS is highly recommended to be used as a storage method for the NFT collection, refer to [this guide](https://www.bueno.art/blog/pinata-ipfs-guide) for a start.
{% endhint %}

The easiest way to upload to IPFS, is to register a free account on a [Pinata](https://app.pinata.cloud/). When you're done, log in and upload the images folder like we did (shown below):

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

The end result of this step is the CID (content identifier) hash which you have received once the folder was uploaded. The CID is highlighted in the end of the video, and in our case it looks like this:

```
QmT8kRCYyZ4VUFd2r3xYZj81uyE7M2S4RYgVp5vcqcr32W
```

In the next step, we'll use this identifier to build the metadata files.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.dev3.sh/welcome-to-dev3/guides/launching-an-nft-collection/step-1-upload-assets.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
