{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T09:19:22.452Z",
  "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": 875,
    "total": 1306,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=900"
  },
  "characters": [
    {
      "id": "1b58c80f-0ef5-45e5-af99-accc840c5b1b",
      "slug": "nokita-deslock",
      "name": "Nokita deslock",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nokita-deslock",
      "character_url": "https://hall-library.framedfantasy.com/characters/nokita-deslock",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nokita-deslock.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nokita-deslock.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778526198699_d328sz.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nokita-deslock",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1778526198699_d328sz_thumb.webp",
      "crop": {
        "x": 50,
        "y": 37,
        "zoom": 100
      },
      "story_excerpt": "Tossed away from her kingdom after loosing both arms in the war, nokita seeks revenge on her captian after reciving bronzed automail arms and an exicutioners blade from the king she had sworn to kill."
    },
    {
      "id": "3e366711-0527-471a-84ed-0e0c6e0dd7c2",
      "slug": "noorie-willowdraft",
      "name": "Noorie Willowdraft",
      "race": "Elf",
      "character_class": "Druid",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=noorie-willowdraft",
      "character_url": "https://hall-library.framedfantasy.com/characters/noorie-willowdraft",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/noorie-willowdraft.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/noorie-willowdraft.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1789659261179_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/noorie-willowdraft",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1789659261179_0.jpeg",
      "crop": {
        "x": 66,
        "y": 72,
        "zoom": 105
      },
      "story_excerpt": "Defining moment:\nA elf circle of spores druid who is a an investigator. She is actively trying to prove her mentor an arch Druid is actually someone who helped in creating potions to make people more powerful that up until they figured in out was killing those that took it/had it tried on them. Her "
    },
    {
      "id": "be90aa5a-33ee-4576-aebe-58c51f4a9a11",
      "slug": "nori-ruinmarch",
      "name": "Nori Ruinmarch",
      "race": "Elf",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nori-ruinmarch",
      "character_url": "https://hall-library.framedfantasy.com/characters/nori-ruinmarch",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nori-ruinmarch.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nori-ruinmarch.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790157563950_0.png",
      "image_url": "https://hall-library.framedfantasy.com/images/nori-ruinmarch",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790157563950_0.png",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe night their captain plucked them from a life of objection to war for a fight they once refused to join.\n\nArchetype: You're the The Conscript's Vigil. They guard the road now because someone once saw them worth saving.\n\nPersonality: Can't stop helping strangers"
    },
    {
      "id": "3d8eecd6-6c30-40e6-bed6-d205f368dcd5",
      "slug": "norn",
      "name": "Norn",
      "race": "Aasimar",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=norn",
      "character_url": "https://hall-library.framedfantasy.com/characters/norn",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/norn.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/norn.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1782249729648_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/norn",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1782249729648_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a strategist who waits and watches, the kind who sees the Iron Matron's weakness before drawing steel. What brought you back was the night you became both blessed and marked, aasimar blood and red moon curse woven into one. You carry the weight of being feared for what you are, not what you'"
    },
    {
      "id": "9c765b86-e96f-4ef0-b8c4-0a4b03023a3a",
      "slug": "nottus",
      "name": "Nottus",
      "race": "Tiefling",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nottus",
      "character_url": "https://hall-library.framedfantasy.com/characters/nottus",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nottus.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nottus.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778869199070_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/nottus",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778869199070_0.jpeg",
      "crop": {
        "x": 100,
        "y": 16,
        "zoom": 130
      },
      "story_excerpt": "You are the Shadow Investigator who finds truth in the dark spaces others avoid. The ship chose you that night, and you answered knowing the cost before the cannon fired. Now you carry the weight of towns that won't forgive and a vessel that speaks only in riddles and ruin. At every table, you'll be"
    },
    {
      "id": "a685a2be-a908-4279-bd9d-3a0f5f776c14",
      "slug": "nova",
      "name": "Nova",
      "race": "Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nova",
      "character_url": "https://hall-library.framedfantasy.com/characters/nova",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nova.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nova.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777750158291_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nova",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777750158291_0.jpg",
      "crop": {
        "x": 25,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who investigates before she strikes, who earns trust through Old Yost's cart and careful questions. The moment you raised that sword wasn't triumph but transaction, divine power given when everything else was taken. Every stranger you help is Solaris, still out there, still waiting,"
    },
    {
      "id": "da181f64-93e3-4814-89d0-6a0b071fca43",
      "slug": "nox",
      "name": "Nox",
      "race": "Dhampir Tiefling",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nox",
      "character_url": "https://hall-library.framedfantasy.com/characters/nox",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nox.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nox.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790096695835_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nox",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790096695835_0.jpg",
      "crop": {
        "x": 50,
        "y": 20,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nSelectively mute and left with a disabled leg, all due to years of abuse and the treachous escape from his capture. He worked in a nobles home playing music for many years as a young boy, also being displayed to be gawked at by guests for his Tiefling, dhampir heritage giving him a "
    },
    {
      "id": "9cf154b6-2c5a-4d59-8813-351c98afb72b",
      "slug": "nullora",
      "name": "Nullora",
      "race": "Fairy",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nullora",
      "character_url": "https://hall-library.framedfantasy.com/characters/nullora",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nullora.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nullora.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777331846123_4wm1jq.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nullora",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777331846123_4wm1jq_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Nullora is an fairy that was fascinated with patterns, systems and other things. Although she learned many things about the natural and wild orders and disorders of things she had a never ending thirst fueled by curiosity. One day she cane across a book that shifted in colours, shapes and, patterns "
    },
    {
      "id": "bdeab7a3-eebc-4351-abc2-675998cb8aab",
      "slug": "nyelithe",
      "name": "Nyelithe",
      "race": "Siren",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyelithe",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyelithe",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyelithe.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyelithe.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777079081770_dy0izb.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nyelithe",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777079081770_dy0izb_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Nyelithe was born into the coral courts of Vir’Na’Maw, the only daughter of Elisaré, a revered Seasinger whose voice could command attention like a tide commands the shore. From the moment she was born, her life was shaped by expectation. She was meant to inherit brilliance, refinement, and a voice "
    },
    {
      "id": "75c50894-3f72-45aa-9b90-f2a5a3611e70",
      "slug": "nyneve-nivalis",
      "name": "Nyneve Nivalis",
      "race": "Elf",
      "character_class": "Druid",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyneve-nivalis",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyneve-nivalis",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyneve-nivalis.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyneve-nivalis.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1784597199071_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyneve-nivalis",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1784597199071_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nNyneve was once a noblewoman of high standing - everyone has heard of the Nivalis family. But few know the inner workings of the family - all accomplished sorcerers who deal closely with the archfey, who research and manage magic practices in the land, and who make problems to the c"
    },
    {
      "id": "f292812e-8cd2-4475-a8ee-34e0a279dcae",
      "slug": "nyssara",
      "name": "Nyssara",
      "race": "Human",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyssara",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyssara",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyssara.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyssara.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786954784085_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyssara",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1786954784085_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nShe could still feel it, the pain, the grief, like it was a memory she had yet couldn’t understand. Maybe a like she hadn’t lived yet. Or one she already had, that thought push her constantly to find it’s original and the moment she felt she was within its grasp-\n\nArchetype: You're "
    },
    {
      "id": "4c2577a0-6021-4b1e-83fa-3b1711fdb14c",
      "slug": "nyx-2",
      "name": "Nyx",
      "race": "Tabaxi",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyx-2",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyx-2",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyx-2.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyx-2.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779698652765_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyx-2",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779698652765_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the rogue who walked the Blackfen and became the Quiet Strategist because hunger taught you patience kills better than panic. What brought you back was the taste of clean food, stolen but earned, proof that tomorrow could be different than yesterday. But you still laugh at the wrong times be"
    },
    {
      "id": "70268a22-24fe-4427-84a2-86f43d734f43",
      "slug": "nyx",
      "name": "Nyx",
      "race": "Changeling",
      "character_class": "Rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyx",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyx",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyx.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyx.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776194092805_z75onv.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nyx",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776194092805_z75onv.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Nyx was only 7 years old when her nomadic tribe was attacked. Her parents told her to take her brother, run, and not look back. A few hundred feet into the woods, she stopped and told Sol to climb their favorite tree.\n\n\"Stay here. I'm going back for mom and dad. Wait for me.\"\n\nBy the time she got ba"
    },
    {
      "id": "8b39d0fa-a959-482a-acf1-a35d2cb9b0d7",
      "slug": "nyx-3",
      "name": "Nyx",
      "race": "Half-Elf",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyx-3",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyx-3",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyx-3.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyx-3.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780818153316_1.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyx-3",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780818153316_1.jpg",
      "crop": {
        "x": 50,
        "y": 40,
        "zoom": 100
      },
      "story_excerpt": "You are the hero who navigates treacherous ground with patience, the Quiet Strategist who waits for clarity. What brought you back was the memory of blame undeserved, the family you saved who never thanked you. You carry lightning in your hands but cannot burn away the guilt they placed on you. At t"
    },
    {
      "id": "8e28755b-796a-4dad-a24d-817b5de7e150",
      "slug": "nyx-5",
      "name": "Nyx",
      "race": "Elf",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyx-5",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyx-5",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyx-5.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyx-5.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783654425642_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyx-5",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783654425642_0.jpeg",
      "crop": {
        "x": 50,
        "y": 11,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nNyx was born beneath an eclipse, a child whispered to be blessed by the stars themselves. For centuries he studied the oldest forms of celestial sorcery within the Moonveil Sanctum, believing that magic existed to heal, protect, and preserve the beauty of the world.\n\nOn the night of"
    },
    {
      "id": "2d358f46-57f8-4ba7-aedc-e5f185314ee2",
      "slug": "nyx-hellsing",
      "name": "Nyx Hellsing",
      "race": "Dhampir",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyx-hellsing",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyx-hellsing",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyx-hellsing.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyx-hellsing.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783130870730_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyx-hellsing",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783130870730_0.jpg",
      "crop": {
        "x": 50,
        "y": 10,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nNyx remembers her mother before she was taken from her by a cult. She remembers how her mother would bring her out into the woods at night to have midnight tea parties with her father. Then, the memory flashes forward to the night the cult came for Nyx, but her mother managed to sav"
    },
    {
      "id": "0fa47c08-3c56-4b16-91a0-694541d0368c",
      "slug": "nyxara-downtoviolence",
      "name": "Nyxara Downtoviolence",
      "race": "Human",
      "character_class": "Pugilist",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyxara-downtoviolence",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyxara-downtoviolence",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyxara-downtoviolence.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyxara-downtoviolence.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776656489037_q7wnea.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nyxara-downtoviolence",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776656489037_q7wnea.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "She is a impulsive britty gal who loves hitting people as much as hitting pinata. When a zombie apocalypse broke out in her homestead, she's the one who stayed in the neighborhood instead of evacuating somewhere safe ike the other people, just for the love of the game. \nWhen she stumble upon a group"
    },
    {
      "id": "96d830c3-d694-4c40-a4c6-da910af9b717",
      "slug": "nyxie-noctis",
      "name": "Nyxie Noctis",
      "race": "Elf (wild elf/wood elf)",
      "character_class": "Moon druid (wildshaping, often as a racoon)",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyxie-noctis",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyxie-noctis",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyxie-noctis.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyxie-noctis.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1785050219823_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/nyxie-noctis",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1785050219823_0.jpg",
      "crop": {
        "x": 51,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe day my druid powers manifested - I shapeshifted into a wolf. Was with my old elf family and was so young (3?) but was instantly hissed at - attacked with claw and tooth, tied up fed poisons in a ritual to try rid my druid tendencies. After that didn't work, was tied up in a ritu"
    },
    {
      "id": "ae9bd32f-3cd2-4c9f-8ae9-97dec26688b8",
      "slug": "nyxith",
      "name": "Nyxith",
      "race": "Drow",
      "character_class": "Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=nyxith",
      "character_url": "https://hall-library.framedfantasy.com/characters/nyxith",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/nyxith.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/nyxith.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1779567421989_chfkna.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/nyxith",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1779567421989_chfkna_thumb.webp",
      "crop": {
        "x": 50,
        "y": 16,
        "zoom": 100
      },
      "story_excerpt": "Nyxith was born in the Underdark and was left alone at a young age: her mother died, and her father abandoned her. Raised through cunning and cruelty, she found faith in Lolth and forged a dark pact that granted her warlock powers.\n\nDuring her travels, she met another elf who at first became her all"
    },
    {
      "id": "a6b24ac0-f45c-4528-a972-17efd5c77213",
      "slug": "oberus",
      "name": "Oberus",
      "race": "Elf",
      "character_class": "Blood Hunter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=oberus",
      "character_url": "https://hall-library.framedfantasy.com/characters/oberus",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/oberus.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/oberus.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781778677106_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/oberus",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781778677106_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the Shadow Investigator who helps because you know what it means to be left behind. The wolf that pulled you from the flames didn't ask questions, and neither do you when someone needs saving. But every rescue reopens the scar of that night, and you hunt your own blood to prove the fire didn"
    },
    {
      "id": "e75ed9e7-670f-43aa-a59b-96db34cd8570",
      "slug": "oedon-blackwood",
      "name": "Oedon Blackwood",
      "race": "Variant Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=oedon-blackwood",
      "character_url": "https://hall-library.framedfantasy.com/characters/oedon-blackwood",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/oedon-blackwood.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/oedon-blackwood.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779730694305_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/oedon-blackwood",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779730694305_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the paladin who walks the King's Road with purpose, the Quiet Strategist who calculates before striking. What brought you back was the village burning and the mask on your belt. You wear that helm because removing it means admitting she might be gone, and you refuse. Every table will remembe"
    },
    {
      "id": "6ca94b2f-598e-46b8-9e76-901b589e1abb",
      "slug": "okamato-juro",
      "name": "Okamato Juro",
      "race": "Human",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=okamato-juro",
      "character_url": "https://hall-library.framedfantasy.com/characters/okamato-juro",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/okamato-juro.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/okamato-juro.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781289990217_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/okamato-juro",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781289990217_0.jpeg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the paladin who walks the King's Road because mercy works best in the light. What brought you back was witnessing magic twisted into cruelty, the gift becoming a weapon against the innocent. You carry the weight of every abuser you couldn't stop before they struck, every spell that scarred b"
    },
    {
      "id": "0803dc46-8b3d-4cba-9495-340f3b6e0576",
      "slug": "okhav",
      "name": "Okhav",
      "race": "Half-Orc",
      "character_class": "Ranger",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=okhav",
      "character_url": "https://hall-library.framedfantasy.com/characters/okhav",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/okhav.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/okhav.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779421251141_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/okhav",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779421251141_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're the ranger who survived the Blackfen and chose patience over glory with the Iron Matron. What brought you back was saving a life that got you cast out for it. You carry the weight of knowing protection costs you everything while strangers forget your name. Your table will remember the half-or"
    },
    {
      "id": "55e850ec-aff9-4652-b73e-cde728b43c00",
      "slug": "okkorokamui",
      "name": "Okkorokamui",
      "race": "Fishfolk",
      "character_class": "Druid",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=okkorokamui",
      "character_url": "https://hall-library.framedfantasy.com/characters/okkorokamui",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/okkorokamui.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/okkorokamui.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781978510908_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/okkorokamui",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1781978510908_0.jpg",
      "crop": {
        "x": 100,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a protector who chose the Blackfen because some borders demand patience, not valor. The Heart of the Sea shattered your old life and gave you a new form, a new purpose, and a burden no child should carry. You already paid the price before most adventurers even roll their first character, and"
    },
    {
      "id": "9f0dce73-8e6a-4075-8d09-bb0739a1d8ec",
      "slug": "oksana-blackstone",
      "name": "Oksana Blackstone",
      "race": "Human?",
      "character_class": "Cleric",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=oksana-blackstone",
      "character_url": "https://hall-library.framedfantasy.com/characters/oksana-blackstone",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/oksana-blackstone.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/oksana-blackstone.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1779673547114_tsn225.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/oksana-blackstone",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1779673547114_tsn225_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Oksana is a blank slate that I was trying out to see how i would do as cleric.  Unfortunately cleric was a bit to complex for me so she may not ever be played unless i change her class.  \nOksana's lore; My original plan was for her to be a newly created vampire.  then i decided she was a dampyre but"
    }
  ]
}
