An overview of the IP-specific metadata standard
setMetadata(...)
inside of the IP Account in order to set the metadata, and then call metadata()
to read it.
commercialUse = true
license terms attached). We will use these fields to run an infringement check on your IP.
Property Name | Type | Description | Required For |
---|---|---|---|
title | string | Title of the IP | 🔍 Story Explorer |
description | string | Description of the IP | 🔍 Story Explorer |
createdAt | string | Date/Time that the IP was created (either ISO8601 or unix format). This field can be used to specify historical dates that aren’t on-chain. For example, Harry Potter was published on June 26. | 🔍 Story Explorer |
image | string | An image for your IP. For audio assets, the recommended thumbnail aspect ratio is 1:1. For video assets, it is 16:9. | 🔍 Story Explorer |
imageHash | string | Hash of your image using SHA-256 hashing algorithm. See here for how that is done. | 🔍 Story Explorer |
creators | IpCreator[] | An array of information about the creators. See the type defined below | 🔍 Story Explorer |
mediaUrl | string | Used for infringement checking, points to the actual media (ex. image or audio). For audio assets, the recommended thumbnail aspect ratio is 1:1. For video assets, it is 16:9. | 🕵️ Commercial Infringement Check |
mediaHash | string | Hashed string of the media using SHA-256 hashing algorithm. See here for how that is done. | 🕵️ Commercial Infringement Check |
mediaType | string | Type of media (audio, video, image), based on mimeType. See the allowed media types here. | 🕵️ Commercial Infringement Check |
aiMetadata | AIMetadata | Used for registering & displaying AI Agent Metadata. See the type defined below | 🤖 AI Agents |
N/A | N/A | You can include other values as well. | N/A |
mediaType
field:
Media Type | Description |
---|---|
image/jpeg | JPEG image |
image/png | PNG image |
image/apng | Animated PNG image |
image/avif | AV1 Image File Format |
image/gif | GIF image |
image/svg+xml | SVG image |
image/webp | WebP image |
audio/wav | WAV audio |
audio/mpeg | MP3 audio |
audio/flac | FLAC audio |
audio/aac | AAC audio |
audio/ogg | OGG audio |
audio/mp4 | MP4 audio |
audio/x-aiff | AIFF audio |
audio/x-ms-wma | WMA audio |
audio/opus | Opus audio |
video/mp4 | MP4 video |
video/webm | WebM video |
video/quicktime | QuickTime video |
imageHash
or mediaHash
fields, you can use the SHA-256 hashing algorithm. Here’s an example of how to do this in JavaScript:
Property Name | Type | Description |
---|---|---|
ipType | string | Type of the IP Asset, can be defined arbitrarily by the creator. I.e. “character”, “chapter”, “location”, “items”, “music”, etc |
relationships | IpRelationship[] | The detailed relationship info with the IPA’s direct parent asset, such as APPEARS_IN , FINETUNED_FROM , etc. See more examples here. |
watermarkImage | string | A separate image with your watermark already applied. This way apps choosing to use it can render this version of the image (with watermark applied). |
media | IpMedia[] | An array of supporting media. Media type defined below |
app | StoryApp | This is assigned to verified application from Story directly (on a request basis so far). We will map each App ID to a name |
tags | string[] | Any tags that can help surface this IPA |
robotTerms | IPRobotTerms | Allows you to set Do Not Train for a specific agent |
N/A | N/A | You can include other values as well. |
relationships
attribute.