> For the complete documentation index, see [llms.txt](https://docs.xnomad.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xnomad.ai/es/ai-nft-metadata.md).

# Metadatos AI-NFT

Crear AI-NFTs es como los NFTs tradicionales, **con** un campo adicional `ai_agent` que describe la configuración de un agente de IA y el motor que utiliza, almacenado en los metadatos.

## Motor de IA Compatible <a href="#metadata-json" id="metadata-json"></a>

<table><thead><tr><th width="224">Motor</th><th width="231">Nombre del motor</th><th>Archivo de personajes</th></tr></thead><tbody><tr><td><a href="https://github.com/elizaOS/eliza">Eliza</a> de ElizaOS</td><td>eliza</td><td><ul><li><a href="https://elizaos.github.io/eliza/docs/core/characterfile/">Documentación</a></li><li><a href="https://github.com/elizaOS/characterfile">Plantilla</a></li><li><a href="https://github.com/elizaOS/eliza/tree/main/characters">Ejemplo</a></li></ul></td></tr></tbody></table>

## JSON de Metadata AI-NFT <a href="#metadata-json" id="metadata-json"></a>

| Campo                          | Tipo   | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ai\_agent** (Recién añadido) | objeto | <p>La configuración que define el agente de IA conectado con este NFT.<br>- <strong>engine</strong> (string): el motor utilizado para ejecutar el agente de IA. Por defecto es "eliza".<br>- <strong>character</strong> (objeto): el JSON del archivo de personaje que describe un agente de IA. Consulta <a href="https://github.com/elizaOS/characterfile?tab=readme-ov-file">aquí</a>.</p>                                                                                                                                    |
| **name**                       | string | Nombre del activo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **description**                | string | Descripción del activo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **image**                      | string | URI que apunta al logo del activo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **animation\_url**             | string | URI que apunta a la animación del activo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **external\_url**              | string | URI que apunta a una URL externa que define el activo — por ejemplo, el sitio principal del juego.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **attributes**                 | array  | <p>Array de atributos que definen las características del activo.<br>- <strong>trait\_type</strong> (string): El tipo de atributo.<br>- <strong>value</strong> (string): El valor para ese atributo.</p>                                                                                                                                                                                                                                                                                                                         |
| **properties**                 | objeto | <p>Propiedades adicionales que definen el activo.<br>- <strong>files</strong> (array): Archivos adicionales para incluir con el activo.<br>- <strong>uri</strong> (string): URI del archivo.<br>- <strong>type</strong> (string): Tipo de archivo. Ej. <code>image/png</code>, <code>video/mp4</code>, etc.<br>- <strong>cdn</strong> (boolean, opcional): Si el archivo se sirve desde un CDN.<br>- <strong>category</strong> (string): Categoría de medio para el activo. Ej. <code>video</code>, <code>image</code>, etc.</p> |

## Ejemplo

```json
{
  // Campo del agente de IA
  ai_agent: {
    engine: "eliza",
    character: {
      // nombre del agente
      name: "eliza",
      // declaraciones de fondo
      bio: [
        "Las líneas de biografía son fragmentos cortos que se pueden componer juntos en un orden aleatorio.",
        "Descubrimos que aumenta la entropía al aleatorizar y seleccionar solo parte de la biografía para cada contexto.",
        "Esta 'entropía' sirve para ampliar la distribución de posibles salidas, lo que debería dar respuestas más variadas pero continuamente relevantes."
      ],
      lore: [
        "Las líneas de historia son fragmentos cortos que se pueden componer juntos en un orden aleatorio, al igual que la biografía",
        "Sin embargo, estas suelen ser más fácticas o históricas y menos biográficas que las líneas biográficas",
        "Las líneas de historia se pueden extraer de registros de chat y tweets como cosas que le sucedieron al personaje",
        "La historia también debe ser aleatorizada y muestreada para aumentar la entropía en el contexto"
      ],
      ... //xxx.character.json de https://github.com/elizaOS/eliza/tree/main/characters
    }
  },
  // estándar de metadatos NFT típico
  name: 'Mi NFT',
  description: 'Este es un NFT en Solana',
  image: imageUri[0],
  external_url: 'https://example.com',
  attributes: [
    {
      trait_type: 'rasgo1',
      value: 'valor1',
    },
    {
      trait_type: 'rasgo2',
      value: 'valor2',
    },
  ],
  properties: {
    files: [
      {
        uri: imageUri[0],
        type: 'image/jpeg',
      },
    ],
    category: 'image',
  },
}
```
