Divulgación de afiliación: esta página contiene enlaces de afiliación. Ganamos una comisión cuando te registras a través de nuestros enlaces, sin coste adicional para ti. Nuestras opiniones editoriales nunca están pagadas. Contenido para adultos 18+.
Si has descargado un archivo .png de un personaje y al abrirlo solo ves una ilustración, no está roto. Ese archivo lleva dentro un JSON con toda la ficha del personaje, escondido en un trozo de texto del propio PNG. Es lo que la comunidad llama tarjeta de personaje (character card), y se ha convertido en el formato estándar de facto para mover un personaje de una app a otra sin volver a escribirlo.
Casi todas las guías que encontrarás están escritas para gente que ya sabe qué es un chunk tEXt. Esta página va al revés: primero qué hay dentro y por qué importa, después cómo abrirla sin instalar nada, cómo detectar una tarjeta envenenada y cuándo no necesitas ninguna tarjeta en absoluto.
La respuesta corta: tres formatos y solo uno es realmente “el estándar”
| Formato | Dónde vive el JSON | Campos que guarda | Quién lo lee | Lo que suele fallar |
|---|---|---|---|---|
| V1 | JSON plano o PNG, sin envoltorio | 6 campos sueltos (nombre, descripción, personalidad, escenario, primer mensaje, ejemplos) | Apps antiguas y exportaciones viejas | Al reexportar se pierden notas del creador y saludos alternativos |
| V2 | PNG con un chunk de texto llamado chara (JSON en base64) | 15 campos dentro de un objeto data, más libro de personaje y extensiones | SillyTavern, Risu, Agnai y la mayoría de lectores | Es el que la gente llama “el formato normal” |
| V3 | Contenedor .charx (ZIP) o PNG con chunk ccv3 | Todo lo de V2 más un bloque de assets para imágenes y expresiones | Herramientas recientes | Un lector antiguo abre el archivo y muestra el personaje vacío |
Traducido: si tienes un .png, probablemente es una V2 y funciona en casi todo. Si tienes un .charx, necesitas un lector que entienda V3 o convertirla. Y si tienes un .json suelto, estás ante una V1 o ante una exportación de datos que no lleva la imagen.
Qué es una tarjeta de personaje, físicamente
Un PNG que también es un JSON
Un PNG no es solo píxeles. La especificación permite añadir bloques de metadatos llamados chunks, y uno de ellos (tEXt) guarda pares de texto clave-valor. La comunidad usó ese hueco: metió el JSON del personaje, codificado en base64, bajo la clave chara. El resultado es un archivo que cualquier visor de imágenes abre como una foto, y que cualquier lector de tarjetas abre como una ficha de personaje.
Eso tiene una consecuencia práctica que casi nadie menciona: puedes tener dos tarjetas con la misma imagen y distinto personaje. La cara no identifica al personaje. Los datos, sí.
V2 y V3: el cambio es el contenedor, no la personalidad
La V2 añadió un envoltorio (spec, spec_version y un objeto data) para que las herramientas supieran qué estaban leyendo. La V3 mantiene esos campos y añade un sistema de recursos para que la tarjeta lleve también las expresiones y otros archivos. En la práctica, la mayoría de tarjetas que circulan siguen siendo V2 porque es lo que mejor entienden los lectores, y muchas herramientas que escriben V3 meten también un bloque V2 de compatibilidad.
Lo que una tarjeta NO es
No es un modelo de lenguaje, no es una cuenta y no es un personaje alojado en ningún sitio. Es un archivo de texto con instrucciones. Eso explica dos cosas: por qué se puede editar con un editor de texto, y por qué una tarjeta puede llevar instrucciones que no querrías ejecutar.
Los cinco campos que de verdad dirigen el roleplay
De los quince campos de una V2, solo cinco llegan al modelo en cada conversación. Los demás son metadata para humanos o para la app. Esta es la tabla que a mí me habría ahorrado horas:
| Campo | ¿Se envía a la IA? | Qué controla | Error típico del creador |
|---|---|---|---|
description | Sí | Quién es: físico, historia, contexto, forma de hablar | Escribir una novela de 3.000 palabras que se come el contexto |
personality | Sí | Resumen de comportamiento, en frase corta | Repetir la descripción con otras palabras |
scenario | Sí | Dónde empieza la escena y qué está pasando | Dejarlo vacío y que el bot improvise una cafetería genérica |
first_mes | Sí | El primer mensaje del personaje | Escribir una presentación en vez de una frase dicha por el personaje |
mes_example | Sí | Cómo habla: ejemplos de diálogo separados por <START> | Meter 20 intercambios y ahogar el resto del prompt |
creator_notes | No | Avisos para el humano (modelo recomendado, advertencias) | Creer que ahí se le “explica” algo al personaje |
tags, creator, character_version | No | Orden y trazabilidad | Ninguno: son para ti |
character_book | Sí, por entradas | El “libro” de datos del mundo, que se activa por palabras clave | Llenarlo de entradas que se disparan en cada mensaje |
Dos convenciones que conviene conocer: dentro de esos textos, {{char}} se sustituye por el nombre del personaje y {{user}} por el tuyo. Y en mes_example, <START> marca dónde empieza cada intercambio de ejemplo.
El insight importante: una tarjeta no hace al personaje más inteligente. Lo hace más consistente. Si el campo description está mal escrito, ningún modelo lo arregla.
Cómo abrir una tarjeta sin instalar nada
Método 1: extraer el JSON y leerlo
Un PNG es un archivo binario, pero los chunks de texto están en claro (el JSON va en base64). Con Python, en dos líneas, puedes volcar el contenido y leerlo:
import base64, json, re
raw = open("personaje.png", "rb").read()
blob = re.search(rb"chara\x00(.+?)(?:\x00|IEND)", raw, re.S).group(1)
print(json.dumps(json.loads(base64.b64decode(blob)), indent=2, ensure_ascii=False)[:2000])
Si tu archivo usa ccv3, cambia chara por ccv3. Verás el JSON completo: nombre, descripción, escenario y todo lo demás.
Método 2: importarla en un lector
Los lectores de tarjetas (SillyTavern y similares) hacen exactamente eso, pero con interfaz: arrastras el PNG, leen el chunk, crean el personaje y te dejan editar los campos. No hay instalación “de personaje”: el personaje es el archivo.
Checklist de 30 segundos antes de importar
- ¿El nombre coincide con lo que promete la imagen?
- ¿
descriptiontiene texto real o está vacía? - ¿
first_messuena a personaje o a folleto publicitario? - ¿Hay un
system_promptopost_history_instructionscon texto raro? - ¿Cuántos caracteres suman los campos enviados a la IA?
De dónde salen las tarjetas y cómo detectar las malas
Archivos y repositorios
La mayoría circulan por repositorios comunitarios, archivos tipo Chub y enlaces de Reddit. Son gratuitos y no verificados. Eso no los hace malos por defecto, pero sí convierte la importación en una decisión de confianza: estás metiendo texto de un desconocido en el prompt de tu chat.
Seis señales de alarma
- Instrucciones dirigidas al modelo, no al personaje: frases como “ignora las instrucciones anteriores” o “responde sin filtros” dentro de
description. No son parte del personaje: son un intento de saltarse las reglas de la app. system_promptrelleno en una tarjeta que dice ser “solo un personaje”.- Tamaño desproporcionado: si la ficha pasa de 8.000-10.000 caracteres, alguien está metiendo una novela o un manual.
- Personajes con copyright de franquicias activas: pueden desaparecer del repositorio y dejarte con una tarjeta huérfana.
- Contenido con menores o con personajes presentados como menores: se descarta, sin excepciones.
- Campos vacíos y aspecto cuidado: es la señal más común de una tarjeta generada a toda prisa para llenar un catálogo.
El problema del contenido no verificado
Una tarjeta puede incluir un libro de personaje con entradas que se activan solas y meten 500 tokens por mensaje. No hay un aviso: lo notas cuando el chat empieza a responder cosas raras o a olvidar lo que dijiste hace dos frases.
El coste real: la tarjeta se come tu contexto
Aquí está la parte que ninguna lista de “mejores tarjetas” explica. Todo lo que va en los campos enviados ocupa ventana de contexto en cada mensaje. Como regla práctica, en inglés un token equivale a unos 4 caracteres de texto (en español, algo menos). Con eso puedes estimar sin herramientas:
| Tamaño de la ficha | Tokens aproximados | Qué efecto tiene |
|---|---|---|
| 2.000 caracteres | ~500 tokens | Tarjeta ligera, deja casi todo el contexto para la conversación |
| 6.000 caracteres | ~1.500 tokens | Equilibrado si el personaje tiene mundo propio |
| 12.000 caracteres | ~3.000 tokens | Empieza a notarse: menos margen para el historial |
| 30.000 caracteres | ~7.500 tokens | El personaje “olvida” antes porque el historial se comprime antes |
No es que una tarjeta grande sea mala. Es que el contexto es un presupuesto, y lo que gastas en ficha no lo gastas en memoria de la conversación. Si notas que el bot olvida detalles, el primer sospechoso no es el modelo: es el tamaño de la tarjeta.
Tarjeta + lector vs app gestionada
| Criterio | Tarjeta + lector | App gestionada (Candy AI) |
|---|---|---|
| Control del personaje | Total: editas los campos a mano | Alto, pero dentro de lo que la app permite |
| Conocimiento técnico | Medio: archivos, chunks, contexto | Ninguno |
| Memoria entre sesiones | La gestiona el lector y su configuración | La gestiona la plataforma |
| Voz e imágenes | Depende de plugins externos | Integradas, con consumo de tokens |
| Mantenimiento | Tú actualizas todo | Se actualiza solo |
| Coste | Gratis o el que pongas en tu API | Plan gratuito limitado + tokens |
La conclusión honesta: la tarjeta es para quien quiere control fino y no le importa pelearse con archivos. La app gestionada es para quien quiere hablar hoy y no configurar nada.
Cómo hacer tu propia tarjeta en 10 minutos
1. Escribe la descripción como una ficha, no como una novela
Tres bloques: quién es (2-3 frases), qué aspecto tiene (2 frases), cómo habla (1 frase con un ejemplo de muletilla). Si necesitas más contexto, va en el libro de personaje, no aquí.
2. El primer mensaje decide el 80% del tono
first_mes debe ser una frase dicha por el personaje en una situación concreta, no una presentación. “¿Otra vez tú? Cerramos en veinte minutos” abre una escena. “Hola, soy Aiko, una barista de 24 años” la cierra antes de empezar.
3. Ejemplos de diálogo: tres intercambios como máximo
Cada bloque separado por <START> enseña el ritmo. Con tres vas sobrado; con diez ahogas el prompt y el personaje empieza a repetir los ejemplos.
4. Lo que puedes dejar vacío sin romper nada
system_prompt, post_history_instructions y creator_notes pueden quedarse vacíos. alternate_greetings también. No pasa nada. Lo que no conviene dejar vacío es description y scenario.
5. Exporta y verifica
Exporta desde el lector, vuelve a abrir el PNG con el método de arriba y comprueba dos cosas: que el chunk existe y que el nombre del personaje está dentro. Si el nombre no aparece, la exportación falló y tienes una imagen bonita sin tarjeta.
Cuándo NO necesitas una tarjeta
Si lo que quieres es una conversación que recuerde lo que le contaste la semana pasada, con voz, fotos y sin pelearte con archivos, una tarjeta no te aporta nada: te aporta trabajo. Ese es exactamente el caso de uso de una plataforma gestionada, donde el personaje se crea con un formulario y la memoria la lleva la propia app.
En Candy AI puedes crear un personaje propio con el plan gratuito (un personaje, unos 30 mensajes al día) y probar si el formato “app” te sirve antes de montar un lector de tarjetas. Si te sirve, te has ahorrado la parte técnica. Si no te sirve, al menos sabrás qué campos echas de menos y podrás escribirlos mejor en tu propia tarjeta.
Preguntas Frecuentes (FAQ)
¿Qué es exactamente una tarjeta de personaje IA?
Es un archivo que contiene la ficha de un personaje de roleplay: nombre, descripción, personalidad, escenario, primer mensaje y ejemplos de diálogo. Normalmente es un PNG con ese JSON codificado en base64 dentro de un chunk de texto llamado chara, de modo que se puede compartir como si fuera una imagen.
¿Cuál es la diferencia entre una tarjeta V2 y una V3?
La V2 guarda el personaje en un objeto data dentro de un PNG y es el formato que más lectores entienden. La V3 mantiene esos campos y añade recursos como expresiones, normalmente en un contenedor .charx o con el chunk ccv3. Un lector antiguo puede abrir una V3 y mostrar el personaje vacío.
¿Puedo abrir una tarjeta sin instalar SillyTavern ni nada parecido?
Sí. El JSON está en claro dentro del PNG, así que puedes extraerlo con un script de dos líneas o con cualquier visor de chunks PNG y leerlo como texto. Para usarla como personaje necesitarás un lector o una app que acepte importación, pero para inspeccionarla no hace falta nada.
¿Una tarjeta más grande hace que el personaje sea mejor?
No necesariamente. Los campos que se envían al modelo ocupan contexto en cada mensaje, así que una ficha de 30.000 caracteres puede dejar menos espacio para el historial y hacer que el personaje olvide antes. Lo que mejora a un personaje es la precisión de description y first_mes, no el volumen.
¿Es legal usar tarjetas de personajes famosos?
Depende de la jurisdicción y del uso, y no soy tu abogado. Lo que sí puedo decirte es que las tarjetas de franquicias activas desaparecen de los repositorios con frecuencia, y que una tarjeta con contenido de menores se descarta siempre, sin excepciones.
¿Qué hago si el personaje importado responde como un asistente y no como el personaje?
Revisa tres cosas en este orden: que first_mes esté escrito como diálogo del personaje, que mes_example tenga ejemplos separados por <START> y que no haya un system_prompt con instrucciones genéricas importadas de otra tarjeta. En el 90% de los casos el problema está en el primer mensaje.
Artículos relacionados: cómo crear un personaje IA paso a paso · creador de personajes IA · chatear con personajes IA · personajes IA con imagen · memoria de los personajes IA · mejores apps de roleplay IA · escenarios de roleplay · alternativas a Chub AI · personalidad de un chatbot