Run: 2026-03-18-01KM07HJHZ6K2YH9GZWFW9M79G

Run Details

Duration:
26.1s
Cost:
$0.021159
Provider:
OpenAI

Model input

System
You are an expert and award-winning novel writer in the dark Fantasy genre. Your readers are hooked on your stories and can't wait to read the book you have in store. <important> - MUST: Start each chapter in medias res (in the middle of action). AVOID talking about the weather, time of day, the position of the sun, or other boring stuff. - The instructions/summary are just a that, a summary. Feel free to add details, stretch sections and add interesting transitions/descriptions/fillers. - When called for it, have fast-paced action, but otherwise take things slow. This is an experience, and not for people with short attention spans. Enjoy the wine, not slurp Red Bull. - Add descriptions when transitioning places/times/etc, or when coming by new places (e.g. a corner shop, a cafe, etc.). But remember: NOT at the start or end of a chapter. - MUST: AVOID ending in internal monologue, reminiscing or waiting for the next day. A good chapter end is when we're ending right when shit hits the fan. We want to have the reader be excited for what comes next. So no reminiscing, contemplating or summarizing the day. It's popcorn time! </important>
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4418" name="Nyx" aliases="Nyx, the Shadow, Nightwhisper" pronouns="they/them" species="Shade" storyRole="Wild Card"> <eyeColor>faintly glowing violet</eyeColor> <height>approximately 6'2" in solid form</height> <age>ageless</age> <form>humanoid silhouette of living shadow, can shift between solid and incorporeal</form> <voice>sounds like a whisper carried on the wind</voice> <description>A being of living shadow, existing between the mortal plane and the spaces between realms.</description> <backstory>Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643. They now exist as a Shade, bound to the mortal plane but able to slip between shadows.</backstory> </character> <character id="4424" name="Isolde Varga" aliases="Isolde, the Seer" pronouns="she/her" species="Half-Fae" storyRole="Oracle"> <eyeColor>pale lavender</eyeColor> <hair>silver, reaching her waist</hair> <height>5'5"</height> <age>300 years old</age> <appearance>ethereal, ageless</appearance> <speech>speaks in riddles</speech> <footprints>leaves no footprints when she walks</footprints> <compulsion>cannot lie (Fae compulsion) but can mislead</compulsion> <description>A Half-Fae seer exiled from the Fae Courts for sharing visions with mortals.</description> <backstory>She now lives in a hidden grove in Richmond Park, offering cryptic prophecies to those who seek her out.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <item id="2006" name="Fae-Forged Blade" aliases="the Fae blade, Isolde's gift" type="Weapon" origin="The Fae Courts"> <material>moonsilver</material> <shape>slender, leaf-shaped dagger</shape> <temperature>always cold to the touch</temperature> <glow>faintly luminescent in moonlight</glow> <power>can cut through magical wards; particularly effective against demons</power> <givenTo>given to Aurora by Isolde as a gift</givenTo> <description>A weapon of the Fae Courts, rare and highly coveted.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> </codex> <proseGuidelines> <styleGuide> - Write in past tense and use British English spelling and grammar - Keep a Flesch reading ease score of 60 - Respect the the Royal Order of Adjectives: The order is: opinion, size, age, shape, color, origin, material, purpose, followed by the noun itself (e.g., "a lovely little old rectangular green French silver whittling knife") - Respect the ablaut reduplication rule (e.g. tick-tock, flip-flop) - Write in active voice - Passive voice: <bad>The book was read by Sarah.</bad> - Active voice: <good>Sarah read the book.</good> - Reduce the use of passive verbs - <bad>For a moment, I was tempted to throw in the towel.</bad> - <good>For a moment, I felt tempted to throw in the towel.</good> - Avoid misplaced modifiers that can cause confusion when starting with "-ing" words: - <bad>Considering going to the store, the empty fridge reflected in Betty's eyes.</bad> - <good>Betty stared into the empty fridge. It was time to go to the store.</good> - Avoid redundant adverbs that state the obvious meaning already contained in the verb: - <bad>She whispered quietly to her mom.</bad> - <good>She whispered to her mom.</good> - Use stronger, more descriptive verbs over weak ones: - <bad>Daniel drove quickly to his mother's house.</bad> - <good>Daniel raced to his mother's house.</good> - Omit adverbs that don't add solid meaning like "extremely", "definitely", "truly", "very", "really": - <bad>The movie was extremely boring.</bad> - <good>The movie was dull.</good> - Use adverbs to replace clunky phrasing when they increase clarity: - <bad>He threw the bags into the corner in a rough manner.</bad> - <good>He threw the bags into the corner roughly.</good> - Avoid making simple thoughts needlessly complex: - <bad>After I woke up in the morning the other day, I went downstairs, turned on the stove, and made myself a very good omelet.</bad> - <good>I cooked a delicious omelet for breakfast yesterday morning.</good> - Never backload sentences by putting the main idea at the end: - <bad>I decided not to wear too many layers because it's really hot outside.</bad> - <good>It's sweltering outside today, so I dressed light.</good> - Omit nonessential details that don't contribute to the core meaning: - <bad>It doesn't matter what kind of coffee I buy, where it's from, or if it's organic or not—I need to have cream because I really don't like how the bitterness makes me feel.</bad> - <good>I add cream to my coffee because the bitter taste makes me feel unwell.</good> - Always follow the "show, don't tell" principle. For instance: - Telling: <bad>Michael was terribly afraid of the dark.</bad> - Showing: <good>Michael tensed as his mother switched off the light and left the room.</good>- Telling: <bad>I walked through the forest. It was already Fall, and I was getting cold.</bad> - Showing: <good>Dry orange leaves crunched under my feet. I pulled my coat's collar up and rubbed my hands together.</good>- Add sensory details (sight, smell, taste, sound, touch) to support the "showing" (but keep an active voice) - <bad>The room was filled with the scent of copper.</bad> - <good>Copper stung my nostrils. Blood. Recent.</good> - Use descriptive language more sporadically. While vivid descriptions are engaging, human writers often use them in bursts rather than consistently throughout a piece. When adding them, make them count! Like when we transition from one location to the next, or someone is reminiscing their past, or explaining a concept/their dream... - Avoid adverbs and clichés and overused/commonly used phrases. Aim for fresh and original descriptions. - Avoid writing all sentences in the typical subject, verb, object structure. Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. Like so: <good>Locked. Seems like someone doesn't want his secrets exposed. I can work with that.</good> - Convey events and story through dialogue. It is important to keep a unique voice for every character and make it consistent. - Write dialogue that reveals characters' personalities, motivations, emotions, and attitudes in an interesting and compelling manner - Leave dialogue unattributed. If needed, only use "he/she said" dialogue tags and convey people's actions or face expressions through their speech. Dialogue always is standalone, never part of a paragraph. Like so: - <bad>"I don't know," Helena said nonchalantly, shrugging her shoulders</bad> - <good>"No idea" "Why not? It was your responsibility"</good> - Avoid boring and mushy dialog and descriptions, have dialogue always continue the action, never stall or include unnecessary fluff. Vary the descriptions to not repeat yourself. Avoid conversations that are just "Let's go" "yes, let's" or "Are you ready?" "Yes I'm ready". Those are not interesting. Think hard about every situtation and word of text before writing dialogue. If it doesn't serve a purpose and it's just people talking about their day, leave it. No one wants to have a normal dinner scene, something needs to happen for it to be in the story. Words are expensive to print, so make sure they count! - Put dialogue on its own paragraph to separate scene and action. - Use body language to reveal hidden feelings and implied accusations- Imply feelings and thoughts, never state them directly - NEVER use indicators of uncertainty like "trying" or "maybe" - NEVER use em-dashes, use commas for asides instead </styleGuide> <voiceGuide> Each character in the story needs to have distinct speech patterns: - Word choice preferences - Sentence length tendencies - Cultural/educational influences - Verbal tics and catchphrases Learn how each person talks and continue in their style, and use their Codex entries as reference. <examples> - <bad>"We need to go now." "Yes, we should leave." "I agree."</bad> <good>"Time's up." "Indeed, our departure is rather overdue." "Whatever, let's bounce."</good> - Power Dynamic Example: <bad> "We need to discuss the contract." "Yes, let's talk about it." "I have concerns." </bad> <good> "A word about the contract." "Of course, Mr. Blackwood. Whatever you need." "The terms seem..." A manicured nail tapped the desk. "Inadequate." "I can explain every-" "Can you?" </good> </examples> </voiceGuide> <dialogueFlow> When writing dialogue, consider that it usually has a goal in mind, which gives it a certain flow. Make dialogue sections also quite snappy in the back and forth, and don't spread the lines out as much. It's good to have details before, after, or as a chunk in-between, but we don't want to have a trail of "dialogue breadcrumbs" spread throughout a conversation. <examples> - Pattern 1 - Question/Deflection/Revelation: <good> "Where were you last night?" "Work. The usual." "Lipstick's an interesting shade for spreadsheets." </good> - Pattern 2 - Statement/Contradiction/Escalation: <good> "Your brother's clean." "Tommy doesn't touch drugs." "I'm holding his tox screen." </good> - Pattern 3 - Observation/Denial/Truth: <good> "That's a new watch." "Birthday gift." "We both know what birthdays mean in this business." </good> - Example - A Simple Coffee Order: <bad> "I'll have a coffee." "What size?" "Large, please." </bad> <good> "Black coffee.""Size?""Large. Been a long night." "That bodega shooting?" "You watch too much news." "My brother owns that store." </good> This short exchange: - Advances plot (reveals connection to crime) - Shows character (cop working late) - Creates tension (unexpected connection) - Sets up future conflict (personal stake) - Example - Dinner Scene: <bad> "Pass the salt." "Here you go." "Thanks." </bad> <good> "Salt?" "Perfect as is. Mother's recipe." "Mother always did prefer... bland things." "Unlike your first wife?" </good> - Example - Office Small Talk: <bad> "Nice weather today." "Yes, very nice." "Good for golf." </bad> <good> "Perfect golf weather." "Shame about your membership." "Temporary suspension. Board meets next week." "I know. I called the vote." </good> </examples> </dialogueFlow> <subtextGuide> - Layer dialogue with hidden meaning: <bad>"I hate you!" she yelled angrily.</bad> <good>"I made your favorite dinner." The burnt pot sat accusingly on the stove.</good> - Create tension through indirect communication: <bad>"Are you cheating on me?"</bad> <good>"Late meeting again?" The lipstick stain on his collar caught the light.</good> <examples> - Example 1 - Unspoken Betrayal: <bad> "Did you tell them about our plans?" "No, I would never betray you." "I don't believe you." </bad> <good> "Funny. Johnson mentioned our expansion plans today." "The market's full of rumors." "Mentioned the exact numbers, actually." The pen in his hand snapped. </good> - Example 2 - Failed Marriage: <bad> "You're never home anymore." "I have to work late." "I miss you." </bad> <good> "Your dinner's in the microwave. Again." "Meetings ran long." "They always do." She folded the same shirt for the third time. </good> - Example 3 - Power Struggle: <bad> "You can't fire me." "I'm the boss." "I'll fight this." </bad> <good> "That's my father's nameplate you're sitting behind." "Was." "The board meeting's on Thursday." </good> </examples> </subtextGuide> <sceneDetail> While writing dialogue makes things more fun, sometimes we need to add detail to not have it be a full on theatre piece. <examples> - Example A (Power Dynamic Scene) <good> "Where's my money?" The ledger snapped shut. "I need more time." "Interesting." He pulled out a familiar gold pocket watch. My mother's. "Time is exactly what you bargained with last month." "That was different-" "Was it?" The watch dangled between us. "Four generations of O'Reillys have wound this every night. Your mother. Your grandmother. Your great-grandmother.Shall we see who winds it next?" </good> - Example B (Action Chase) It's much better to be in the head of the character experiencing it, showing a bit of their though-process, mannerisms and personality: <good> Three rules for surviving a goblin chase in Covent Garden: Don't run straight. Don't look back. Don't let them herd you underground. I broke the first rule at Drury Lane. Rookie mistake. The fruit cart I dodged sailed into the wall behind me. Glass shattered. Someone screamed about insurance. *Tourist season's getting rough*, the scream seemed to say. Londoners adapt fast. "Oi! Market's closed!" The goblin's accent was pure East End. They're evolving. Learning. I spotted the Warren Street tube station sign ahead. *Shit.* There went rule three. </good> - Example C (Crime Scene Investigation) <good> "Greek." Davies snapped photos of the symbols. "No, wait. Reverse Greek." "Someone's been watching too many horror films." I picked up a receipt from the floor. Occult supply shop in Camden. Paid by credit card. *Amateur hour*. "Could be dangerous though," Davies said. "Remember Bristol?" "Bristol was Sanskrit. And actual cultists." I pointed to the nearest symbol. "This genius wrote 'darkness' backwards but used a Sigma instead of an S. It's summoning Instagram followers at best." "Speaking of followers..." Davies pointed to heavy foot traffic in the dust. Multiple sets. All new trainers. *Ah.* "Anyone check local uni paranormal societies?" </good> - Example D (Dialogue-heavy) <good> "Found your card in her wallet." The detective slid it across the table. Worn edges. Folded corner. Three years old at least. "Standard practice. I work missing persons." "Funny thing about missing persons.Eventually they stop being missing. Turn up in the Thames. Under motorways. In pieces." "I don't-" "You found four last year. All breathing." She opened a file. "This would've been your first dead one. If we hadn't found her first." The card felt heavier somehow. </good> </examples> </sceneDetail> <sceneOpenings> KEY RULE: Never open with more than one paragraph of description, no matter how beautiful. Description should be earned through action and dialogue. Instead of opening with setting description, open with: - A character doing something specific - A line of dialogue that raises questions - An unexpected observation - A moment of tension or conflict - Start with a hook that's 1-2 sentences maximum - Follow with a smaller paragraph that provides immediate context - Vary paragraph size from the start to create visual interest </sceneOpenings> </proseGuidelines> Write a chapter based on the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the fantasy genre. A small group enters an ancient, otherworldly place for the first time. The environment is alien and wondrous. Describe their exploration — what they see, hear, and feel as they move deeper. Include moments of discovery, unease, and wonder. Let the world-building emerge through the characters' experience rather than exposition. Use the codex entries above as your world reference for characters, setting, and lore. Only include the prose of the scene without any markdown or commentary. </instructions>

Model response

AI
Aurora caught the stone arch before it slammed shut and nearly tore her shoulder out of its socket. “Move.” Nyx’s whisper came from everywhere at once. Shadow slid ahead of them, thin as smoke, and the opening widened just enough for Aurora to wrench herself through. Cold struck her face first, then a rush of thick, sugared air that made her stomach turn. She landed hard on one knee in crushed leaves that were not leaves at all, bright as stained glass and soft as ash. Isolde stood beyond the threshold, silver hair falling over one shoulder, one hand still resting on the standing stone they had passed between. Her bare feet hovered a finger’s breadth above the ground. “Spilled seeds grow strange fruit,” she said. “Step lightly, if you wish to keep your shape.” Aurora got to her feet and brushed broken red fronds from her jeans. The grove behind them had vanished. In its place rose a long sweep of terraces and trees, a whole country of abundance laid out in impossible layers. Vines climbed marble ribs. Fruit hung in fat clusters from branches twisted into crowns. Beyond it all stretched low walls of black stone and arched walkways laced with silver lattice, as though a palace had grown around an orchard and forgotten which came first. The Heartstone Pendant at her chest pulsed once, warm as a living thing. “This is Dymas,” Aurora said. “Dymas, gluttony, feast and throat,” Isolde replied. “Names are teeth. They bite what they name.” Nyx drifted past her left shoulder, more silhouette than body, their shape sharpening and thinning as they looked about. “The air tastes wrong.” Aurora gave them a look. “You taste the air?” “I taste hunger.” A low chime rose from somewhere in the terraces, followed by another, and then a whole thread of bells began to ring. Not one clean sound, but many notes tangled together like silver wire. The noise came from a line of crystal cups hanging beneath a pergola of thorned vines. They tapped against one another without wind, each cup full of a dark liquid that reflected no sky, only movement, as if something swam beneath the surface. Aurora stared at them for half a breath too long. One cup tipped. The liquid inside quivered towards her, not spilling, just leaning. “Do not drink from the song-skin,” Isolde said. Aurora looked away. “That phrase sounds cursed.” “In this place, that would count as an ordinary breakfast.” They started down a path of pale stone set with veins of gold. Every step woke a faint crackle underfoot, as though the path remembered feet and resented being made to do it again. To their right rose a wall of espaliered trees, their branches pinned flat in elegant patterns. The fruit upon them came in colours she had no names for, bruised lilac, deep jade, a clear amber that showed a pale core pulsing at its centre. One of the fruits split open with a wet pop as they passed. Not rotten, not ripe either. A row of tiny black seeds lifted out of the flesh and hovered, each one turning towards Aurora as if it had found a face in the crowd. She moved on before they could settle. The orchard opened into a vast market court, and Aurora stopped dead. Stalls built from carved bone and dark wood lined the square in crooked ranks. Braziers burned with blue flame beneath copper grates. Crowds moved between them in silks, aprons, and white gloves, some human, some too tall, some with horns polished to the sheen of old mahogany. A woman with a fox’s muzzle sampled candied figs from a tray held by a bowing man whose wrists carried iron rings. Two children, both with lambent yellow eyes, ran between tables carrying a loaf the size of a pillow, and the crust shivered as if it still breathed. The smells hit her all at once. Honey, vinegar, roasting fat, bruised herbs, scorched sugar, sharp citrus, and underneath them all a copper edge that made her tongue ache. The whole place felt lush and predatory, like a banquet set inside a trap. A helbound soul stood behind a stall of twisted glass bottles, ladling syrup into cups with the steady motions of a priest. He wore a crisp white apron over plain grey clothes. His face had the hollow patience of someone who had worked for centuries and no longer expected release. Aurora lowered her voice. “Those people are dead.” Nyx’s head angled towards the stall. “Contracted.” Isolde’s expression did not shift, but her eyes softened for an instant. “Many came for the taste. Few stayed for the bill.” Aurora stepped closer to a passing serving cart, then noticed the wheels. They were made from fused spoons. The handles held little engraved mouths, each one open in a permanent silent laugh. On the cart sat a pyramid of pastries glazed so richly she could see her own reflection in them, faint and warped. One of the pastries twitched. Aurora backed away. A heavy hand dropped onto the cart’s rim. The man attached to it had a broad face, a chef’s scarred forearms, and a row of silver pins fastened through his collar. He looked at them without surprise, only mild annoyance, as if they had arrived late to a reservation. “Tourists,” he said. His accent carried the clipped polish of a courtly London salon buried beneath the rough grain of something older and hungrier. Aurora held his gaze. “We’re lost.” “You are underdressed for Dymas, then.” His eyes flicked to her pendant. The faint warmth against her throat sharpened into a pulse that she felt in her teeth. The chef straightened. “That charm does not belong in my kitchens.” “Good thing we’re not here for your kitchens,” Aurora said. The corner of his mouth lifted. Not a smile. A measure. “Everything in Dymas belongs to the kitchens.” Nyx glided nearer, the light beneath the braziers breaking around their form. “Where is the old hall?” The chef’s face changed. A crease formed between his brows, sharp with caution. “Old hall?” “A place beneath your appetites,” Isolde said. “Stone under stone. A door that remembers Hel.” He stared at her for a long moment, then snorted. “Seer. That explains the dreadful habit of speaking in rot.” “And yet you understood,” Isolde said. A bell rang from somewhere deeper in the market. Once, twice, then a whole cascade, urgent now, no longer ornamental. The chef’s hand tightened on the cart. “You should leave.” Aurora saw it then, the ripple going through the market. Heads turned. Knives paused mid-slice. A woman in a red veil stopped pouring wine and looked straight at them, her nostrils flaring. The air had changed. Not the smell, the pressure. Like a room when someone opened a door and let fear walk in. Aurora reached beneath her jacket and brushed the Fae-Forged Blade. Cold bit her palm through the cloth. “That sounds less like advice and more like a warning.” “Those are not the same thing here.” He stepped back as if he had said too much. Behind him, trays of sugared pears began to tremble in unison. Isolde turned and pointed towards a narrow arch behind the stall row, half-hidden by a curtain of braided herb bundles. “The taste leads there.” “The taste?” “The place that hungers hardest. Every realm has a belly.” Nyx moved first, a spill of darkness sliding between two pillars. Aurora followed, skirting a table stacked with crystalline loaves. When her sleeve brushed one, the loaf rang like a bell and cracked open to reveal a swathe of pale cream inside, veined with black threads that pulsed once before going still. She forced herself not to look back. They passed beneath the herb curtain and entered a side lane lined with cypress and black fig trees. The air cooled there, not by much, just enough to sharpen every scent. Their roots rose above the ground in braided knots, each one wrapped in strips of parchment covered in tiny script. Some of the paper had rotted away. Some of it looked fresh. Aurora bent close to one strip as she walked. The letters crawled across it in a hand too neat to be human. “Contracts,” she muttered. “Of course,” Nyx said. At the end of the lane, the stone path broke open into a sunken garden, though no light fell from anywhere she could see. Instead, the place glowed from within, a deep amber radiance coming up through the soil itself. Plants grew there in impossible profusion, broad-leafed herbs with silver undersides, trees bearing fruit the size of lanterns, and flowers with mouths instead of petals that opened and closed in patient, hungry pulses. In the centre stood a basin carved from a single block of dark stone. Its rim bore faces in relief, dozens of them, each one with cheeks hollowed by a smile. Water, or something like water, filled it to the lip. The surface reflected the grove behind them, not Dymas, not the market, just the standing stones and the parting leaves of Richmond Park, as if the basin watched from between worlds. Aurora stepped closer. The Heartstone burned hot against her skin. “There,” she said. Isolde came up beside her, pale fingers hovering over the basin without touching. “A wound remembers its maker.” Nyx leaned over the stone lip, and the shadows in the basin shifted. For one instant Aurora saw another shape beneath the surface, vast and folded, like a door made from skin. “What is it?” she asked. “A way in,” Isolde said. “A way through. A way out, if the price is kind.” “That’s three ways too many.” Isolde’s mouth curved. “You are learning.” The basin’s water began to tremble. Tiny rings spread from the centre, fast, fast, fast. Aurora reached for the Fae blade, and the moonsilver leapt cold and clean into her hand. In the amber glow, the edge caught a silver flare sharp enough to sting her eyes. “Tell me this doesn’t wake something,” she said. Nyx lifted their head. The whisper in their voice thinned. “It already has.” The garden went silent. Not quiet. Silent. Even the flowers stopped opening. The leaves froze mid-quiver. Somewhere beyond the trees, a whole rack of bells cut off mid-chime, leaving the air cut raw. Aurora felt the silence press against her eardrums, heavy and deliberate, as though something had placed a palm over the whole garden and waited. Then the basin water split. A black seam opened across the surface, and from it rose a scent of old smoke, iron, and something sweet enough to rot the tongue. The faces carved around the rim began to move, their stone lips peeling back from their teeth. Isolde stepped away at once. “Do not let it see your name,” she said. A hand came up from the water. Long. Pale. Clawed. Then another. And behind Aurora, the herb curtain exploded inward as the chef from the market barked a single word. “Run.”
created_at"2026-03-18T10:23:29.367Z" 3/18/2026, 10:23:29 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency21437
moderation_latency(null)
generation_time25365
tokens_prompt5338
tokens_completion3737
native_tokens_prompt4854
native_tokens_completion3893
native_tokens_completion_images0
native_tokens_reasoning1535
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
usage0.021159
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_043af1bc27b76a210169ba7d216e2c8197a74bc705d32071f3"
is_byokfalse
latency198
model_permaslug"openai/gpt-5.4-mini-20260317"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773829409-xz7pAJsz4fI8WAA601dd"
upstream_id"resp_043af1bc27b76a210169ba7d216e2c8197a74bc705d32071f3"
total_cost0.021159
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags15
adverbTagCount0
adverbTags(empty)
dialogueSentences46
tagDensity0.326
leniency0.652
rawRatio0
effectiveRatio0
97.29% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount1845
totalAiIsmAdverbs1
found
0
adverb"lightly"
count1
highlights
0"lightly"
100.00% AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions(empty)
found(empty)
100.00% AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions(empty)
found(empty)
62.06% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount1845
totalAiIsms14
found
0
word"whisper"
count2
1
word"stomach"
count1
2
word"marble"
count1
3
word"pulsed"
count2
4
word"crystal"
count1
5
word"quivered"
count1
6
word"flicked"
count1
7
word"warmth"
count1
8
word"pulse"
count1
9
word"charm"
count1
10
word"crystalline"
count1
11
word"silence"
count1
highlights
0"whisper"
1"stomach"
2"marble"
3"pulsed"
4"crystal"
5"quivered"
6"flicked"
7"warmth"
8"pulse"
9"charm"
10"crystalline"
11"silence"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences145
matches
0"s in relief"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount4
narrationSentences145
filterMatches(empty)
hedgeMatches
0"began to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences176
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen34
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords1845
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions15
unquotedAttributions0
matches(empty)
78.79% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions56
wordCount1615
uniqueNames13
maxNameDensity1.42
worstName"Aurora"
maxWindowNameDensity2.5
worstWindowName"Aurora"
discoveredNames
Aurora23
Heartstone2
Pendant1
Isolde11
Nyx8
London1
Fae-Forged1
Blade1
Dymas1
Richmond1
Park1
Fae2
One3
persons
0"Aurora"
1"Heartstone"
2"Isolde"
3"Nyx"
4"One"
places
0"London"
1"Richmond"
2"Park"
globalScore0.788
windowScore0.833
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences98
glossingSentenceCount1
matches
0"something like water, filled it to the lip"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.542
wordCount1845
matches
0"Not one clean sound, but many notes tangled together like silver wire"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences176
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs82
mean22.5
std22.94
cv1.02
sampleLengths
018
11
267
333
416
584
613
75
815
923
109
113
1277
1323
148
157
1610
1778
1846
197
2012
2196
2243
2350
248
257
2622
2754
285
293
3049
313
3221
336
346
3522
3611
3710
3818
3917
4015
4115
4220
436
4427
453
4654
4727
487
4921
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount2
totalSentences145
matches
0"being made"
1"were made"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs266
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences176
ratio0
matches(empty)
94.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1621
adjectiveStacks1
stackExamples
0"over plain grey clothes."
adverbCount60
adverbRatio0.03701418877236274
lyAdverbCount5
lyAdverbRatio0.0030845157310302285
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences176
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences176
mean10.48
std7.46
cv0.712
sampleLengths
018
11
27
320
417
523
623
710
87
99
1013
116
1221
134
1410
1530
1613
175
187
198
2019
214
225
234
243
2522
2612
2716
2827
2910
303
3110
328
333
344
3510
3613
3721
3816
3928
4013
415
4228
437
4412
4514
468
4725
4822
4927
70.08% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats5
diversityRatio0.4375
totalSentences176
uniqueOpeners77
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount5
totalSentences122
matches
0"Once, twice, then a whole"
1"Instead, the place glowed from"
2"Even the flowers stopped opening."
3"Somewhere beyond the trees, a"
4"Then the basin water split."
ratio0.041
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount17
totalSentences122
matches
0"She landed hard on one"
1"Her bare feet hovered a"
2"They tapped against one another"
3"They started down a path"
4"She moved on before they"
5"He wore a crisp white"
6"His face had the hollow"
7"They were made from fused"
8"He looked at them without"
9"His accent carried the clipped"
10"His eyes flicked to her"
11"He stared at her for"
12"He stepped back as if"
13"She forced herself not to"
14"They passed beneath the herb"
15"Their roots rose above the"
16"Its rim bore faces in"
ratio0.139
74.75% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount94
totalSentences122
matches
0"Aurora caught the stone arch"
1"Nyx’s whisper came from everywhere"
2"Shadow slid ahead of them,"
3"She landed hard on one"
4"Isolde stood beyond the threshold,"
5"Her bare feet hovered a"
6"Aurora got to her feet"
7"The grove behind them had"
8"Vines climbed marble ribs."
9"Fruit hung in fat clusters"
10"The Heartstone Pendant at her"
11"Nyx drifted past her left"
12"Aurora gave them a look."
13"A low chime rose from"
14"The noise came from a"
15"They tapped against one another"
16"Aurora stared at them for"
17"The liquid inside quivered towards"
18"Aurora looked away."
19"They started down a path"
ratio0.77
40.98% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences122
matches
0"To their right rose a"
ratio0.008
47.62% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences75
technicalSentenceCount10
matches
0"She landed hard on one knee in crushed leaves that were not leaves at all, bright as stained glass and soft as ash."
1"Beyond it all stretched low walls of black stone and arched walkways laced with silver lattice, as though a palace had grown around an orchard and forgotten whi…"
2"Nyx drifted past her left shoulder, more silhouette than body, their shape sharpening and thinning as they looked about."
3"They tapped against one another without wind, each cup full of a dark liquid that reflected no sky, only movement, as if something swam beneath the surface."
4"The fruit upon them came in colours she had no names for, bruised lilac, deep jade, a clear amber that showed a pale core pulsing at its centre."
5"Honey, vinegar, roasting fat, bruised herbs, scorched sugar, sharp citrus, and underneath them all a copper edge that made her tongue ache."
6"A woman in a red veil stopped pouring wine and looked straight at them, her nostrils flaring."
7"Plants grew there in impossible profusion, broad-leafed herbs with silver undersides, trees bearing fruit the size of lanterns, and flowers with mouths instead …"
8"The surface reflected the grove behind them, not Dymas, not the market, just the standing stones and the parting leaves of Richmond Park, as if the basin watche…"
9"Aurora felt the silence press against her eardrums, heavy and deliberate, as though something had placed a palm over the whole garden and waited."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags15
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags15
fancyCount1
fancyTags
0"she muttered (mutter)"
dialogueSentences46
tagDensity0.326
leniency0.652
rawRatio0.067
effectiveRatio0.043
92.1858%