{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T00:25:24.551Z",
  "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": 500,
    "total": 1309,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=525"
  },
  "characters": [
    {
      "id": "f2f40089-b1f5-4f34-9f07-3f58f7517260",
      "slug": "fyn-the-adventurer",
      "name": "Fyn the Adventurer",
      "race": "Fairy",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=fyn-the-adventurer",
      "character_url": "https://hall-library.framedfantasy.com/characters/fyn-the-adventurer",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/fyn-the-adventurer.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/fyn-the-adventurer.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779309007628_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/fyn-the-adventurer",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779309007628_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a survivor who moves through the Blackfen and solves problems like the Quiet Strategist, never announcing your presence until the game is already won. The raft that carried you alone across cold water taught you that safety is temporary and trust is a luxury you cannot afford. Your pact offe"
    },
    {
      "id": "e6b911ae-e267-48c0-af66-a0fc260b067b",
      "slug": "gaius-rosven",
      "name": "Gaius Rosven",
      "race": "Human",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gaius-rosven",
      "character_url": "https://hall-library.framedfantasy.com/characters/gaius-rosven",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gaius-rosven.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gaius-rosven.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783142108513_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gaius-rosven",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783142108513_0.jpg",
      "crop": {
        "x": 50,
        "y": 37,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nSeeing my siblings laughing around the table in our bakery. Laughing and smiling while their parents bodies are in the room next to them. Dead by my hands, but they knew I had a reason, and they were OK with it.\n\nArchetype: You're the The Unrepentant Guardian. He walks the shadows n"
    },
    {
      "id": "257d3a9f-b417-404f-bc19-d557455ab5c0",
      "slug": "galthuool",
      "name": "Galthuool",
      "race": "deepfolk",
      "character_class": "eldridge knight / vein sculpter wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=galthuool",
      "character_url": "https://hall-library.framedfantasy.com/characters/galthuool",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/galthuool.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/galthuool.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777699901745_ekc6xr.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/galthuool",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777699901745_ekc6xr_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Galthuool is from a small coastal nation. her family is a notable and hated noble knights family, as well as the closest thing the nation has to a royal family. the knights order is called the knights of the deep tomb. they have a deep magical lineage linked to deep folk, deep mermaids and a vampiri"
    },
    {
      "id": "c4767b56-ab62-4670-99d2-8ebd9e3f2cac",
      "slug": "gantor",
      "name": "Gantor",
      "race": "Dragonborn",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gantor",
      "character_url": "https://hall-library.framedfantasy.com/characters/gantor",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gantor.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gantor.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791166069357_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gantor",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791166069357_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe belt with a family seal was the only thing I left home with, I left in shame where my anger got the better of me.\n\nArchetype: You're the The Carried Reckoning. He knows what anger costs, and he still keeps the bill where he can see it.\n\nPersonality: Already paid the price"
    },
    {
      "id": "904c6189-79d9-436d-9072-b4effca197ac",
      "slug": "garam",
      "name": "Garam",
      "race": "Dhampir",
      "character_class": "Scythe hunter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garam",
      "character_url": "https://hall-library.framedfantasy.com/characters/garam",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garam.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garam.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781802113431_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/garam",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781802113431_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a hunter who learned patience in the Blackfen, waiting for the perfect moment to strike. The memory of blood-soaked soil and that relentless melody forged you into something that refuses to forget. But every name you seek is another weight added to the scythe you carry, another echo you can'"
    },
    {
      "id": "669c21b7-7d73-41af-8bac-23424fb4632f",
      "slug": "garfield-novak",
      "name": "Garfield Novak",
      "race": "Human",
      "character_class": "Merchant",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garfield-novak",
      "character_url": "https://hall-library.framedfantasy.com/characters/garfield-novak",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garfield-novak.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garfield-novak.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1781232503364_bobsad.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/garfield-novak",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1781232503364_bobsad_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Garfield Novak, known to most as Gar, was a prosperous merchant who ran the Champion's Inn and Tavern on the island of Elysium. Alongside his twin sister Glin, Gar had fled their village in southern Leones after they lost their family in a raid from various tribes of the Desert of Scorn. Gar was an "
    },
    {
      "id": "0290d8ac-fc3c-40db-99fb-9ede57d4cb9e",
      "slug": "garnet",
      "name": "Garnet",
      "race": "Human",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garnet",
      "character_url": "https://hall-library.framedfantasy.com/characters/garnet",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garnet.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garnet.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776888818999_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/garnet",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776888818999_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the sorcerer who never asked for the power but claimed it when survival demanded an answer. You rode Old Yost's Cart because the mundane road kept you grounded before the magic tried to consume you, and you faced the Iron Matron as The Bold Hero because temperament wins over caution when fla"
    },
    {
      "id": "5445a8f3-1180-41ae-8be3-fc60c6496b69",
      "slug": "garran-vale",
      "name": "Garran Vale",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garran-vale",
      "character_url": "https://hall-library.framedfantasy.com/characters/garran-vale",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garran-vale.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garran-vale.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1774063929521_IMG_1457.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/garran-vale",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1774063929521_IMG_1457.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Raised from young as a fighter in a special brigade called the Corpse Corp, he’s resilient and tough, the Corp wasn’t who they sent in to just win, they sent them in because they were trained to fight to the very end, Garran survived and eventually the corps was disbanded, now he’s part of a party w"
    },
    {
      "id": "864dd64b-a0c1-47c9-96b4-6682972d4084",
      "slug": "garridan-the-pale-mane",
      "name": "Garridan the Pale-Mane",
      "race": "Leonin/Dhampir",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garridan-the-pale-mane",
      "character_url": "https://hall-library.framedfantasy.com/characters/garridan-the-pale-mane",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garridan-the-pale-mane.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garridan-the-pale-mane.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791517263453_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/garridan-the-pale-mane",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791517263453_hall.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Garridan the Pale-Mane moves through the world with a lance in hand and a star-shaped pendant with a crimson stone within it, solving what others cannot see until it's already done. He travels alone, but the table remembers him as the one who changes the fight without raising his voice."
    },
    {
      "id": "c84a016b-4c6c-430e-a59d-9c2a1c445de7",
      "slug": "garuk-stormprow",
      "name": "Garuk Stormprow",
      "race": "Orc",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=garuk-stormprow",
      "character_url": "https://hall-library.framedfantasy.com/characters/garuk-stormprow",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/garuk-stormprow.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/garuk-stormprow.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786482675727_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/garuk-stormprow",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786482675727_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe night the creature sank his ship, the sound of his friends screaming. He'd be dead too if he hadn't been knocked overboard and drifted to a distant shore.\n\nArchetype: You're the The Drowned Ledger. He counts the names on steel so the living never become another line.\n\nPersonalit"
    },
    {
      "id": "e4dd7b4e-d142-4686-ba32-c4a9657a66cd",
      "slug": "gavin-stormbringer",
      "name": "Gavin Stormbringer",
      "race": "Human",
      "character_class": "Kensei/Rogue Multiclass",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gavin-stormbringer",
      "character_url": "https://hall-library.framedfantasy.com/characters/gavin-stormbringer",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gavin-stormbringer.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gavin-stormbringer.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779597460257_1.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gavin-stormbringer",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779597460257_1.jpg",
      "crop": {
        "x": 50,
        "y": 17,
        "zoom": 100
      },
      "story_excerpt": "\"In the eye of the hurricane, precision is the only salvation.\"\n\nYou are the Shadow Investigator, the hero who sees the angles others miss before drawing steel. What brought you back was the memory of a master's blood in the rain, a cost paid for your fury. Now you carry that storm as a surname and "
    },
    {
      "id": "c90d5c81-c2dc-4372-81f7-1bf6a2a368d6",
      "slug": "gehrman-sparrow",
      "name": "Gehrman Sparrow",
      "race": "Tiefling",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gehrman-sparrow",
      "character_url": "https://hall-library.framedfantasy.com/characters/gehrman-sparrow",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gehrman-sparrow.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gehrman-sparrow.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783263795699_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gehrman-sparrow",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783263795699_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nI was out hunting, heading back home. once I was back home, I noticed the door open when I got hit in the back of the head & knocked unconscious. I woke up, tied & looking at mercenaries torturing & eventually killing my wife & son after days of pain. they eventually left me for dea"
    },
    {
      "id": "82a3c086-8096-4afb-8ee2-b0e8353df88a",
      "slug": "genesis",
      "name": "Genesis",
      "race": "Warforged",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=genesis",
      "character_url": "https://hall-library.framedfantasy.com/characters/genesis",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/genesis.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/genesis.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783096779018_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/genesis",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783096779018_0.jpg",
      "crop": {
        "x": 50,
        "y": 2,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe Last War ended, and with no munitions needed to create daily, Genesis was left without purpose.    Installed reached out to him to find the potential and beauty in damaged metal and he finds wonder in creation of new improved things.\n\n\nArchetype: You're the The Anvil's Witness. "
    },
    {
      "id": "f78ad5bf-2ca0-4819-bfaa-47ca5f4a9dcc",
      "slug": "genevieve",
      "name": "Genevieve",
      "race": "Human",
      "character_class": "Monk Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=genevieve",
      "character_url": "https://hall-library.framedfantasy.com/characters/genevieve",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/genevieve.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/genevieve.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781142379988_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/genevieve",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781142379988_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the Bold Hero who doesn't wait for permission, who walked into danger because someone had to. What brought you back wasn't glory but that first night of safety, snacks scattered between friends who made the world feel survivable. You laugh at the wrong moments because you've seen what happens"
    },
    {
      "id": "f9f64d89-85f0-40fe-b5c8-e80e83afa9de",
      "slug": "geralt",
      "name": "Geralt",
      "race": "Warforged",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=geralt",
      "character_url": "https://hall-library.framedfantasy.com/characters/geralt",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/geralt.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/geralt.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778923390393_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/geralt",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778923390393_0.jpg",
      "crop": {
        "x": 50,
        "y": 16,
        "zoom": 100
      },
      "story_excerpt": "You are a defender who treats violence as a last resort, the Quiet Strategist who measures every angle before steel meets steel. What brought you back was the horror of discovering your brothers were prisoners too, souls trapped in metal by a master who dealt in suffering. You carry the scars of cut"
    },
    {
      "id": "50b2cea8-73df-441b-b4b4-d0977e059aca",
      "slug": "geralt-the-brave",
      "name": "Geralt, The Brave",
      "race": "Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=geralt-the-brave",
      "character_url": "https://hall-library.framedfantasy.com/characters/geralt-the-brave",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/geralt-the-brave.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/geralt-the-brave.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777460133260_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/geralt-the-brave",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777460133260_0.jpeg",
      "crop": {
        "x": 50,
        "y": 11,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who walks the King's Road with bold intention, each step a declaration against second place. What you remembered in the darkness was mud on your face and green eyes watching, the moment you swore to become worthy. But proving yourself means you never quite arrive, never quite good e"
    },
    {
      "id": "033bb809-692c-4a3c-bc1d-7d03a6658aa9",
      "slug": "gideon-of-the-high-noone-sun",
      "name": "Gideon of the high noone sun",
      "race": "Aasimar",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gideon-of-the-high-noone-sun",
      "character_url": "https://hall-library.framedfantasy.com/characters/gideon-of-the-high-noone-sun",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gideon-of-the-high-noone-sun.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gideon-of-the-high-noone-sun.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781193718398_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gideon-of-the-high-noone-sun",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781193718398_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the kind of hero who plans three moves ahead, the Quiet Strategist who waits for certainty. What brought you back was the sun god's promise, the weight of a celestial host waiting on your worthiness. But proving yourself means never quite arriving, never quite enough until the divine nods in"
    },
    {
      "id": "06d62cbb-86f8-4e63-acaf-a11c9d587883",
      "slug": "gleamorine-flixakyris",
      "name": "Gleamorine Flixakyris",
      "race": "Fairy",
      "character_class": "Rogue-Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gleamorine-flixakyris",
      "character_url": "https://hall-library.framedfantasy.com/characters/gleamorine-flixakyris",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gleamorine-flixakyris.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gleamorine-flixakyris.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780591546329_1.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gleamorine-flixakyris",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780591546329_1.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a hero who walks with silver words ready and a belt of daggers waiting, choosing persuasion until the moment it fails. What brought you back was rage at the one who wore his skin, the refusal to let torturers win by breaking you. But you carry names still unfound, and the weight of hunting w"
    },
    {
      "id": "e889a96c-a3ba-490d-b949-603adce8432c",
      "slug": "gloria-blightstone",
      "name": "Gloria Blightstone",
      "race": "Hobgoblin",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gloria-blightstone",
      "character_url": "https://hall-library.framedfantasy.com/characters/gloria-blightstone",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gloria-blightstone.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gloria-blightstone.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778046644493_ddg742.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/gloria-blightstone",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778046644493_ddg742_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Gloria retired from adventuring after the death of Talon her husband and leader of her party. She was with child and knew continuing would risk loosing the last part of Talon. She opened an Inn/tavern in the city of New Embirth. \n\nShe raised her son Spike to have a strong sense of justice and traine"
    },
    {
      "id": "742598de-f286-405b-9add-6980c44211ff",
      "slug": "graethor",
      "name": "Graethor",
      "race": "Harengon",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=graethor",
      "character_url": "https://hall-library.framedfantasy.com/characters/graethor",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/graethor.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/graethor.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781362091622_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/graethor",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781362091622_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a protector who learned patience from Old Yost's Cart and precision from the Shadow Investigator's methods. What brought you back was the memory of standing between your siblings and a city's cruelty, fists raised. But vigilance without rest becomes its own kind of exile, and you know loneli"
    },
    {
      "id": "2ef95747-a3bf-4617-8e84-d252bc17b047",
      "slug": "graffule-tunal",
      "name": "Graffule Tunal",
      "race": "Lizard Folk",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=graffule-tunal",
      "character_url": "https://hall-library.framedfantasy.com/characters/graffule-tunal",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/graffule-tunal.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/graffule-tunal.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1782688373492_w2beuy.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/graffule-tunal",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1782688373492_w2beuy_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Graffule went from nobody to a hero in an instant, he claims he single handlely saved a kings daughter and many other claims, but in reality he was backed by his party the entire time and they all saved the day together, he's a very outgoing and unfiltered jokester, even if he is audience of royalty"
    },
    {
      "id": "9aea62e5-b8b5-4dd1-a865-1130bbd215a9",
      "slug": "gr-m",
      "name": "Gräm",
      "race": "Mountain Dwarf",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gr-m",
      "character_url": "https://hall-library.framedfantasy.com/characters/gr-m",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gr-m.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gr-m.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1781656162636_2k5o8q.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/gr-m",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1781656162636_2k5o8q_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "He was the eldest son of his family. His childhood was relatively peaceful with his parents, brothers, and sisters. He did his share of the household chores and play with his younger siblings when he wasn't helping his dad crafting armor or weapons. One day, his father presented him a great axe, spe"
    },
    {
      "id": "970a5fe8-788a-4bbe-8e82-4b6b34e5dbe4",
      "slug": "grampa-shroud",
      "name": "Grampa Shroud",
      "race": "Dwarf",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grampa-shroud",
      "character_url": "https://hall-library.framedfantasy.com/characters/grampa-shroud",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grampa-shroud.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grampa-shroud.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776802738334_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grampa-shroud",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776802738334_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the cleric who leads from the front because subtlety died with the people you failed to save. Through the Blackfen and straight at the Iron Matron, you chose the path that puts your body between the threat and everyone behind you. The voice of Sharindilar called you away from Melowyny, and w"
    },
    {
      "id": "3e76f131-be8f-4b45-b003-8a67dbfd638e",
      "slug": "gray",
      "name": "Gray",
      "race": "Half-Elf",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gray",
      "character_url": "https://hall-library.framedfantasy.com/characters/gray",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gray.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gray.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779944584689_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/gray",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779944584689_0.jpeg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You're the kind of hero who rides Old Yost's Cart and plays The Quiet Strategist because hope demands calculation. What brought you back wasn't rage or vengeance, but the weight of half a soul trapped in metal. You carry the secret fear that your companions are obstacles between you and resurrection"
    },
    {
      "id": "fa1e86b9-522a-4e10-ab73-1f34a199dcce",
      "slug": "grenvindr",
      "name": "Grenvindr",
      "race": "Goliath",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grenvindr",
      "character_url": "https://hall-library.framedfantasy.com/characters/grenvindr",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grenvindr.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grenvindr.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776994648499_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grenvindr",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776994648499_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the barbarian who carries protection, not conquest. You rode Old Yost's cart because helping is just what hands are for, and you met the Iron Matron the only way you know how: straight through the front door, trusting she'd see you meant well. The night your giant blood woke, you didn't reac"
    }
  ]
}
