AI-NFT Metadata
Creating AI-NFTs is just like traditional NFTs, with an extra field ai_agent
that describes the configuration of an AI agent and the engine it uses, stored in the metadata.
Supported AI Engine
AI-NFT Metadata JSON
ai_agent (Newly added)
object
The configuration that define the AI agent connected with this NFT.
engine (string): the engine used to run the AI agent. Default as "eliza".
character (object): the characterfile JSON that describes an AI agent. Check here.
name
string
Name of the asset.
description
string
Description of the asset.
image
string
URI pointing to the asset's logo.
animation_url
string
URI pointing to the asset's animation.
external_url
string
URI pointing to an external URL defining the asset — e.g. the game's main site.
attributes
array
Array of attributes defining the characteristics of the asset.
trait_type (string): The type of attribute.
value (string): The value for that attribute.
properties
object
Additional properties that define the asset.
files (array): Additional files to include with the asset.
uri (string): The file's URI.
type (string): The file's type. E.g.
image/png
,video/mp4
, etc.cdn (boolean, optional): Whether the file is served from a CDN.
category (string): A media category for the asset. E.g.
video
,image
, etc.
Example
{
// AI agent field
ai_agent: {
engine: "eliza",
character: {
// agent name
name:"eliza",
// background statements
bio: [
"Bio lines are each short snippets which can be composed together in a random order.",
"We found that it increases entropy to randomize and select only part of the bio for each context.",
"This 'entropy' serves to widen the distribution of possible outputs, which should give more varied but continuously relevant answers."
],
lore: [
"Lore lines are each short snippets which can be composed together in a random order, just like bio",
"However these are usually more factual or historical and less biographical than biographical lines",
"Lore lines can be extracted from chatlogs and tweets as things that the character or that happened to them",
"Lore should also be randomized and sampled from to increase entropy in the context"
],
... //xxx.character.json from https://github.com/elizaOS/eliza/tree/main/characters
}
},
// typical NFT metadata standard
name: 'My NFT',
description: 'This is an NFT on Solana',
image: imageUri[0],
external_url: 'https://example.com',
attributes: [
{
trait_type: 'trait1',
value: 'value1',
},
{
trait_type: 'trait2',
value: 'value2',
},
],
properties: {
files: [
{
uri: imageUri[0],
type: 'image/jpeg',
},
],
category: 'image',
},
}
Last updated
Was this helpful?