{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T04:41:27.485Z",
  "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": 675,
    "total": 1309,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=700"
  },
  "characters": [
    {
      "id": "75a5fc47-131b-43cd-b3b2-f10c123cbd31",
      "slug": "kitarra-am-iscara",
      "name": "Kitarra Am'iscara",
      "race": "Half-Elf",
      "character_class": "Rogue & Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kitarra-am-iscara",
      "character_url": "https://hall-library.framedfantasy.com/characters/kitarra-am-iscara",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kitarra-am-iscara.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kitarra-am-iscara.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791308715733_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kitarra-am-iscara",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791308715733_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThey left their back open, once when they were young and on patrol with their Guild mates. The Nightborn got her right in the back with the poisoned kukri as the town burned around them and she never saw it coming; she nearly died that night, and swore to never leave her back open a"
    },
    {
      "id": "540c6222-de50-4ed4-936c-331eef48efa0",
      "slug": "kitsune-kyuu",
      "name": "Kitsune Kyuu",
      "race": "Winged volpine",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kitsune-kyuu",
      "character_url": "https://hall-library.framedfantasy.com/characters/kitsune-kyuu",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kitsune-kyuu.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kitsune-kyuu.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1774517001621_ztjod0.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kitsune-kyuu",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1774517001621_ztjod0.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Kitsune kyuu is 532 but her past haunts her to this day and inspired her to become a traveling private investigator who specializes in child and animal abuse cases alongside poaching cases and the occasional drug bust....when she was six kitsune and her skulk(group of foxes) were attacked by a very "
    },
    {
      "id": "6eddd7ee-42cf-4628-ab5a-cea945a28b99",
      "slug": "kitty-cat",
      "name": "Kitty Cat",
      "race": "Tabaxi",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": true,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kitty-cat",
      "character_url": "https://hall-library.framedfantasy.com/characters/kitty-cat",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kitty-cat.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kitty-cat.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783971951965_lzm7l8.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kitty-cat",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1783971951965_lzm7l8_thumb.webp",
      "crop": {
        "x": 50,
        "y": 46,
        "zoom": 100
      },
      "story_excerpt": "Prince Menes XIII lived a life of luxury in the town of Ulthar, a dream realm that exists parallel with our own. One night, he heard the whispers of the Black Goat of the Woods, Mother of a thousand young. She beckoned with a request and promised power in exchange. An unseen man came to guide the en"
    },
    {
      "id": "2dfa6939-d961-49b8-9faf-d22f4afbbfc7",
      "slug": "knell",
      "name": "Knell",
      "race": "Goliath",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=knell",
      "character_url": "https://hall-library.framedfantasy.com/characters/knell",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/knell.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/knell.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792722385869_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/knell",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792722385869_hall.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Knell is a Goliath Warlock, armed with Scythe."
    },
    {
      "id": "dfacd550-ab1f-425a-93da-c611b72d43a4",
      "slug": "knight-solarus-samael-pendry-dawntreader",
      "name": "Knight-Solarus Samael Pendry, \"Dawntreader\"",
      "race": "Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=knight-solarus-samael-pendry-dawntreader",
      "character_url": "https://hall-library.framedfantasy.com/characters/knight-solarus-samael-pendry-dawntreader",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/knight-solarus-samael-pendry-dawntreader.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/knight-solarus-samael-pendry-dawntreader.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778721126365_gcb1lx.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/knight-solarus-samael-pendry-dawntreader",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778721126365_gcb1lx_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Samael Pendry was born the 3rd son of a minor noble family on the borderlands of a kingdom who had long since left it to ruin. His father was a kind man, though thoroughly unsuited for the role he was born into, and so it was that Samael's mother did the vast majority of running the families meager "
    },
    {
      "id": "48fb4200-851e-495c-9ff5-7a8b373a28c5",
      "slug": "kooka",
      "name": "Kooka",
      "race": "Tortle",
      "character_class": "Druid",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kooka",
      "character_url": "https://hall-library.framedfantasy.com/characters/kooka",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kooka.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kooka.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778588197284_19egk6.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kooka",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778588197284_19egk6_thumb.webp",
      "crop": {
        "x": 50,
        "y": 100,
        "zoom": 100
      },
      "story_excerpt": "Just starting out on her first adventure after leaving her clan from the Twilight Forest"
    },
    {
      "id": "04c13200-d4cc-4f91-9311-96e6639f79b0",
      "slug": "kora-treaty-ravensglen",
      "name": "Kora Treaty Ravensglen",
      "race": "Human",
      "character_class": "Ranger",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kora-treaty-ravensglen",
      "character_url": "https://hall-library.framedfantasy.com/characters/kora-treaty-ravensglen",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kora-treaty-ravensglen.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kora-treaty-ravensglen.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781738879682_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kora-treaty-ravensglen",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781738879682_0.jpg",
      "crop": {
        "x": 50,
        "y": 8,
        "zoom": 100
      },
      "story_excerpt": "You are a survivor who chose the Blackfen and learned patience wins what boldness cannot. What brought you back was remembering his sacrifice, the village that lived, the faces worth protecting. But survival means outlasting those you love, and every dawn reminds you of names no longer spoken. You w"
    },
    {
      "id": "3fd7a4e1-3ce0-42e6-ab80-7c3fcb4514e7",
      "slug": "korelon-velaris",
      "name": "Korelon Velaris",
      "race": "Elf",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=korelon-velaris",
      "character_url": "https://hall-library.framedfantasy.com/characters/korelon-velaris",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/korelon-velaris.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/korelon-velaris.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779504359692_0.jfif",
      "image_url": "https://hall-library.framedfantasy.com/images/korelon-velaris",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779504359692_0.jfif",
      "crop": {
        "x": 50,
        "y": 7,
        "zoom": 100
      },
      "story_excerpt": "You are the warlock who talks first and strikes only when words fail, choosing the Silver Tongue over easier violence. What brought you back was the promise made to a girl you saved, the family you built from survivors who had nowhere else. But pacts demand payment, and every stranger you help is an"
    },
    {
      "id": "bfdf140f-a050-42da-95d2-8a957d19267e",
      "slug": "kovu-the-chieftain",
      "name": "Kovu the Chieftain",
      "race": "Leonin",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kovu-the-chieftain",
      "character_url": "https://hall-library.framedfantasy.com/characters/kovu-the-chieftain",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kovu-the-chieftain.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kovu-the-chieftain.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778891649246_nama5y.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kovu-the-chieftain",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778891649246_nama5y_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Kovu started out as an exile from his leonin clan, accused of murdering his former chieftain. He walked a path of redemption and closure. Throughout his travels he returned to his clan as a hero and redeemed himself in the eyes of his clan based off his deeds."
    },
    {
      "id": "90eadb30-d12b-4d06-92dd-9d52be7ec1f4",
      "slug": "krahdov-skathedrak",
      "name": "Krahdov Skathedrak",
      "race": "Dragonborn",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=krahdov-skathedrak",
      "character_url": "https://hall-library.framedfantasy.com/characters/krahdov-skathedrak",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/krahdov-skathedrak.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/krahdov-skathedrak.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778893039093_t2mc9j.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/krahdov-skathedrak",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778893039093_t2mc9j_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Krahdov is of the Skathedrak clan. His village is nestled in the mountains of  Djerad Thymar on Faerun. He served as a hunter for his village, as he always preferred to be in the mountains and forests. \n\nHis mate and child both died in a direwolf attack. After a time of wrestling with his grief and "
    },
    {
      "id": "08ba6bda-cb37-4dfd-8801-d765f7a66e92",
      "slug": "kraven-savage",
      "name": "Kraven Savage",
      "race": "Human",
      "character_class": "Ranger Gloom Stalker/Rogue Assassin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kraven-savage",
      "character_url": "https://hall-library.framedfantasy.com/characters/kraven-savage",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kraven-savage.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kraven-savage.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1780092501065_r5g7t8.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kraven-savage",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1780092501065_r5g7t8_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "The bastard son of Berrun Ghastkill, from a young age he helped his mother and younger sister survive by hunting in the outskirts of Nashkel. Over time he became a skilled and well-known hunter in the Cloudy Peaks. He used to take the results of his hunts to Athkatla, when he and other adventurers e"
    },
    {
      "id": "f81d0d5a-fe5d-4444-99ef-2292e8c4a354",
      "slug": "kravinos",
      "name": "Kravinos",
      "race": "Dark Ethereal",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kravinos",
      "character_url": "https://hall-library.framedfantasy.com/characters/kravinos",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kravinos.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kravinos.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792339639271_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kravinos",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792339639271_0.jpg",
      "crop": {
        "x": 50,
        "y": 30,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nWhat the fire took was just more than the dwelling of a family a life as it eerily burned across the floor and up the walls it danced with life carving out runes sigils and circles than all came and surrounded Kravinos he began screaming loud and yelling dark primal screams of curse"
    },
    {
      "id": "a716da94-dc63-4c93-a197-9fdf16701e95",
      "slug": "krisaga-silversgleaming",
      "name": "Krisaga Silversgleaming",
      "race": "Half-Elf",
      "character_class": "Rogue/Wizard/Artificer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=krisaga-silversgleaming",
      "character_url": "https://hall-library.framedfantasy.com/characters/krisaga-silversgleaming",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/krisaga-silversgleaming.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/krisaga-silversgleaming.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778275383203_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/krisaga-silversgleaming",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778275383203_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who survived by moving through the Blackfen, learning patience where others would rush to answers. What brought you back was remembering your body through borrowed hands, relearning yourself alongside Thrankor and Wu in the wasteland dust. You carry the exhaustion of rebuilding a se"
    },
    {
      "id": "8cac379f-8265-4bc4-8c89-a98d44e26c03",
      "slug": "krom",
      "name": "Krom",
      "race": "Aasimar",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=krom",
      "character_url": "https://hall-library.framedfantasy.com/characters/krom",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/krom.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/krom.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777353907307_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/krom",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777353907307_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the paladin who talks first and draws steel last, choosing Old Yost's Cart and the Silver Tongue over shortcuts. What brought you back was dawn after the longest night, victory soaked in the blood of your brothers. You count every face that didn't see morning, and that arithmetic never stops"
    },
    {
      "id": "15c776dc-5da5-49db-9e37-002142278cfb",
      "slug": "kros",
      "name": "Kros",
      "race": "Winged Teifling",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kros",
      "character_url": "https://hall-library.framedfantasy.com/characters/kros",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kros.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kros.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791759700870_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kros",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791759700870_0.jpg",
      "crop": {
        "x": 0,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nIt is about Kros’ lyre. When his mother gave him the lyre…it was the only thing left of his parents when they abandoned him.After they abandoned him he turned to survival sex as a child and anything else that could keep him alive on the streets, he picked up the ukulele and flute al"
    },
    {
      "id": "15822897-7b41-4df0-af67-b0d7c611151f",
      "slug": "kryptkeeper",
      "name": "KryptKeeper",
      "race": "Human",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kryptkeeper",
      "character_url": "https://hall-library.framedfantasy.com/characters/kryptkeeper",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kryptkeeper.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kryptkeeper.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792025298419_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kryptkeeper",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1792025298419_hall.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "KryptKeeper is a Human Sorcerer, armed with Fire from the hands."
    },
    {
      "id": "756dd170-80bf-4f9d-b035-8192a6687398",
      "slug": "krysinaya",
      "name": "Krysinaya",
      "race": "Goblin",
      "character_class": "Artificer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=krysinaya",
      "character_url": "https://hall-library.framedfantasy.com/characters/krysinaya",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/krysinaya.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/krysinaya.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777055636371_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/krysinaya",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777055636371_0.jpg",
      "crop": {
        "x": 50,
        "y": 22,
        "zoom": 100
      },
      "story_excerpt": "You are the artificer who turns loss into legacy, who learns the old ways not to preserve them but to make them matter again. When you talked your way past the Iron Matron instead of fighting, you proved that cleverness survives longer than bravado. The journal you pulled from the wreckage became yo"
    },
    {
      "id": "d277e101-e17c-4285-884b-d0bc0265fc64",
      "slug": "kurohwan-heukage",
      "name": "Kurohwan Heukage",
      "race": "Elf",
      "character_class": "Shadow Assassin God",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kurohwan-heukage",
      "character_url": "https://hall-library.framedfantasy.com/characters/kurohwan-heukage",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kurohwan-heukage.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kurohwan-heukage.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791757981924_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kurohwan-heukage",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791757981924_hall.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Kurohwan Heukage moves through the world with power that raises more questions than it answers. Entity stares, waits, and strikes only when the moment belongs to no one else."
    },
    {
      "id": "8b62f9be-cd41-432e-b363-b466cd101364",
      "slug": "kuroyami-mn-yama",
      "name": "Kuroyami Mn'yama",
      "race": "Shadar-kai ",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kuroyami-mn-yama",
      "character_url": "https://hall-library.framedfantasy.com/characters/kuroyami-mn-yama",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kuroyami-mn-yama.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kuroyami-mn-yama.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777270447795_1.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kuroyami-mn-yama",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777270447795_1.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the strategist who walks the King's Road because order matters when chaos already claimed your past. The Raven Queen's intervention didn't save you from darkness; it gave your suffering a name and a purpose. Every quiet victory carries the weight of knowing you exist because someone else dec"
    },
    {
      "id": "fcafdbdb-8393-419a-99e1-88e6343db8c5",
      "slug": "kya",
      "name": "Kya",
      "race": "Halfling",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kya",
      "character_url": "https://hall-library.framedfantasy.com/characters/kya",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kya.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kya.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777370850891_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kya",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777370850891_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the hero who took Old Yost's cart and met the Iron Matron as The Bold Hero should. What brought you back wasn't innocence but the memory of a king and queen falling before you. The twig in your hair still hums with fey magic, but your hands remember infernal blood. They'll tell stories about "
    },
    {
      "id": "83608837-c600-434f-8acd-56db831b4982",
      "slug": "kyledor",
      "name": "Kyledor",
      "race": "Human",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kyledor",
      "character_url": "https://hall-library.framedfantasy.com/characters/kyledor",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kyledor.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kyledor.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779558714544_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/kyledor",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779558714544_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the protector who learned patience from riding Old Yost's Cart and thinking three moves ahead. The infant pulled from ash became the warrior who remembers every village that burned. You carry ghosts that never leave, debts to the dead that compound with every stranger you save. Tables will r"
    },
    {
      "id": "0a3268ac-3d9f-4c73-a21d-130fd0fb5b8e",
      "slug": "kynrath",
      "name": "Kynrath",
      "race": "Tiefling",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kynrath",
      "character_url": "https://hall-library.framedfantasy.com/characters/kynrath",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kynrath.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kynrath.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1791861897701_ugw1uv.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kynrath",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1791861897701_ugw1uv_thumb.webp",
      "crop": {
        "x": 50,
        "y": 13,
        "zoom": 100
      },
      "story_excerpt": "He knows what it means to break your word, so he never does it twice. The party remembers him as the one who stood between them and the blade."
    },
    {
      "id": "309cd9ab-1320-45e2-a794-e999135aaef9",
      "slug": "kyoko",
      "name": "Kyoko",
      "race": "Elf",
      "character_class": "Druid",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kyoko",
      "character_url": "https://hall-library.framedfantasy.com/characters/kyoko",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kyoko.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kyoko.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780538299871_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/kyoko",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780538299871_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the protector who learned trust through The Blackfen, moving through murk to find what others miss. The panther that emerged when your world shattered became the proof that kinship survives abandonment. But compassion born from loss means you feel every stranger's wound as your own unfinishe"
    },
    {
      "id": "b5fe3212-dcde-4e33-b556-8ede03a4b02a",
      "slug": "kyrie",
      "name": "Kyrie",
      "race": "Elf",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kyrie",
      "character_url": "https://hall-library.framedfantasy.com/characters/kyrie",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kyrie.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kyrie.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783341355551_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/kyrie",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783341355551_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe day she lost her family to disaster when she was a child, and was left alone in the world. Something steered her feet toward a traveling merchant couple, who turned out to be kind, childless, and willing to take her in as their own. She now attributes the directing force to the "
    },
    {
      "id": "0ddababe-6f88-4a01-9df8-da781f863b7b",
      "slug": "kyrre-lleuyn-halvard",
      "name": "Kyrre Lleuyn Halvard",
      "race": "Human",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=kyrre-lleuyn-halvard",
      "character_url": "https://hall-library.framedfantasy.com/characters/kyrre-lleuyn-halvard",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/kyrre-lleuyn-halvard.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/kyrre-lleuyn-halvard.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776643327031_1ohfxd.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/kyrre-lleuyn-halvard",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776643327031_1ohfxd.webp",
      "crop": {
        "x": 50,
        "y": 9,
        "zoom": 100
      },
      "story_excerpt": "Kyrre Lleuyn Halvard grew up where the mountains do not care if you live or die. Serrakesh is high, cold, and unapologetic, and she was raised in it like it was normal, because to her it was.\nHer father was a berserker Frostguard of Blackwatch Pass, the kind of place people only go when something is"
    }
  ]
}
