{
  "schema_version": 1,
  "read_only": true,
  "retrieved_at": "2026-10-24T01:05:17.953Z",
  "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": 525,
    "total": 1309,
    "next": "https://hall-library.framedfantasy.com/catalog.json?offset=550"
  },
  "characters": [
    {
      "id": "b0335133-54cd-4847-968a-b47421036952",
      "slug": "grey-3",
      "name": "Grey",
      "race": "Corrupted Snow Elf",
      "character_class": "Oathbreaker Paladin and Storm Sorcerer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grey-3",
      "character_url": "https://hall-library.framedfantasy.com/characters/grey-3",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grey-3.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grey-3.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790924030019_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grey-3",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790924030019_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThey trusted the wrong companions and were corrupted to resemble a Demonic Snow Elf. They now roam the continent relying only on their spirit familiars.\n\nArchetype: You're the The Marked Witness. He let betrayal change his skin, but not who he stands beside.\n\nPersonality: Already pa"
    },
    {
      "id": "34bc2892-3c98-45d6-8fe2-b46cb9df1543",
      "slug": "greyhadur-doomsung",
      "name": "Greyhadur Doomsung",
      "race": "Dragonborn",
      "character_class": "Bard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=greyhadur-doomsung",
      "character_url": "https://hall-library.framedfantasy.com/characters/greyhadur-doomsung",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/greyhadur-doomsung.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/greyhadur-doomsung.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779120635551_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/greyhadur-doomsung",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779120635551_0.jpg",
      "crop": {
        "x": 50,
        "y": 13,
        "zoom": 100
      },
      "story_excerpt": "You are the bard who learned that words without force are just wind, so you took the King's Road and sharpened both. What you remembered in the cages was not hope but the specific weight of a promise made over bodies. Now every negotiation with The Silver Tongue carries the unspoken threat of what h"
    },
    {
      "id": "6727d5c8-c24f-43e0-b3a3-0260346eb10c",
      "slug": "greymon",
      "name": "Greymon",
      "race": "Human",
      "character_class": "rogue",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=greymon",
      "character_url": "https://hall-library.framedfantasy.com/characters/greymon",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/greymon.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/greymon.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776714178496_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/greymon",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776714178496_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the rogue who turned deprivation into doctrine, who made poverty the first and best teacher. Riding Old Yost's Cart taught you that patience is just another word for waiting for the perfect angle, and approaching the Iron Matron as the Quiet Strategist proved you'd rather spend an hour plann"
    },
    {
      "id": "a5802460-e7a9-4faa-a219-939b55c9db7c",
      "slug": "grief",
      "name": "Grief",
      "race": "Tiefling",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grief",
      "character_url": "https://hall-library.framedfantasy.com/characters/grief",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grief.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grief.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776964335468_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grief",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776964335468_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the wizard who turns investigation into an act of defiance against erasure. You chose the Shadow Investigator because uncovering what others hide is the only power that cannot be stolen from you twice. What brought you back was the choice to wake in those cold arms and carry forward every un"
    },
    {
      "id": "5daa45d6-b75d-4e8f-a1ea-6382f1938246",
      "slug": "grim",
      "name": "Grim",
      "race": "Elf",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grim",
      "character_url": "https://hall-library.framedfantasy.com/characters/grim",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grim.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grim.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779863940572_0.jfif",
      "image_url": "https://hall-library.framedfantasy.com/images/grim",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1779863940572_0.jfif",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a Bold Hero who faces the Iron Matron head on because waiting has never saved anyone. The flames that took your hand and marked your skin taught you that survival is not gentle. You carry the weight of being the one who lived when others burned, and that debt never lightens. The table will r"
    },
    {
      "id": "d67ab280-5731-4880-bc76-c650e4ae7d18",
      "slug": "grim-starlight",
      "name": "Grim Starlight",
      "race": "Human",
      "character_class": "Runesmith",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grim-starlight",
      "character_url": "https://hall-library.framedfantasy.com/characters/grim-starlight",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grim-starlight.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grim-starlight.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778346015735_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grim-starlight",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778346015735_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the kind of hero who plans three moves ahead, the Quiet Strategist who knows patience beats bravado. What brought you back was a love that taught you to smile, to craft, to carry forward what time tried to steal. But every rune you carve is a countdown you can't stop, a reminder that mastery"
    },
    {
      "id": "8d96071c-3cbc-4fb2-bd10-f65695e4dffd",
      "slug": "grimm-3",
      "name": "Grimm",
      "race": "Human",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grimm-3",
      "character_url": "https://hall-library.framedfantasy.com/characters/grimm-3",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grimm-3.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grimm-3.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791684905891_hall.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grimm-3",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1791684905891_hall.jpg",
      "crop": {
        "x": 52,
        "y": 41,
        "zoom": 125
      },
      "story_excerpt": "He carries the names of those who fell so the next line holds. He walks into the room without pretense and stands where the threat can see him."
    },
    {
      "id": "f1d9650a-fc44-4246-83e7-d3a55e42adeb",
      "slug": "grimm",
      "name": "Grimm",
      "race": "Aasimar",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=grimm",
      "character_url": "https://hall-library.framedfantasy.com/characters/grimm",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/grimm.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/grimm.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778776977129_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/grimm",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778776977129_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are a hero who plans in silence and strikes with precision, the Quiet Strategist who learned patience costs blood. The carnage you unleashed became the compass you follow, every trigger pull a prayer for something better than revenge. But divine blood and infernal pacts make strange companions, "
    },
    {
      "id": "1c2a7b6f-f10e-4c89-b695-01d3464cb300",
      "slug": "gunnar-the-undying",
      "name": "Gunnar \"the Undying\"",
      "race": "Human",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gunnar-the-undying",
      "character_url": "https://hall-library.framedfantasy.com/characters/gunnar-the-undying",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gunnar-the-undying.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gunnar-the-undying.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776837248326_c2ltgb.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/gunnar-the-undying",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776837248326_c2ltgb_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Gunnar has died four times. The cleric keeps bringing him back and Gunnar keeps being annoyed about it. Not because he wants to stay dead. Because dying is embarrassing and the party won't stop counting.\n\nHe's a Zealot of Sigmar. Old soldier, white hair, bad attitude, golden handaxe, crimson coat wi"
    },
    {
      "id": "d269d089-443f-49bc-bf26-13a1384b6d5d",
      "slug": "gus",
      "name": "Gus",
      "race": "Aasimar",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gus",
      "character_url": "https://hall-library.framedfantasy.com/characters/gus",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gus.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gus.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1784264186255_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/gus",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1784264186255_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nAugust Bell (\"Gus\" to nearly everyone) once lived in a small village where he was known less as a holy warrior and more as the large, cheerful man who could usually be found near a cooking fire. He worked, drank, laughed loudly, and knew the names of the people around him. It was an"
    },
    {
      "id": "156a87b4-a676-4f90-978f-5c06529e6c85",
      "slug": "gwenilian-alloy",
      "name": "Gwenilian Alloy",
      "race": "Half-Elf",
      "character_class": "Blood Hunter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gwenilian-alloy",
      "character_url": "https://hall-library.framedfantasy.com/characters/gwenilian-alloy",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gwenilian-alloy.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gwenilian-alloy.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783041985976_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/gwenilian-alloy",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1783041985976_0.jpeg",
      "crop": {
        "x": 50,
        "y": 16,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nThe day he met Rose, a little girl who has become like a sister to him. He was on a hunt, contracted by her parents as she had gone missing. He found her hiding from a monster that had been stalking her. After a grueling battle with the beast, the child helped him home.\n\nArchetype: "
    },
    {
      "id": "f408679b-9278-4a39-b132-3bc41666b92c",
      "slug": "gwenilian-aloy",
      "name": "Gwenilian Aloy",
      "race": "Half-Elf",
      "character_class": "Blood Hunter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gwenilian-aloy",
      "character_url": "https://hall-library.framedfantasy.com/characters/gwenilian-aloy",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gwenilian-aloy.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gwenilian-aloy.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777568943277_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/gwenilian-aloy",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777568943277_0.jpeg",
      "crop": {
        "x": 50,
        "y": 12,
        "zoom": 100
      },
      "story_excerpt": "You are the protector who chose the Blackfen's harder path and investigated rather than crushed the Iron Matron. What brought you back was simple: a girl's family seeing you off, their love worth more than any darkness. But you know the runes on your father's blade were carved with someone else's su"
    },
    {
      "id": "df02b43c-a8c3-452f-9f67-f45e2f8fdf37",
      "slug": "gwydion-trilby",
      "name": "Gwydion Trilby",
      "race": "Tortle",
      "character_class": "Wizard",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=gwydion-trilby",
      "character_url": "https://hall-library.framedfantasy.com/characters/gwydion-trilby",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/gwydion-trilby.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/gwydion-trilby.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777411722961_3zf8tp.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/gwydion-trilby",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1777411722961_3zf8tp_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Gwydion Trilby was never meant to be a hero of songs and legends—at least not in the way others imagine. Born into a family bound by knowledge, trade, and an unfinished legacy, he grew up surrounded not by glory, but by responsibility. In the halls of learning and among ancient theories, he discover"
    },
    {
      "id": "a4738927-05e8-4920-bcb1-bfba71250746",
      "slug": "ha-0-levi",
      "name": "HA-0 ‘Levi’",
      "race": "Android (Human)",
      "character_class": "Technomacer",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=ha-0-levi",
      "character_url": "https://hall-library.framedfantasy.com/characters/ha-0-levi",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/ha-0-levi.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/ha-0-levi.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780064994471_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/ha-0-levi",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780064994471_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You're a Quiet Strategist because cold precision kept you alive when genetic conditioning demanded obedience. What brought you back wasn't vengeance but the man who saw past the weapon to the person worth saving. The lightning tracery under your skin marks every calculation, every tactical choice ma"
    },
    {
      "id": "afdb8cb0-bed9-44ea-8ef9-08575d498389",
      "slug": "haal",
      "name": "Haal",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=haal",
      "character_url": "https://hall-library.framedfantasy.com/characters/haal",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/haal.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/haal.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780540138933_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/haal",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1780540138933_0.jpeg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are the Shadow Investigator, the fighter who treats combat like a puzzle waiting to solve itself. What brought you back was the night you turned a brawl into theater, proving strength without a swing. But patience has a price, and sometimes the table wonders if you're holding back or holding on."
    },
    {
      "id": "948f9fa3-4751-45a1-b671-b5dba687f3c3",
      "slug": "hailscar-2",
      "name": "Hailscar",
      "race": "Shifter",
      "character_class": "Barbarian/Blood Hunter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=hailscar-2",
      "character_url": "https://hall-library.framedfantasy.com/characters/hailscar-2",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/hailscar-2.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/hailscar-2.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1785022538139_wwe7tn.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/hailscar-2",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1785022538139_wwe7tn_thumb.webp",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nPain drags him under. The present fades to black.\n\nThen he is there again the beast pit beneath the Akroan sands. The weight of bronze on his wrists. The distant thunder of the crowd seeping through stone. The stench of old blood and frightened animals in the dark. His fingers trace"
    },
    {
      "id": "58b12b58-f66e-4de7-bb1d-abce617cccfa",
      "slug": "hako",
      "name": "Hako",
      "race": "Human",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=hako",
      "character_url": "https://hall-library.framedfantasy.com/characters/hako",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/hako.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/hako.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776926732935_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/hako",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1776926732935_0.jpeg",
      "crop": {
        "x": 50,
        "y": 11,
        "zoom": 100
      },
      "story_excerpt": "You are the barbarian who turned survival into service, who channels old wounds into a shield for those who cannot raise their own. You rode Old Yost's cart because strength doesn't demand the spotlight, and you faced the Iron Matron as The Bold Hero because some fights are too important for hesitat"
    },
    {
      "id": "28ded7bc-c4b1-402d-b90b-3da3a256a5af",
      "slug": "hamhunch-the-hexchef",
      "name": "Hamhunch \"the Hexchef\"",
      "race": "Halfling",
      "character_class": "Warlock",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=hamhunch-the-hexchef",
      "character_url": "https://hall-library.framedfantasy.com/characters/hamhunch-the-hexchef",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/hamhunch-the-hexchef.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/hamhunch-the-hexchef.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776837956721_6z7i30.webp",
      "image_url": "https://hall-library.framedfantasy.com/images/hamhunch-the-hexchef",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/1776837956721_6z7i30_thumb.webp",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Hamhunch's pact weapon is a frying pan. It glows. He will not explain why it glows. He will not explain how he got it. If you ask him about his patron he changes the subject to what he's making for dinner and honestly the dinner is so good you forget you asked.\n\nHe carries a fish on his back that's "
    },
    {
      "id": "f3224d79-ec00-4cf1-8ee8-3e8ded17f048",
      "slug": "harbrouck-standish",
      "name": "Harbrouck Standish",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=harbrouck-standish",
      "character_url": "https://hall-library.framedfantasy.com/characters/harbrouck-standish",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/harbrouck-standish.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/harbrouck-standish.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777055493088_0.png",
      "image_url": "https://hall-library.framedfantasy.com/images/harbrouck-standish",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777055493088_0.png",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the guardian who earned the title the hard way, by burying the one who held it before. When you chose Old Yost's cart over faster roads, you proved what your father already knew: protection means traveling at the pace of those who need you most. The disease that took him left you with a blad"
    },
    {
      "id": "24396595-e1d0-40b3-86f5-1da39209fe3e",
      "slug": "harken",
      "name": "Harken",
      "race": "Human",
      "character_class": "Monk",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=harken",
      "character_url": "https://hall-library.framedfantasy.com/characters/harken",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/harken.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/harken.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1782792260180_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/harken",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1782792260180_0.jpeg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nCondemned and exiled from his family and village, forced to leave for a bad luck and poor choices when sparring and accidentally killing his cousin, he was to suffer in the wild woods and most likely die at the hands of monsters, at least until some kind souls would save him; monste"
    },
    {
      "id": "73d86983-a8eb-4bc3-a5fc-6299eb349e67",
      "slug": "harrow",
      "name": "Harrow",
      "race": "Half-Elf",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=harrow",
      "character_url": "https://hall-library.framedfantasy.com/characters/harrow",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/harrow.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/harrow.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777132824839_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/harrow",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777132824839_0.jpg",
      "crop": {
        "x": 71,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "Your choices paint a character worth knowing, Harrow. The table is better for having you at it.\n\nDefining moment: The Warlord's Daughter, Spring in Aoskar, A Pavilion in the Desert – Do you know that feeling, when you are nine years old, when you wake up in the dark, suddenly awake because there is "
    },
    {
      "id": "ab8e1963-138a-485f-b232-0d39b303e036",
      "slug": "hassan",
      "name": "Hassan",
      "race": "Human",
      "character_class": "Fighter",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=hassan",
      "character_url": "https://hall-library.framedfantasy.com/characters/hassan",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/hassan.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/hassan.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790739116745_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/hassan",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1790739116745_0.jpg",
      "crop": {
        "x": 50,
        "y": 4,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nWho gave them the locket - it is an heirloom from his mother. a memento of a family she never spoke of, a mystery that opens her history\n\nArchetype: You're the The Unfinished Inheritance. He carries the weight of a history he was never meant to learn alone.\n\nPersonality: Already pai"
    },
    {
      "id": "a9a58232-ce72-457d-8227-acb120a94c5b",
      "slug": "haven-nightingale",
      "name": "Haven Nightingale",
      "race": "Aasimar",
      "character_class": "Paladin",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=haven-nightingale",
      "character_url": "https://hall-library.framedfantasy.com/characters/haven-nightingale",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/haven-nightingale.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/haven-nightingale.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778575035273_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/haven-nightingale",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1778575035273_0.jpg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "You are a paladin forged in the Blackfen, where survival depends on watching and waiting before you strike. The day your soularm manifested taught you that righteous intent doesn't absolve you of the innocent blood spilled. You carry Justice's name like an open wound, refusing the healing that would"
    },
    {
      "id": "c67cb23b-0909-47e5-abd2-5e245a155cd6",
      "slug": "hazel-cottontail",
      "name": "Hazel Cottontail",
      "race": "Harengon",
      "character_class": "Ranger",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=hazel-cottontail",
      "character_url": "https://hall-library.framedfantasy.com/characters/hazel-cottontail",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/hazel-cottontail.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/hazel-cottontail.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777045555075_0.jpg",
      "image_url": "https://hall-library.framedfantasy.com/images/hazel-cottontail",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1777045555075_0.jpg",
      "crop": {
        "x": 50,
        "y": 50,
        "zoom": 100
      },
      "story_excerpt": "You are the ranger who measures heroism not in glory, but in the strangers who make it home because you were there. You rode Old Yost's Cart because you know the value of steady ground beneath uncertain feet, the same way you became The Quiet Strategist against the Iron Matron, choosing patience ove"
    },
    {
      "id": "5a62ec5d-d7d1-4a23-8fdf-2fe95fbfca55",
      "slug": "heidi",
      "name": "Heidi",
      "race": "Half-Elf",
      "character_class": "Barbarian",
      "jan_favorite": false,
      "is_ff_portrait": false,
      "profile_url": "https://framedfantasy.com/pages/hero?h=heidi",
      "character_url": "https://hall-library.framedfantasy.com/characters/heidi",
      "character_json_url": "https://hall-library.framedfantasy.com/characters/heidi.json",
      "character_markdown_url": "https://hall-library.framedfantasy.com/characters/heidi.md",
      "original_image_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1785614004640_0.jpeg",
      "image_url": "https://hall-library.framedfantasy.com/images/heidi",
      "thumbnail_url": "https://obadckrukccwkjgpbsxa.supabase.co/storage/v1/object/public/portraits/quest_1785614004640_0.jpeg",
      "crop": {
        "x": 50,
        "y": 0,
        "zoom": 100
      },
      "story_excerpt": "Defining moment:\nAll she wanted was to see more of the world and smash through any obstacle. So, Heidi joined a tribe of Barbarians and Fighters. There were instances she questioned the pursuits of her tribe mates. Like the time they all raided a small caravan of traders, and the times they destroye"
    }
  ]
}
