{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T17:21:57.540Z",
  "scope": "Approved, visible public Hall portraits. FF status is submitter-confirmed, not an independent authorship audit.",
  "filters": {
    "favorites": false,
    "ff_only": false
  },
  "pagination": {
    "limit": 25,
    "offset": 1175,
    "total": 1306,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=1200"
  },
  "characters": [
    {
      "id": "8c38f3a5-f1c0-4b4d-8179-ddcfbd93b699",
      "slug": "tomas-weaver-lightbearer-of-realt",
      "name": "Tomas Weaver, Lightbearer of Realt",
      "race": "Human",
      "character_class": "Paladin / Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tomas-weaver-lightbearer-of-realt",
      "character_url": "https://hall-library.framedfantasy.com/characters/tomas-weaver-lightbearer-of-realt",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tomas-weaver-lightbearer-of-realt.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tomas-weaver-lightbearer-of-realt.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776787906008_wp37zw.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/tomas-weaver-lightbearer-of-realt",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776787906008_wp37zw.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Tomas was born into into a world always at threat of total collapse. The Sword Coast was not a friendly place. And he was raised knowing that. From birth he was destined to be an agent of the law, a bringer of justice, a Templar of the One Law. \n\nHe led a very Spartan childhood. One where he constan"
    },
    {
      "id": "500d22d1-1f2a-4737-9ef1-3c6c95d1e4d5",
      "slug": "tori",
      "name": "Tori",
      "race": "Aasimar",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tori",
      "character_url": "https://hall-library.framedfantasy.com/characters/tori",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tori.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tori.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788517499827_0.png",
      "image_url": "https://hall-library.framedfantasy.com/images/tori",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788517499827_0.png",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 120
      },
      "story_excerpt": "Defining moment:\nOn his twentieth year, Tori’s tranquil existence in his Monastery came to an abrupt end. While fully projecting his radiant astral form during a deep trance, he witnessed a blinding vision: an encroaching shadow swallowing the lands below. The visual was clear—his monastic sanctuary"
    },
    {
      "id": "530dc201-a975-436c-9bd5-8a19e4727c46",
      "slug": "torikar-longhorn-beebles",
      "name": "Torikar \"Longhorn\" Beebles",
      "race": "Minotaur",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": true,
      "profile_url": "https://framedfantasy.com/pages/hero?h=torikar-longhorn-beebles",
      "character_url": "https://hall-library.framedfantasy.com/characters/torikar-longhorn-beebles",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/torikar-longhorn-beebles.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/torikar-longhorn-beebles.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783221015740_zullby.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/torikar-longhorn-beebles",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783221015740_zullby_thumb.webp",
      "crop": {
        "x": 50,
        "y": 100,
        "zoom": 100
      },
      "story_excerpt": "He was abandoned on the day of his birth and adopted by a Halfling Druid woman named Etta who raised him to be a guardian and protector of the small. Eventually he found the birth herd and slayed the Chief and replaced him. Now he is the Chief of the Longorn herd and is reforming them to the parh of"
    },
    {
      "id": "0c78b928-f7a6-467a-8208-584ec8d8c20e",
      "slug": "torin-behar",
      "name": "Torin Behar",
      "race": "Gnome",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=torin-behar",
      "character_url": "https://hall-library.framedfantasy.com/characters/torin-behar",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/torin-behar.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/torin-behar.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1784691784791_dwkyrz.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/torin-behar",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1784691784791_dwkyrz_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "A character from over 40 years ago, Torin was a worshipper of the God of High Adventure. He wasn't first through every door, but he was at the forefront of every fight, often *right* in front of everyone else, swinging his shorts word from the thigh level of the other melee fighters of the party.\nIt"
    },
    {
      "id": "dbbf4b2d-9774-4b74-b799-c5a110aac722",
      "slug": "toshihiro-sakurai",
      "name": "Toshihiro Sakurai",
      "race": "Human",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=toshihiro-sakurai",
      "character_url": "https://hall-library.framedfantasy.com/characters/toshihiro-sakurai",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/toshihiro-sakurai.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/toshihiro-sakurai.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781578464477_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/toshihiro-sakurai",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781578464477_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the kind of hero who walks through the Blackfen and emerges cleaner for it, who faces the Iron Matron as the Bold Hero because hesitation is a luxury others can't afford. Your father's last stand taught you that true strength means holding the line so someone else can live. But every strange"
    },
    {
      "id": "99f95572-e62f-4edf-ae71-5c45fdb06401",
      "slug": "tranquility",
      "name": "Tranquility",
      "race": "Tiefling",
      "character_class": "Ranger",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tranquility",
      "character_url": "https://hall-library.framedfantasy.com/characters/tranquility",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tranquility.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tranquility.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776932596321_1.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/tranquility",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776932596321_1.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the ranger who strips power from those who've never earned it, one stolen ledger and burnt safehouse at a time. Riding in on Old Yost's cart and dismantling the Iron Matron with quiet strategy proved what you already knew: institutions crumble faster than individuals when you know where to c"
    },
    {
      "id": "4d124962-6395-4b5b-af87-59d78505b9a3",
      "slug": "tra-bon-r-ngrim",
      "name": "Traübon Rängrim",
      "race": "Dwarf",
      "character_class": "Artificer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tra-bon-r-ngrim",
      "character_url": "https://hall-library.framedfantasy.com/characters/tra-bon-r-ngrim",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tra-bon-r-ngrim.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tra-bon-r-ngrim.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783652643842_7nuvw8.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/tra-bon-r-ngrim",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783652643842_7nuvw8_thumb.webp",
      "crop": {
        "x": 44,
        "y": 85,
        "zoom": 100
      },
      "story_excerpt": "“People often ask when I first learned to build. They expect me to name a forge, a mentor, or an invention. They are always surprised when I answer: I learned to build when I learned something could be lost.”\n\nBefore the planes knew the name Traübon Rängrim, before artificers studied his designs and"
    },
    {
      "id": "05faefef-8c5c-4b54-998a-a0c6b8a12996",
      "slug": "trax-vela-dora",
      "name": "Trax Vela'Dora",
      "race": "Plasmoid",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trax-vela-dora",
      "character_url": "https://hall-library.framedfantasy.com/characters/trax-vela-dora",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trax-vela-dora.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trax-vela-dora.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791507470343_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/trax-vela-dora",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791507470343_0.jpg",
      "crop": {
        "x": 20,
        "y": 100,
        "zoom": 105
      },
      "story_excerpt": "Defining moment:\nAfter several effective hunts with Vel, Trax and the ancient sapphire dragon finally met their match on an Illithid dominated colony world that had been suspected for decades by the githyanki had begun raiding. Vel & Trax raided the colony world, freeing slaves, and ending every eld"
    },
    {
      "id": "7ecc30b2-486b-4c21-8f77-2747f2637436",
      "slug": "treble",
      "name": "Treble",
      "race": "Kenku",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=treble",
      "character_url": "https://hall-library.framedfantasy.com/characters/treble",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/treble.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/treble.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781915798159_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/treble",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781915798159_0.jpg",
      "crop": {
        "x": 50,
        "y": 14,
        "zoom": 100
      },
      "story_excerpt": "You are a performer who survives on charm and the Silver Tongue, turning danger into opportunity with borrowed words. What brought you back was the memory of music that once made you believe creation itself could be stolen. Now you carry a curse that punishes every attempt to be more than a perfect "
    },
    {
      "id": "20907aa2-5cf5-4976-be43-bc59fef6274b",
      "slug": "trent",
      "name": "Trent",
      "race": "Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trent",
      "character_url": "https://hall-library.framedfantasy.com/characters/trent",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trent.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trent.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786458883095_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/trent",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786458883095_0.jpg",
      "crop": {
        "x": 50,
        "y": 24,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nour party had entered the lair of an evil cult to rescue a kidnapped girl. Trent led the group well, until he made a fatal mistake which almost caused the death of all, and DID cost the life of his stalwart companion--Gerg The Strong. Trent has borne the guilt of that loss ever sinc"
    },
    {
      "id": "0cde09dc-7031-4fd8-b6ce-fa959dc20c50",
      "slug": "treya-nox",
      "name": "Treya Nox",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=treya-nox",
      "character_url": "https://hall-library.framedfantasy.com/characters/treya-nox",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/treya-nox.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/treya-nox.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783644364021_alcfbc.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/treya-nox",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783644364021_alcfbc_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "The Nox farm is one of the oldest in Glimmerdrift, and the Nox family has lived there since the founding of the town after which the region is named. Treya Nox is the oldest of 5 surviving children - with two sisters and two brothers in descending age. The 6th child, an eldest sister, died young und"
    },
    {
      "id": "c2fa65cc-ebd3-41c7-8867-d0b65f34f850",
      "slug": "trilla-maerik",
      "name": "Trilla Maerik",
      "race": "Owlin",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trilla-maerik",
      "character_url": "https://hall-library.framedfantasy.com/characters/trilla-maerik",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trilla-maerik.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trilla-maerik.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778253002164_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/trilla-maerik",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778253002164_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're a Quiet Strategist who solves problems others overlook, one careful observation at a time. When your mentor vanished, you didn't abandon the work she left unfinished or the people who needed it. But every stranger you help is another day you're not searching, another choice that delays the an"
    },
    {
      "id": "86d0d25a-eabe-4d04-a969-57dff71b141f",
      "slug": "trinity",
      "name": "Trinity",
      "race": "Half-Elf",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trinity",
      "character_url": "https://hall-library.framedfantasy.com/characters/trinity",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trinity.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trinity.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781319992311_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/trinity",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781319992311_0.jpg",
      "crop": {
        "x": 50,
        "y": 16,
        "zoom": 100
      },
      "story_excerpt": "You are the rogue who chose the Blackfen and became the Quiet Strategist because mercy without preparation is just sentiment. What you remembered was not just the partner you lost, but the people left undefended when the sorceress walked away unchallenged. You carry the exhaustion of never being abl"
    },
    {
      "id": "003e6c50-5c7b-43ce-8712-da2113434b50",
      "slug": "triss-raventree",
      "name": "Triss Raventree",
      "race": "Human",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=triss-raventree",
      "character_url": "https://hall-library.framedfantasy.com/characters/triss-raventree",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/triss-raventree.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/triss-raventree.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780942038618_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/triss-raventree",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780942038618_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the Shadow Investigator who knows that answers matter more than comfort or convenience. What brought you back wasn't redemption through solitude, but the party who stayed when you finally wanted them to hear you. You still feel the phantom weight of every lie you couldn't help but speak. Your"
    },
    {
      "id": "dd5331da-90c5-4cb0-ac06-8f7e8bd80345",
      "slug": "trixie",
      "name": "Trixie",
      "race": "Lizardfolk",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trixie",
      "character_url": "https://hall-library.framedfantasy.com/characters/trixie",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trixie.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trixie.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1790625682625_18la8v.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/trixie",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1790625682625_18la8v_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "A shy but fearless Lizard. To live and protect. Frillin her significant other, who is a frilled lizard. Her significant other Frillin. Getting revenge for her captian. Trixie's silence during events."
    },
    {
      "id": "4d4923e8-4acc-44a9-a9a7-25c3b0ad2a33",
      "slug": "trogdor",
      "name": "Trogdor",
      "race": "Dwarf",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trogdor",
      "character_url": "https://hall-library.framedfantasy.com/characters/trogdor",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trogdor.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trogdor.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1789657793238_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/trogdor",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1789657793238_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Trogdor, the Kingmaker\n\nLong before men whispered his name like a warning, Trogdor was called the Kingmaker.\n\nHe never chose the title.\n\nKings did.\n\nWhenever a border collapsed, a rebellion threatened a throne, or some lord’s war had gone too badly for polished knights and decorated generals to salv"
    },
    {
      "id": "edf9bff3-8660-44ad-9d8e-5a5b4130bec7",
      "slug": "trys-talia-alynquis",
      "name": "Trys’talia Alynquis",
      "race": "Tiefling",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=trys-talia-alynquis",
      "character_url": "https://hall-library.framedfantasy.com/characters/trys-talia-alynquis",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/trys-talia-alynquis.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/trys-talia-alynquis.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778534005449_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/trys-talia-alynquis",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778534005449_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You're the Quiet Strategist who chose the King's Road, because proving something means surviving long enough to be right. What you remembered when everyone else forgot became your compass, your curse, your entire reason to keep moving forward. The weight of being the only witness to an erasure means"
    },
    {
      "id": "a9380bf7-bbd5-4de6-838e-db3a80fd1f63",
      "slug": "tyberos-ragvall",
      "name": "Tyberos Ragvall",
      "race": "Human",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tyberos-ragvall",
      "character_url": "https://hall-library.framedfantasy.com/characters/tyberos-ragvall",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tyberos-ragvall.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tyberos-ragvall.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778008306075_0.png",
      "image_url": "https://hall-library.framedfantasy.com/images/tyberos-ragvall",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778008306075_0.png",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the cleric who rode Old Yost's Cart and chose the bold path when diplomacy would have been safer. The glacier and the barbarians who fell there forged you into something faith alone could never create. Your divinity is stained with the same red that marks your axes, and that contradiction we"
    },
    {
      "id": "5c171d2d-2a12-4f2e-b74a-b81e1d918678",
      "slug": "tylathiel",
      "name": "Tylathiel",
      "race": "Half-Elf",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tylathiel",
      "character_url": "https://hall-library.framedfantasy.com/characters/tylathiel",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tylathiel.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tylathiel.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778855990822_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/tylathiel",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778855990822_0.jpg",
      "crop": {
        "x": 50,
        "y": 9,
        "zoom": 100
      },
      "story_excerpt": "You are the rogue who learned strategy the hard way, choosing patience over impulse with the Iron Matron. The moment that brought you back was watching someone die for your crime, for your hand. That old paladin's dagger sits in your boot because you still believe in the inscription, even when honor"
    },
    {
      "id": "84f7e4a6-8fd9-4b2c-8fd9-7acd448ab0e3",
      "slug": "tyrant",
      "name": "Tyrant",
      "race": "Human",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=tyrant",
      "character_url": "https://hall-library.framedfantasy.com/characters/tyrant",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/tyrant.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/tyrant.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778028733013_jmiakd.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/tyrant",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778028733013_jmiakd_thumb.webp",
      "crop": {
        "x": 50,
        "y": 1,
        "zoom": 100
      },
      "story_excerpt": "Tyrant is the place in the mind where control lives. He is the amalgamation of will, soul, body, and heart that the mind projects as confidence and all its forms. He is order forced on chaos, mastery of mind and body before mastery of the world. From commanding oneself, to commanding others, he is t"
    },
    {
      "id": "6001f5cf-5ca7-425a-9bd4-8899f40f9a52",
      "slug": "ugana-esperath",
      "name": "Ugana Esperath",
      "race": "Human",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ugana-esperath",
      "character_url": "https://hall-library.framedfantasy.com/characters/ugana-esperath",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ugana-esperath.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ugana-esperath.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781497566403_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ugana-esperath",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781497566403_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the Quiet Strategist, the kind of hero who calculates costs before others see danger coming. When you stood beside Aurene against the crystal corruption, you chose alliance over solitude. But helping strangers means carrying their burdens long after they forget your name, and that weight nev"
    },
    {
      "id": "4cd04e6f-282c-48ff-94c2-627a346d37db",
      "slug": "lfhrafnbj-rnrikr",
      "name": "Úlfhrafnbjørnrikr",
      "race": "Nord",
      "character_class": "Berserker Warlord",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=lfhrafnbj-rnrikr",
      "character_url": "https://hall-library.framedfantasy.com/characters/lfhrafnbj-rnrikr",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/lfhrafnbj-rnrikr.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/lfhrafnbj-rnrikr.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792548762008_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/lfhrafnbj-rnrikr",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792548762008_hall.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 142
      },
      "story_excerpt": "Úlfhrafnbjørnrikr is a Nord Berserker Warlord, armed with Twin war hammers, massive square headed crushing machines."
    },
    {
      "id": "5a50c196-d254-4c00-adc6-14b28faa7ddc",
      "slug": "lfric-st-ltungungar",
      "name": "Ülfric Stáltungungar",
      "race": "Nord Half god",
      "character_class": "Rogue Warrior Shaman",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=lfric-st-ltungungar",
      "character_url": "https://hall-library.framedfantasy.com/characters/lfric-st-ltungungar",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/lfric-st-ltungungar.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/lfric-st-ltungungar.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1792687736255_v91flt.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/lfric-st-ltungungar",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1792687736255_v91flt_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": ""
    },
    {
      "id": "5fdfda1a-e3d8-41f0-951a-c9861e83e6e0",
      "slug": "ulrich",
      "name": "Ulrich",
      "race": "Shadar-Kai",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ulrich",
      "character_url": "https://hall-library.framedfantasy.com/characters/ulrich",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ulrich.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ulrich.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778765956476_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ulrich",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778765956476_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who listens before acting, who chose patience with the Iron Matron when others would have forced confrontation. What brought you back was discovering your shadow was never your enemy, only misunderstood. But running means you still flinch at stillness, always keeping one door unlock"
    },
    {
      "id": "9fefe600-7157-420c-9183-fe665fd2bc94",
      "slug": "umbra",
      "name": "Umbra",
      "race": "Elf",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=umbra",
      "character_url": "https://hall-library.framedfantasy.com/characters/umbra",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/umbra.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/umbra.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778064650356_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/umbra",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778064650356_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the strategist who learned patience in the Blackfen, tracing power through swamp and silence. What brought you back was not light, but the refusal to let shadows erase what war stole from you. Every glyph you summon is a question your body remembers but your mind cannot answer yet. They will"
    }
  ]
}
