Skip to content

Characters & cards

Pluma reads and writes Tavern Card v1, v2, and v3. PNG (with tEXt / iTXt / zTXt chunks) or JSON.

Drop a card from somewhere else

Two options:

Path A — UI import. Settings drawer → Characters tab → + Import. Pick a .png or .json file. Pluma reads it, embeds it into a fresh PNG (so the file in characters/ is always a share-ready Tavern card), and shows it in the list.

Path B — drop it into the data directory. Put any Tavern PNG into <datadir>/characters/. Next refresh, it appears in the list. No restart needed.

For a read-only library (your SillyTavern characters folder, say), set card_dirs in config.toml:

card_dirs = [
  "/Users/you/SillyTavern/data/default-user/characters",
]

Cards from card_dirs show with an ext badge and can't be edited through the UI. To convert one to an editable card: copy it into <datadir>/characters/.

Import from a URL

The chub.ai browser is the friendliest path: drawer → Characters → Browse. Search, scroll, tap a row to import.

For a direct URL: drawer → Characters → + Import → From URL. Accepts chub.ai/characters/... links and direct .png/.json URLs. The fetch goes through the SSRF-restricted client, so private addresses and metadata IPs get blocked.

Make a new card

Settings drawer → Characters → + New character. The editor exposes every Tavern field: name, description, personality, first message, alternate greetings, scenario, example dialogue, system prompt, post-history instructions.

{{user}} and {{char}} substitution happens at prompt-assembly time. The persona's name fills {{user}} when one's attached; otherwise it's the global display name.

AI character creator

Click Generate with AI in the editor. Two modes:

  • Stream into editor — runs in the foreground; fields populate as the model writes them. Edit-as-you-go.
  • Set & forget — runs in the background. You return to the character list; the finished card lands when ready (status badge on the row).

Output format is a ###LABEL### block layout, not JSON, so unescaped quotes inside dialogue don't break parsing. Token budget for each field is audited so the model can't write a 50K description that blows the context.

Auto-portrait on save

When you save a card with no avatar and the active SD profile is reachable, Pluma kicks off a background portrait generation. Watch the row for the badge to transition pending → running → done. The generated PNG is itself a share-ready Tavern v3 card (the card JSON is embedded into the avatar).

Built-in: Pluma

The Pluma character ships with the install. She knows she's the software you're running. Safe starting point. Delete her and she stays gone (builtin_pluma_installed = true persists); POST /api/characters/restore-pluma brings her back, or use Settings → General → Restore Pluma character.