> For the complete documentation index, see [llms.txt](https://docs.rawrshak.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rawrshak.io/tutorials/developer/rawrshak-dapp/deploying-a-meta-asset/image-meta-asset.md).

# Image Meta Asset

Please refer to the [Image Asset ](/developers/meta-asset-framework/asset-types/image-assets.md)for specific requirements of the Image Meta Asset Framework before uploading an asset.&#x20;

#### 1. Find an image that you want to upload.

![Rocketship - Note: This is just a random image. We don't own this image at all.](/files/Ton9WmRNn39fuzL1eCoO)

#### 2. Upload it to Arweave

Please check out [this tutorial ](/tutorials/developer/rawrshak-dapp/upload-data-to-arweave.md)in order to upload to Arweave.

#### 3. Connect to the Rawrshak Dapp and navigate your way to the Content Contract page

![Create New Asset](/files/Mb4jh8SXSgQJM38l37Ms)

#### 4. Fill in the information about the Asset

<table><thead><tr><th>Value</th><th width="541.3197616683218">Description</th></tr></thead><tbody><tr><td>Pinata API Key &#x26; Secret </td><td>This is needed for the metadata to be uploaded to IPFS. Please see the <a href="/pages/8u2QFvJUCGS0SRabdjt5">Pinata tutorial</a> to set this up.</td></tr><tr><td>Name</td><td>Name of the meta asset </td></tr><tr><td>Description</td><td>Description of the meta asset</td></tr><tr><td>Image</td><td>Image src that will show up on Dapps and other front-ends</td></tr><tr><td>Tags</td><td>An array of tags categorizing the asset</td></tr><tr><td>Max Supply</td><td>The maximum instances for this asset that can ever be minted. If left at 0, it will automatically be converted to UINT256_MAX.</td></tr><tr><td>Royalty Receiver Address</td><td>The ethereum address that royalty fees will be sent to. If this is set to the Zero Address, the asset royalty will fall back to the default Content Contract royalty.</td></tr><tr><td>Royalty Rate</td><td>The percent royalty the developer will receive when this asset is traded in a marketplace that supports royalty fees.</td></tr><tr><td>Type</td><td>The Main type of meta asset. In this case, it should be set to Image</td></tr><tr><td>Subtype</td><td>The subtype of the meta asset. Please refer to the <a href="/pages/AdwUn6CbhbMo9Eamr0w1">Image Assets</a> page to get more info on which subtype to select. Defaults to square.</td></tr><tr><td>NSFW</td><td>Notifies game developers and users of explicit content. Please mark this correctly.</td></tr><tr><td>Image URI (Asset Data)</td><td>The URI to the texture for the specific asset that will be used in-game. This may or may not be the same as the Image.</td></tr><tr><td>Height in Pixels (Asset Data)</td><td>Height of the image in pixels</td></tr><tr><td>Width in Pixels (Asset Data)</td><td>Width of the image in pixels</td></tr><tr><td>Content Type (Asset Data)</td><td>File type of the image (we only support jpeg, svg, and png files)</td></tr></tbody></table>

{% hint style="info" %}
The Image Meta Asset Framework has some requirements for each type and subtype. If your asset doesn't comply with the framework requirements, it may be unloadable by games.&#x20;

Games expect the asset to follow the framework in order for them to load it.
{% endhint %}

![Fill in the Image information](/files/TO6aN23KfX2nBpPqL2Ad)

#### 5. Click *Create Asset* and wait for the Metadata to propagate

![](/files/P9X7BPtVRLogEVJRiPyc)

![](/files/eHlCSwGaJV1PZQoZyXio)

#### 6. Wait for the transaction to process and Verify

![Verify asset was created.](/files/Zimfq42izo2fGf4aThj5)
