{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T12:26:31.712Z",
  "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": 1000,
    "total": 1306,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=1025"
  },
  "characters": [
    {
      "id": "38b85515-113f-412e-97ba-f86217e5d9f0",
      "slug": "river-2",
      "name": "River",
      "race": "Tiefling",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=river-2",
      "character_url": "https://hall-library.framedfantasy.com/characters/river-2",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/river-2.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/river-2.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788936411965_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/river-2",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788936411965_0.jpg",
      "crop": {
        "x": 0,
        "y": 4,
        "zoom": 120
      },
      "story_excerpt": "Defining moment:\nI was told every night it was a curse on my family. I was the reason my family could never succeed. I was the curse. My father was given for not holding up his end of a bargain every night. I was told that I’ve never meant anything because I was I was.\n\nMy father stands over me in h"
    },
    {
      "id": "aed6259e-0371-44a8-ad77-b9822ac138ff",
      "slug": "river-tain",
      "name": "River Tain",
      "race": "Human",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=river-tain",
      "character_url": "https://hall-library.framedfantasy.com/characters/river-tain",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/river-tain.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/river-tain.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776567665954_rvz221.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/river-tain",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776567665954_rvz221.webp",
      "crop": {
        "x": 50,
        "y": 4,
        "zoom": 100
      },
      "story_excerpt": "A character I've used as a player but has seen her longest use as an NPC in my own Anglo-Saxon themed setting: The Shaded Isles.\n\nAn anomaly to her surroundings, her short, petite frame stands garbed in what could only be described as the uniform of a maid so splendid in appearance-and yet so unique"
    },
    {
      "id": "c470fbb0-4eaa-45af-9766-2fd88d02d8bf",
      "slug": "riyo-starr",
      "name": "Riyo Starr",
      "race": "Tiefling",
      "character_class": "Hex Blade",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=riyo-starr",
      "character_url": "https://hall-library.framedfantasy.com/characters/riyo-starr",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/riyo-starr.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/riyo-starr.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779939472272_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/riyo-starr",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779939472272_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the Shadow Investigator who learned that truth cuts deeper than any blade. What brought you back was children behind you and undead rising before you, choosing protection over vengeance. You carry the weight of proving yourself while knowing the moment you stopped needing proof was the momen"
    },
    {
      "id": "9852bbd2-92ad-4573-a781-831a12f0f664",
      "slug": "rizz",
      "name": "Rizz",
      "race": "Goblin",
      "character_class": "Rogue/Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rizz",
      "character_url": "https://hall-library.framedfantasy.com/characters/rizz",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rizz.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rizz.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778628827403_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rizz",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778628827403_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a defender who plans three moves ahead, the kind who walked through the Blackfen and learned patience from the mire. What brought you back was a single act of feeding instead of killing, the night you chose hunger over cruelty. The horde called you traitor for it, and some part of you still "
    },
    {
      "id": "bc1a9491-851b-42c4-88cb-55384773c375",
      "slug": "robin-hathorn",
      "name": "Robin Hathorn",
      "race": "A Vigil, a guardian angel type aasimar",
      "character_class": "Rogue and Wizard multiclass",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=robin-hathorn",
      "character_url": "https://hall-library.framedfantasy.com/characters/robin-hathorn",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/robin-hathorn.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/robin-hathorn.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778618435098_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/robin-hathorn",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778618435098_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who rode Old Yost's Cart, not because it was fastest, but because no one else would share that burden. What brought you back was the bond that survived separation, the promise that kept you searching through planes and years. But you carry the weight of being remembered as legend wh"
    },
    {
      "id": "6e6f4bf3-9306-4338-9309-95a2fedb1da4",
      "slug": "rook",
      "name": "Rook",
      "race": "Garou",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rook",
      "character_url": "https://hall-library.framedfantasy.com/characters/rook",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rook.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rook.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779759673990_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rook",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779759673990_0.jpg",
      "crop": {
        "x": 50,
        "y": 4,
        "zoom": 100
      },
      "story_excerpt": "You are a patient strategist, someone who walked through the Blackfen and learned to wait in the dark. The bite that killed your village became the pack that raised you, and that contradiction lives in every choice you make. You carry the weight of being welcomed by the thing that destroyed everythi"
    },
    {
      "id": "7d6ce39d-1fc0-42e7-889d-c5955491cd83",
      "slug": "rook-blackwell",
      "name": "Rook Blackwell",
      "race": "Human",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rook-blackwell",
      "character_url": "https://hall-library.framedfantasy.com/characters/rook-blackwell",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rook-blackwell.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rook-blackwell.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788570173253_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rook-blackwell",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1788570173253_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nAfter days and days of beatings and punishment in the prison, Rook finally had gotten his bearings, his athleticism growing and teaching himself to fight in his cell. One day, the largest inmates had come back to finish the job, he stood up to them. He used his chain and a mix of ma"
    },
    {
      "id": "c8c07348-bd7a-47d7-a48e-3d8589175a69",
      "slug": "rose-birchwood",
      "name": "Rose Birchwood",
      "race": "Elf",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rose-birchwood",
      "character_url": "https://hall-library.framedfantasy.com/characters/rose-birchwood",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rose-birchwood.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rose-birchwood.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777355674730_r07hja.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/rose-birchwood",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777355674730_r07hja_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Rose is a quiet smart woman.  She loves to read and doesn't talk much,  but when she does only kindness leaves her lips.\nHowever, her personal life was a mess.  Rose was fated to be married to a man named Demetrius Dow.  Rose despised this man and could feel that something was off about him.    One "
    },
    {
      "id": "4c70ed97-42a6-4e3f-9c47-3e2b2afd2161",
      "slug": "rosie",
      "name": "Rosie",
      "race": "Satyr",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rosie",
      "character_url": "https://hall-library.framedfantasy.com/characters/rosie",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rosie.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rosie.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779752171343_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rosie",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779752171343_0.jpg",
      "crop": {
        "x": 50,
        "y": 17,
        "zoom": 100
      },
      "story_excerpt": "You're a Bold Hero, the kind who takes the King's Road and refuses to flinch when it matters most. What brought you back was the memory of leaving that golden prison, claiming your body as your own instrument. But every spotlight still feels like scrutiny, every admirer like a hand reaching to own y"
    },
    {
      "id": "52623654-81fa-4650-aa98-afda64b6ff0a",
      "slug": "roy-hathorn",
      "name": "Roy Hathorn",
      "race": "Half elven fey",
      "character_class": "Bard, Fighter, Warlock multiclass",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=roy-hathorn",
      "character_url": "https://hall-library.framedfantasy.com/characters/roy-hathorn",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/roy-hathorn.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/roy-hathorn.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778614929526_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/roy-hathorn",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778614929526_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the kind of hero who walks through the Blackfen because shadows reveal what daylight hides. The girl you never forgot anchored you when the hag's curse would have drowned everything else. Now you collect souls for a fox goddess and serve winter's court, reforged through fairy fire into someth"
    },
    {
      "id": "fc7e7e68-e149-44c0-9f9c-378468e69ba9",
      "slug": "ruby-soho",
      "name": "Ruby Soho",
      "race": "Tiefling",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ruby-soho",
      "character_url": "https://hall-library.framedfantasy.com/characters/ruby-soho",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ruby-soho.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ruby-soho.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777206406251_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ruby-soho",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777206406251_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the cleric who keeps brass knuckles blessed and ready. You step toward danger the way most people step toward daylight, asking direct questions when the room turns sharp because hesitation has never saved anyone you loved. When your goddess pulled you back from the edge, you learned that div"
    },
    {
      "id": "dd7dba29-6f67-46b2-aefc-f930ee588ef0",
      "slug": "rue-2",
      "name": "Rue",
      "race": "Tiefling",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rue-2",
      "character_url": "https://hall-library.framedfantasy.com/characters/rue-2",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rue-2.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rue-2.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1782694965313_wef1i4.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/rue-2",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1782694965313_wef1i4_thumb.webp",
      "crop": {
        "x": 50,
        "y": 48,
        "zoom": 100
      },
      "story_excerpt": "Rue’s parents had no idea what to do with her when she was born. They’d promised their\neldest daughter’s hand in marriage to the prince, and were well-known. Yet when their first child was born, she came out looking like a demon. Rue’s mother wasn’t aware that further back in her ancestry, deals wit"
    },
    {
      "id": "6d071bf8-79ed-468a-8de5-336a6e29dd76",
      "slug": "ruger-wyldog",
      "name": "Ruger Wyldog",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ruger-wyldog",
      "character_url": "https://hall-library.framedfantasy.com/characters/ruger-wyldog",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ruger-wyldog.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ruger-wyldog.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1780876855682_ovzhvn.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/ruger-wyldog",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1780876855682_ovzhvn_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Background: Folk Hero \nHe is the kind of man whose reputation arrives long before he does. Tales paint him as a mercenary, privateer, adventurer, musician, and occasional troublemaker, and somehow every story is true.\n\nStanding broad-shouldered and weathered from years spent on the road, at sea, and"
    },
    {
      "id": "1322a3cb-9990-428d-8c1c-3e1697822496",
      "slug": "rune-albertine",
      "name": "Rune Albertine",
      "race": "Miqo'te",
      "character_class": "Summoner",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rune-albertine",
      "character_url": "https://hall-library.framedfantasy.com/characters/rune-albertine",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rune-albertine.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rune-albertine.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790917493095_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rune-albertine",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790917493095_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe day they lost everything. Everyone. Their family. Monsters attacked her home and killed everyone. Monsters from another land. They escaped to Limsa Lominsa, to study the arcane inspired from what she saw that day, and discover the truth of what happened, and prevent it from ever"
    },
    {
      "id": "d202605b-0e35-4b6c-bc1e-8077f968e5bb",
      "slug": "ruphert",
      "name": "Ruphert",
      "race": "Human",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ruphert",
      "character_url": "https://hall-library.framedfantasy.com/characters/ruphert",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ruphert.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ruphert.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791570119067_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ruphert",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791570119067_hall.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "He keeps looking for the one who never made it back to the fire. The party knows he'll drink the cup no one else will touch, and he'll stand between them and the blade before anyone calls for help."
    },
    {
      "id": "6440d31d-71b5-49f9-af4c-99166501ccb5",
      "slug": "rurik-ironvoice",
      "name": "Rurik Ironvoice",
      "race": "Dwarf",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rurik-ironvoice",
      "character_url": "https://hall-library.framedfantasy.com/characters/rurik-ironvoice",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rurik-ironvoice.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rurik-ironvoice.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781531094521_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/rurik-ironvoice",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781531094521_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the kind of hero who talks their way through iron doors, who knows the Silver Tongue opens what force never could. What brought you back was the night you chose loyalty over orders, refused to let duty mean abandonment. Now you carry the weight of knowing some journeys end before you reach t"
    },
    {
      "id": "576f7464-c066-4cbf-bb9e-8d2c97d4ec09",
      "slug": "ruz",
      "name": "Ruz",
      "race": "Dragonborn",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ruz",
      "character_url": "https://hall-library.framedfantasy.com/characters/ruz",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ruz.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ruz.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1790959881073_0kac2h.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/ruz",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1790959881073_0kac2h_thumb.webp",
      "crop": {
        "x": 50,
        "y": 19,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nAs a street urchin, being bold enough to steal a book from a rich person in a coach - turned out to be a spellbook... and he learned\n\nArchetype: You're the The Earned Audacity. He took what was never offered and turned it into power nobody could take back.\n\nPersonality: Already paid"
    },
    {
      "id": "b362dbcf-9526-467b-939b-cac3856b43f6",
      "slug": "ryfft",
      "name": "Ryfft",
      "race": "Human",
      "character_class": "Rogue Duelist",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ryfft",
      "character_url": "https://hall-library.framedfantasy.com/characters/ryfft",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ryfft.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ryfft.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792477740027_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ryfft",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792477740027_hall.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Ryfft is a Human Rogue Duelist, armed with Twin daggers."
    },
    {
      "id": "bf10aab4-c97b-4582-b93e-ee6f2fc87dd5",
      "slug": "ryker",
      "name": "Ryker",
      "race": "Tiefling",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ryker",
      "character_url": "https://hall-library.framedfantasy.com/characters/ryker",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ryker.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ryker.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781225658712_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ryker",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781225658712_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the hero who talks first and pays later, the one who chose The Silver Tongue when others reached for steel. What brought you back was a father's rejection dressed as expectation, the cold math of worthiness measured in coin. You carry the weight of buying belonging at tables where others simp"
    },
    {
      "id": "d13ecd08-30a5-4724-8133-17e155225c4f",
      "slug": "rylandir",
      "name": "Rylandir",
      "race": "Elf",
      "character_class": "Ranger",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rylandir",
      "character_url": "https://hall-library.framedfantasy.com/characters/rylandir",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rylandir.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rylandir.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777059443922_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/rylandir",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777059443922_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the ranger who learned too late that survival and honor are not the same currency. The Blackfen taught you patience, and the Iron Matron saw your calculations before you made them, because strategy is just another word for living with consequences before they arrive. What brought you back wa"
    },
    {
      "id": "327de8b3-9011-4966-aaab-0c6f5d4cf1d7",
      "slug": "rynsareth-mourne",
      "name": "Rynsareth Mourne",
      "race": "Elf",
      "character_class": "Dark Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=rynsareth-mourne",
      "character_url": "https://hall-library.framedfantasy.com/characters/rynsareth-mourne",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/rynsareth-mourne.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/rynsareth-mourne.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778284320807_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/rynsareth-mourne",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778284320807_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the Bold Hero who refused to let ancient lies endure, even when silence would have saved you everything. The order raised you to guard their legacy, but you chose truth over belonging when the cost became too clear. Now you stand in the gap between mercy and judgment, knowing every monster y"
    },
    {
      "id": "1873530d-90b3-45d6-be00-92285de3ea2f",
      "slug": "ryo",
      "name": "Ryo",
      "race": "Elf",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ryo",
      "character_url": "https://hall-library.framedfantasy.com/characters/ryo",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ryo.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ryo.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778163111058_0.png",
      "image_url": "https://hall-library.framedfantasy.com/images/ryo",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778163111058_0.png",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the kind of bard who takes the Blackfen route and asks questions in the dark. What brought you back wasn't hope but the weight of a bone flute and a debt you can never repay. You give everything to strangers because you couldn't give your twin another breath. Every song you play is both medic"
    },
    {
      "id": "b8bf5c23-ace3-4f9f-b802-8db5dbb03fdd",
      "slug": "ryujin-2",
      "name": "Ryujin",
      "race": "Demigod",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ryujin-2",
      "character_url": "https://hall-library.framedfantasy.com/characters/ryujin-2",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ryujin-2.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ryujin-2.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779928286398_2.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/ryujin-2",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779928286398_2.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the hero who talks their way through locked doors and iron hearts, wielding The Silver Tongue when blades would fail. What carried you back was the memory of poison on her neck, the dart that stole your mother while the sea god's gift waited in your hands. You bear your father's trident knowi"
    },
    {
      "id": "0f51a212-d3d4-41a6-8f50-8ee3c414801d",
      "slug": "ryvehn-aratea",
      "name": "Ryvehn Aratea",
      "race": "Shadar-Kai",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ryvehn-aratea",
      "character_url": "https://hall-library.framedfantasy.com/characters/ryvehn-aratea",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ryvehn-aratea.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ryvehn-aratea.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780071973319_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/ryvehn-aratea",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780071973319_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a Quiet Strategist who walked through the Blackfen because subtlety matters more than spectacle. The memory of your father riding away, the arranged marriage to the enemy, the portal you tore open in rage, that's what carried you back. But you can't return home, and every scissor blade that "
    },
    {
      "id": "0f41f87b-c530-4afe-b9c2-9c2750dc2576",
      "slug": "sable",
      "name": "Sable",
      "race": "Changeling",
      "character_class": "Rogue/Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=sable",
      "character_url": "https://hall-library.framedfantasy.com/characters/sable",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/sable.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/sable.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781822457191_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/sable",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781822457191_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the Quiet Strategist who never moves without knowing three exits and two contingencies. What brought you back was blood seeping through floorboards, the moment survival carved itself into instinct. Now Hollow walks beside you, born from childhood terror made useful, a guardian you cannot unm"
    }
  ]
}
