{
  "schemaVersion": 1,
  "slug": "the-happy-prince",
  "title": "The Happy Prince",
  "author": "Oscar Wilde",
  "language": "en",
  "spoilers": true,
  "characters": [
    {
      "name": "Happy Prince",
      "aliases": [],
      "description": "A statue of a once-pleasure-loving prince whose lead heart grieves for the suffering in his city. He gives away his jewels and gold to help the poor."
    },
    {
      "name": "Town Councillor",
      "aliases": [],
      "description": "An unnamed councillor who praises the Prince’s beauty while pretending to value practical usefulness."
    },
    {
      "name": "Sensible mother",
      "aliases": [],
      "description": "An unnamed mother who points to the Happy Prince as an example to her crying child."
    },
    {
      "name": "Little boy crying for the moon",
      "aliases": [],
      "description": "An unnamed child whose mother tells him to be like the Happy Prince."
    },
    {
      "name": "Disappointed man",
      "aliases": [],
      "description": "An unnamed man who sees the Prince’s statue and mutters that he is glad someone is happy."
    },
    {
      "name": "Charity Children",
      "aliases": [],
      "description": "A group of children who say the statue looks like an angel because they have seen angels in dreams."
    },
    {
      "name": "Mathematical Master",
      "aliases": [],
      "description": "A teacher who disapproves of children dreaming and challenges the Charity Children’s claim."
    },
    {
      "name": "Swallow",
      "aliases": [
        "little Swallow"
      ],
      "description": "A small migratory bird who stays behind after his companions leave for Egypt. He becomes the Prince’s messenger, gives up his chance to migrate, and dies beside him."
    },
    {
      "name": "Reed",
      "aliases": [],
      "description": "The Swallow’s former beloved, a river reed who is attached to her home and bends gracefully in the wind."
    },
    {
      "name": "Other Swallows",
      "aliases": [],
      "description": "The Swallow’s companions, who leave for Egypt and mock his attachment to the Reed."
    },
    {
      "name": "Millers’ sons",
      "aliases": [],
      "description": "Two unnamed boys who threw stones at the Swallow the previous summer."
    },
    {
      "name": "Seamstress",
      "aliases": [],
      "description": "A poor woman who embroiders a gown for a Queen’s maid-of-honour while caring for her sick son."
    },
    {
      "name": "Seamstress’s little boy",
      "aliases": [],
      "description": "The seamstress’s feverish son, who is comforted by the Swallow and the ruby the Prince sends."
    },
    {
      "name": "Queen’s maid-of-honour",
      "aliases": [],
      "description": "An unnamed member of the Queen’s household for whom the seamstress is embroidering a gown."
    },
    {
      "name": "King in the painted coffin",
      "aliases": [
        "great King"
      ],
      "description": "A dead king whose embalmed body lies in a tomb in Egypt."
    },
    {
      "name": "Beautiful girl on the balcony",
      "aliases": [],
      "description": "An unnamed woman who appears with her lover and hopes her dress will be ready for the State-ball."
    },
    {
      "name": "Lover on the balcony",
      "aliases": [],
      "description": "An unnamed man who praises the stars and the power of love to the girl on the balcony."
    },
    {
      "name": "Professor of Ornithology",
      "aliases": [],
      "description": "An unnamed professor who observes a swallow in winter and writes about it to the local newspaper."
    },
    {
      "name": "Sparrows",
      "aliases": [],
      "description": "Birds who chirp at the Swallow and call him a distinguished stranger."
    },
    {
      "name": "God",
      "aliases": [],
      "description": "A divine figure who asks an Angel to bring the two most precious things in the city and welcomes the Swallow and Prince into Paradise."
    },
    {
      "name": "Angel",
      "aliases": [],
      "description": "An unnamed angel who brings God the Prince’s lead heart and the dead Swallow."
    },
    {
      "name": "Nightingale",
      "aliases": [],
      "description": "A bird who sacrifices her life by singing with her breast against a thorn to create a red rose for the Student."
    },
    {
      "name": "Student",
      "aliases": [
        "young Student"
      ],
      "description": "A young man who wants a red rose to win a girl’s attention, but rejects love after she refuses him."
    },
    {
      "name": "Prince at the ball",
      "aliases": [],
      "description": "The unnamed Prince whose ball the Student’s beloved plans to attend."
    },
    {
      "name": "Little Green Lizard",
      "aliases": [],
      "description": "A lizard who calls the Student’s sorrow over a rose ridiculous."
    },
    {
      "name": "Butterfly",
      "aliases": [],
      "description": "A butterfly who questions why the Student is weeping."
    },
    {
      "name": "Daisy",
      "aliases": [],
      "description": "A daisy who asks its neighbour why the Student is weeping."
    },
    {
      "name": "White Rose-tree",
      "aliases": [],
      "description": "A personified rose tree that bears white roses and directs the Nightingale to its brother by the sun-dial."
    },
    {
      "name": "Yellow Rose-tree",
      "aliases": [],
      "description": "A personified rose tree by the sun-dial that bears yellow roses and directs the Nightingale to its brother beneath the Student’s window."
    },
    {
      "name": "Red Rose-tree",
      "aliases": [],
      "description": "A personified rose tree beneath the Student’s window whose roses have been lost to winter. It explains that the Nightingale can make a red rose through her sacrifice."
    },
    {
      "name": "Oak-tree",
      "aliases": [
        "Oak-tree"
      ],
      "description": "The tree where the Nightingale nests; fond of her, it asks for one last song before her sacrifice."
    },
    {
      "name": "Professor",
      "aliases": [],
      "description": "An unnamed professor whose daughter is courted by the Student."
    },
    {
      "name": "Professor’s daughter",
      "aliases": [
        "the girl"
      ],
      "description": "A young woman who refuses the Student’s red rose, preferring jewels sent by the Chamberlain’s nephew."
    },
    {
      "name": "Chamberlain’s nephew",
      "aliases": [],
      "description": "An unnamed man who sends jewels to the Professor’s daughter and is presented as a rival for her attention."
    },
    {
      "name": "Selfish Giant",
      "aliases": [],
      "description": "A giant who walls children out of his garden, keeping it in perpetual winter. After befriending a mysterious little boy, he welcomes the children and eventually dies beneath a blossoming tree."
    },
    {
      "name": "Cornish ogre",
      "aliases": [],
      "description": "The Giant’s friend, whom he visits for seven years before returning to his castle."
    },
    {
      "name": "Children who play in the Giant’s garden",
      "aliases": [],
      "description": "The local children who are excluded from the Giant’s garden, then return after he opens it to them."
    },
    {
      "name": "Snow",
      "aliases": [],
      "description": "A personified force of winter who covers the Giant’s garden and stays there while Spring is absent."
    },
    {
      "name": "Frost",
      "aliases": [],
      "description": "A personified force of winter who coats the trees in the Giant’s garden with silver."
    },
    {
      "name": "North Wind",
      "aliases": [],
      "description": "A personified winter wind invited into the Giant’s garden by Snow and Frost."
    },
    {
      "name": "Hail",
      "aliases": [],
      "description": "A personified winter force who rattles the roof and races around the Giant’s garden."
    },
    {
      "name": "Linnet",
      "aliases": [
        "Green Linnet"
      ],
      "description": "A bird who tells the Water-rat the story of Hans and the Miller."
    },
    {
      "name": "Water-rat",
      "aliases": [
        "old Water-rat"
      ],
      "description": "A self-described bachelor who argues that devoted friendship means a friend should be devoted to him. He hears the Linnet’s story and rejects its moral."
    },
    {
      "name": "Duck",
      "aliases": [
        "mother Duck"
      ],
      "description": "A mother duck who patiently teaches her ducklings and joins the Water-rat and Linnet’s conversation."
    },
    {
      "name": "Little ducks",
      "aliases": [],
      "description": "The young ducklings their mother tries to teach to stand on their heads."
    },
    {
      "name": "Hans",
      "aliases": [
        "little Hans"
      ],
      "description": "A kind, poor gardener who trusts the Miller’s claims of friendship and repeatedly works for him. Sent into a storm to fetch a doctor, he drowns on the way."
    },
    {
      "name": "Hugh the Miller",
      "aliases": [
        "the Miller",
        "big Hugh the Miller"
      ],
      "description": "A rich miller who calls himself Hans’s devoted friend while exploiting Hans’s labour and generosity. After Hans dies, he laments the loss of his promised wheelbarrow."
    },
    {
      "name": "Miller’s Wife",
      "aliases": [
        "Wife"
      ],
      "description": "The Miller’s wife, who praises her husband’s talk of friendship and supports his requests of Hans."
    },
    {
      "name": "Miller’s youngest son",
      "aliases": [],
      "description": "The Miller’s young son, who suggests sharing his porridge and rabbits with Hans when he is in trouble."
    },
    {
      "name": "Clergyman",
      "aliases": [],
      "description": "A clergyman mentioned by the Miller’s Wife, who lives in a large house and wears a gold ring."
    },
    {
      "name": "Burgomaster’s daughter",
      "aliases": [],
      "description": "A girl to whom Hans plans to sell his primroses at market."
    },
    {
      "name": "Doctor",
      "aliases": [],
      "description": "A doctor whom Hans fetches in a storm after the Miller’s son falls from a ladder."
    },
    {
      "name": "Miller’s son",
      "aliases": [],
      "description": "The Miller’s son who falls from a ladder and is injured, prompting the Miller to send Hans for the Doctor."
    },
    {
      "name": "Goatherds",
      "aliases": [],
      "description": "People who find Hans’s body in a pool and bring it back to his cottage."
    },
    {
      "name": "Blacksmith",
      "aliases": [],
      "description": "An unnamed blacksmith who says Hans’s death is a great loss after the funeral."
    },
    {
      "name": "Remarkable Rocket",
      "aliases": [
        "Rocket"
      ],
      "description": "A self-important, overly sensitive firework who boasts of his remarkable family and imagined importance. Wet with tears, he fails to go off and is discarded."
    },
    {
      "name": "King’s son",
      "aliases": [
        "Prince"
      ],
      "description": "The King’s son, who marries a Russian Princess and is celebrated in the court festivities."
    },
    {
      "name": "Russian Princess",
      "aliases": [
        "little Princess",
        "bride"
      ],
      "description": "A Princess from Russia who arrives from Finland by sledge and marries the King’s son."
    },
    {
      "name": "King",
      "aliases": [],
      "description": "The King, father of the Prince, who orders fireworks for the wedding and insists on playing the flute."
    },
    {
      "name": "Page",
      "aliases": [
        "little Page",
        "young Page"
      ],
      "description": "A court page who compares the Princess to a red rose after she blushes; the King repeatedly doubles his nominal salary."
    },
    {
      "name": "Royal Pyrotechnist",
      "aliases": [],
      "description": "The King’s fireworks expert, ordered to attend the wedding and conduct the display."
    },
    {
      "name": "Squib",
      "aliases": [
        "little Squib"
      ],
      "description": "A personified firework who admires the garden and believes travel improves the mind."
    },
    {
      "name": "Roman Candle",
      "aliases": [
        "big Roman Candle"
      ],
      "description": "A personified firework who argues with the Rocket and comments on the other fireworks."
    },
    {
      "name": "Catherine Wheel",
      "aliases": [
        "pensive Catherine Wheel"
      ],
      "description": "A personified firework who insists romance is dead and recalls being attached to an old deal box."
    },
    {
      "name": "Cracker",
      "aliases": [],
      "description": "A personified firework with political interests who calls for order and laughs at the Rocket."
    },
    {
      "name": "Rocket’s mother",
      "aliases": [],
      "description": "A celebrated Catherine Wheel who was renowned for graceful dancing."
    },
    {
      "name": "Rocket’s father",
      "aliases": [],
      "description": "A French-born Rocket known for a high flight and brilliant descent."
    },
    {
      "name": "Bengal Light",
      "aliases": [],
      "description": "A personified firework who corrects the Rocket’s pronunciation and later joins in mocking him."
    },
    {
      "name": "Small Fire-balloon",
      "aliases": [
        "Fire-balloon"
      ],
      "description": "A personified firework who looks forward to telling the stars about the wedding celebration."
    },
    {
      "name": "Brown-paper cartridge",
      "aliases": [],
      "description": "A personified firework who tells the Roman Candle the latest court news about the Prince and Princess."
    },
    {
      "name": "Two beetles",
      "aliases": [],
      "description": "A pair of beetles who are considering setting up house together when the Rocket’s tears nearly drown them."
    },
    {
      "name": "Royal Pyrotechnist’s six attendants",
      "aliases": [],
      "description": "Six unnamed attendants who carry torches during the fireworks display."
    },
    {
      "name": "Workmen",
      "aliases": [],
      "description": "Unnamed workers who tidy the garden after the fireworks; one throws the unused Rocket over the wall."
    },
    {
      "name": "Frog",
      "aliases": [
        "little Frog"
      ],
      "description": "A cheerful, talkative frog who meets the discarded Rocket in a ditch and boasts of the popularity of his pond’s glee-club."
    },
    {
      "name": "Farmer’s wife",
      "aliases": [],
      "description": "A woman mentioned by the Frog, who complained to her mother that the pond’s frogs kept her awake."
    },
    {
      "name": "Farmer’s wife’s mother",
      "aliases": [],
      "description": "An unnamed woman to whom the Farmer’s wife complained about the frogs’ nighttime noise."
    },
    {
      "name": "Frog’s six daughters",
      "aliases": [],
      "description": "The Frog’s daughters, whom he worries the Pike might catch."
    },
    {
      "name": "Pike",
      "aliases": [],
      "description": "A fish the Frog fears may prey on his daughters."
    },
    {
      "name": "Dragon-fly",
      "aliases": [],
      "description": "A dragon-fly who observes that the Rocket has gone away and suggests he lecture on Philosophy."
    },
    {
      "name": "White Duck",
      "aliases": [],
      "description": "A beautiful, peaceable duck who talks with the Rocket about usefulness, work, and public life before swimming away."
    },
    {
      "name": "Ox",
      "aliases": [],
      "description": "An animal the White Duck mentions as able to plough fields."
    },
    {
      "name": "Horse",
      "aliases": [],
      "description": "An animal the White Duck mentions as able to draw a cart."
    },
    {
      "name": "Collie-dog",
      "aliases": [],
      "description": "A dog the White Duck mentions as able to look after sheep."
    },
    {
      "name": "Two little boys",
      "aliases": [],
      "description": "Two unnamed boys in white smocks who retrieve the Rocket from a ditch and burn it to boil a kettle; they fall asleep and miss its display."
    },
    {
      "name": "Goose",
      "aliases": [],
      "description": "A goose walking beside the ditch who is struck by the Rocket’s falling stick and rushes into the water."
    }
  ],
  "analysis": {
    "sourceSha256": "f32b8a279585f183a79362a9dc361927caa086725d2d589a62b20ae8e16d0fbb",
    "generatedAt": "2026-10-24T10:43:25.653768+00:00",
    "partsProcessed": 2,
    "extractionWarnings": [],
    "promptSha256": "ef6b30afebc4d1ea57690ea5b456465684c74b7af125ea8d48e25e6ba2004d41",
    "model": "gpt-6-luna",
    "pipelineVersion": 1
  }
}
