# 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',
  },
}
```


---

# Agent Instructions: 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:

```
GET https://docs.xnomad.ai/es/ai-nft-metadata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
