Run: 2026-03-18-01KM07GKQQ2PVHJ9YRA52DJW81

Run Details

Duration:
18.8s
Cost:
$0.016392
Provider:
OpenAI

Model input

System
You are an expert and award-winning novel writer in the dark Thriller 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="4416" name="Detective Harlow Quinn" aliases="Quinn, Detective Quinn, Harlow" pronouns="she/her" species="Human" storyRole="Antagonist"> <eyeColor>brown</eyeColor> <hair>closely cropped salt-and-pepper</hair> <height>5'9"</height> <age>41</age> <jawline>sharp jaw</jawline> <watch>worn leather watch on her left wrist</watch> <bearing>military precision</bearing> <description>A Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity.</description> <backstory>She lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand.</backstory> </character> <character id="4417" name="Tomás Herrera" aliases="Tommy, Tomás, Herrera" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>warm brown</eyeColor> <hair>short curly dark brown</hair> <height>5'10"</height> <age>29</age> <skinTone>olive skin</skinTone> <scar>scar running along his left forearm from a knife attack</scar> <medallion>Saint Christopher medallion around his neck</medallion> <birthplace>Seville, Spain</birthplace> <description>A former paramedic who provides off-the-books medical care for the clique.</description> <backstory>Born in Seville, Spain. He moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <location id="856" name="The Veil Market" aliases="Veil Market, the Market, underground market" realm="Earth"> <currentLocation>abandoned Tube station beneath Camden</currentLocation> <entryRequirement>bone token</entryRequirement> <schedule>moves locations every full moon</schedule> <description>A hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information.</description> </location> </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 thriller genre. A detective is pursuing a suspect through rain-soaked city streets at night. The chase takes them from the street level down into an underground market. The detective must decide whether to follow the suspect into unfamiliar and potentially dangerous territory. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary. </instructions>

Model response

AI
“Stop!” The man in the grey coat slammed through a knot of pedestrians and sent a bicycle skidding into the kerb. Quinn cut round a taxi, boot splashing through a gutter, her left hand tight on the black pistol at her belt and her right already aching from the shove she had taken in the alley behind Charing Cross Road. He did not look back. He only hunched deeper into his collar and drove on, heels flicking water from the pavement. Quinn had seen faces like his before, blank enough to hide money, fear, or guilt, sometimes all three. This one carried a hard set to the mouth, the chin tucked with the grim focus of a man who knew exactly where he was headed. That, more than the cut of his coat or the way he kept one hand in his pocket, told her enough. “Oi!” He shot past a shuttered phone shop and darted into the flow outside a late kebab place. Steam and grease smell burst into the street. Quinn clipped a table, ignored the curse that followed, and kept her eyes on the suspect’s back. Her shoes slapped on wet stone. Her shoulder grazed a brick wall slick with old posters and fresh rain. A bus hissed by, its windows full of tired faces and phone screens, then the road opened into a wider stretch and the man gained half a dozen yards. Quinn ground her teeth. She had been one step behind him since Mayfair, ever since the sour-faced informant with the split lip had pointed his trembling finger and whispered about a courier carrying “bone work” into Camden. She had not trusted the informant. She trusted nothing lately except a trail of stolen goods, bad lies, and blood. The suspect crossed into a narrow market street where pubs crouched beside closed tattoo parlours and vape shops. Neon bled across the puddles in green and pink shards. Quinn caught the flash of his profile as he glanced over one shoulder, just once. Brown eyes. Narrow face. Scar along the jaw. A man who knew the price of getting caught and had set himself a higher one. He vanished between two delivery vans. Quinn lengthened her stride and hit the gap hard. The street behind the vans stank of diesel, sour milk, and old rain trapped in cardboard. Crates towered beside a roller door. A cat hissed from a stack of black bin bags. Quinn caught a flicker of movement ahead, grey coat turning left into a side lane no wider than a coffin. Her own breath rasped loud in her ears. “Police!” That got her a few looks from a kitchen porter smoking under an awning and a couple of students sheltering beneath a cracked umbrella, but none of them moved to help. London had long ago learned the sound of other people’s trouble. The lane opened onto Camden High Street. Traffic crawled. A woman in a silver coat argued with a minicab driver beside a steamed-up window. The suspect slipped through the gap between a sandwich board and a bus shelter, then bolted down a stairwell sunk into the pavement beside a closed record shop. Quinn reached the top of the stairs in time to see his shoulders disappear into darkness. She stopped. A gust rolled up from below, carrying cold damp and something else, a coppery tang beneath the usual stink of drains. The stairwell mouth glowed with a weak yellow bulb and a strip of peeling warning tape. Someone had painted over a sign, but she could still make out ghost letters under the smear of black gloss. No entry. “Of course,” she muttered. A man at the bus shelter lifted his head from his phone. “You after him?” Quinn flicked a look his way. “You see which way he went?” The man shrugged, eyes sliding away. “Thought so.” She took the first steps down. The underground corridor swallowed the street noise fast. Footfalls changed from sharp slap to a damp, hollow tap. The walls sweated with age. Old ad posters curled beneath grime. A dead CCTV camera hung from a bracket above a rusted fire extinguisher box. Quinn kept her left shoulder close to the wall and her right hand near her weapon. The stairs bent twice, then levelled into a tunnel with a row of bare bulbs strung along the ceiling like tired teeth. Halfway along, she found the first clue. A single white glove lay in a puddle by the wall. Not fabric. Bone, polished smooth and cut to fit a hand. It had come free from the suspect’s pocket or been dropped on purpose. Quinn crouched, not touching it yet. Tiny etched marks ran along the knuckles, half-hidden under dirt and water. Not Latin. Not any script she knew. She pulled her phone free, snapped a photo, and kept moving. The tunnel widened ahead. Voices drifted up, low and layered, some clipped and hurried, some rough as old sandpaper. Metal rang. A laugh cut through it, sharp as broken glass. Quinn reached the end of the passage and stopped at a rusted gate hanging ajar. Beyond it, the station opened into a cavern of light and shadow. The old Tube platform had become a bazaar. Stalls crowded the tracks where trains once screamed. Tarpaulins sagged from steel frames. Lanterns glowed in jars, and a dozen different smells fought in the air, incense, wet wool, burnt sugar, antiseptic, animal musk, hot metal. Men and women moved between tables loaded with glass vials, silver charms, sealed envelopes, jars of teeth, and things that looked too much like organs to belong on any public market. A woman in a crimson headscarf traded notes with a hooded figure whose hands were wrapped in bandages stained yellow. A boy no older than sixteen carried a crate of black candles past a stall draped in chains of tiny bells. Quinn let the scene hit her once, then filed it away. The Veil Market. She had heard the name three times in three months, from people who crossed themselves after saying it and from one dead burglar who had drowned with a bone token clenched in his fist. He had not drowned in a river. He had drowned in a dry room. The suspect moved ahead through the crowd, already swallowed half by it. Quinn stepped through the gate. A stocky woman behind a table of cracked mirrors glanced up and drew a line of salt across the wood with one finger. Another trader, tall and bald, shut a ledger with a soft thump and watched Quinn’s badge catch the light. That got her attention. So did the pistol. Quinn kept walking. Heads turned. Not all at once. First a glance, then a pause, then the slow, collective shift of people clocking an outsider. The market did not stop. It only adapted. A cloth was pulled over one tray. A hand closed over a silver talisman. Someone whispered into a phone shaped like an old black brick. Quinn saw no uniforms, no cameras, no obvious guards, but she felt eyes all the same, prickling the back of her neck from every direction. The suspect ducked behind a stall draped in stitched hide. Quinn pushed past a rack of hanging charms, each one clicking softly like teeth. A man with gold rings on every finger stepped into her path. “Tickets are above ground, love.” Quinn showed him the badge. His smile did not move. “That’s a bit of metal.” “Move.” He looked past her, then stepped aside. She caught up to the suspect near a table covered in candle stubs and jars of murky oil. He had shed the grey coat. Beneath it he wore a dark blazer and a shirt with the collar ripped at the throat. He tucked something into his pocket, then straightened and turned as though he had known she would arrive. For a split second, neither of them moved. Then he smiled. “Detective Quinn.” She hated that. Hated the calm in his face, the way her name sat on his tongue as if he had been practising it. “You’ve got a talent for making poor choices.” “Depends what you’re selling.” “I’m here for you.” “Then you’re late.” He slid a hand into his pocket. Quinn’s pistol came up. “Easy.” A small object flashed between his fingers. Ivory. Bone. Cut into a rough disc with a hole bored through the centre. Quinn’s eyes fixed on it. Bone token. He rolled it once across his knuckles. “You need this more than I do.” Quinn held the sight on his chest. “Hands where I can see them.” “I can, if we keep it civil.” A murmur rippled through the nearest stalls. Chairs scraped. One woman began folding her wares with quick, nervous hands. A thin man in a stitched coat moved away, all fake indifference and real fear. “Drop it.” The suspect glanced towards the far end of the platform. “You came in here alone. That’s admirable, in a reckless sort of way.” “Drop the token.” He lifted his free hand in mock surrender, but the bone disc stayed where it was, caught against his thumb. “You know what happens if you leave now?” Quinn’s jaw tightened. “I find you again.” “No. You get lost above ground. Then someone much less patient finds you.” A wet slap echoed from the tunnel behind Quinn. She did not turn. The market noise had changed. Not louder. More careful. Conversations broke off. Somewhere nearby, glass chimed against glass. The crowd had gone still in the way water went still before it dropped. The suspect’s smile thinned. “There. You hear that?” Quinn kept the pistol steady. “What did you bring here?” “Not what. Who.” Another sound came from the tunnel, closer now. A scrape. A dragging foot. The trader with the ringed fingers backed away from his stall. “You’ve got trouble on the line, detective.” “Shut up.” The first shape emerged from the tunnel mouth. Not human. Not quite. It wore a long coat that hung from one shoulder and moved with a wet, uneven lurch, as if its bones had been assembled by an impatient hand. Quinn saw pale fingers, too long, and a face hidden beneath a hood of stitched leather. Another followed, then a third, all of them drawn by the scent of the market or by something far worse. The suspect’s voice dropped. “Now. Token.” Quinn stared at him, then at the things coming through the gate. One of the market women hissed, “You brought them here?” The suspect gave a small, cold shrug. “They were invited.” That earned him a knife from somewhere to the left, or would have, if Quinn had not spun and fired. The shot cracked through the platform, punched sparks from a hanging sign, and sent the nearest figure ducking sideways with a sound like wet cloth tearing. People screamed. Stalls collapsed. Glass burst under boots. The market went from wary to carnage in one breath. Quinn caught the suspect moving for the far stair. She drove after him, shoulder first, smashing through a rack of amulets that scattered underfoot like bone-white coins. A hand grabbed at her coat. She ripped free and slammed an elbow into a face she barely saw. Something hard cracked. A man yelled. Someone else shouted, “Lights out!” and the lanterns along the platform flickered, then died one by one. Darkness flooded in from the edges. Not complete. Enough to blur shapes, not enough to hide motion. The suspect vanished behind a stall stacked with cages. Quinn rounded it and found a narrow passage she had not seen before, a service corridor between the old track wall and a line of crates. The air there tasted of mildew and iron. Her phone light was dead. A strange blue glow leaked through slats in the crate lids, and she heard a low voice speaking somewhere in the dark, too low for words. Then a hand clamped over her mouth from behind. Quinn drove her elbow back. It hit ribs. The grip tightened. She twisted, caught a wrist, and felt slick skin beneath her fingers, cold as river stone. She jabbed the heel of her boot down. There was a grunt, then a body crashing into the crates with a splintering crack. She whipped round, gun raised. Tomás Herrera blinked at her from behind a toppled crate, one hand pressed to his side, the Saint Christopher medallion banging against his chest. “Bit dramatic for a Saturday.” Quinn stared at him, then past him to the corridor. “What are you doing here?” “Providing medical cover for idiots, same as ever.” He looked from her smoking gun to the black shapes moving in the platform behind her. His expression changed. Not fear. Calculation. The kind that came before stitching a wound with no proper light and no proper tools. “You followed him in here?” “Yes.” Tomás gave a short, humourless laugh. “You should have brought a coffin instead.” A crash rang out from the platform. Then another. Something heavy struck metal. The corridor walls shivered. Quinn tightened her grip on the pistol and looked towards the dark passage ahead, where the suspect had gone and where the market had swallowed the night whole. “What’s the safest route out?” Tomás’s eyes went to the tunnel behind them, then to the trembling crate at his feet, then back to her face. “Safe?” He shook his head once. “That door’s gone. There’s only deeper, or dead.” A shriek tore through the platform, close enough to shake dust from the ceiling. Quinn took one step towards the sound. And the thing in the corridor ahead lifted its hood and smiled with too many teeth.
created_at"2026-03-18T10:22:57.806Z" 3/18/2026, 10:22:57 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency3173
moderation_latency(null)
generation_time18346
tokens_prompt4663
tokens_completion3586
native_tokens_prompt4132
native_tokens_completion2954
native_tokens_completion_images0
native_tokens_reasoning94
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.016392
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_06157503dc45e5ff0169ba7d01e1708193afd91f00fd1a322b"
is_byokfalse
latency179
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-1773829377-UeKq4ro2NRdpGdr2Oqi7"
upstream_id"resp_06157503dc45e5ff0169ba7d01e1708193afd91f00fd1a322b"
total_cost0.016392
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
totalTags5
adverbTagCount0
adverbTags(empty)
dialogueSentences44
tagDensity0.114
leniency0.227
rawRatio0
effectiveRatio0
97.82% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2292
totalAiIsmAdverbs1
found
0
adverb"softly"
count1
highlights
0"softly"
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)
86.91% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2292
totalAiIsms6
found
0
word"flicker"
count1
1
word"flicked"
count1
2
word"etched"
count1
3
word"echoed"
count1
4
word"lurch"
count1
5
word"flickered"
count1
highlights
0"flicker"
1"flicked"
2"etched"
3"echoed"
4"lurch"
5"flickered"
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
emotionTells0
narrationSentences201
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount0
narrationSentences201
filterMatches(empty)
hedgeMatches(empty)
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences240
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen39
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2292
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions4
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions55
wordCount2101
uniqueNames17
maxNameDensity1.62
worstName"Quinn"
maxWindowNameDensity3
worstWindowName"Quinn"
discoveredNames
Charing1
Cross1
Road1
Mayfair1
Camden2
High1
Street1
Latin1
Tube1
Veil1
Market1
Quinn34
Herrera1
Saint1
Christopher1
Bone3
Tomás3
persons
0"Market"
1"Quinn"
2"Herrera"
3"Saint"
4"Christopher"
5"Tomás"
places
0"Charing"
1"Cross"
2"Road"
3"Camden"
4"High"
5"Street"
globalScore0.691
windowScore0.667
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences135
glossingSentenceCount0
matches(empty)
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2292
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences240
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs105
mean21.83
std24.52
cv1.123
sampleLengths
01
159
221
365
41
590
657
767
86
99
1060
111
1242
1352
1416
152
1657
172
184
1915
2012
216
222
236
2481
257
2671
274
2853
298
30108
3162
3212
335
3442
358
363
3780
3836
395
405
4110
421
437
4459
458
463
472
4824
498
94.79% Passive voice overuse
Target: ≤2% passive sentences
passiveCount6
totalSentences201
matches
0"was headed"
1"been dropped"
2"were wrapped"
3"was pulled"
4"was, caught"
5"been assembled"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs332
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences240
ratio0
matches(empty)
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2105
adjectiveStacks0
stackExamples(empty)
adverbCount53
adverbRatio0.02517814726840855
lyAdverbCount6
lyAdverbRatio0.0028503562945368173
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences240
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences240
mean9.55
std7.54
cv0.789
sampleLengths
01
120
239
35
416
518
626
721
81
917
108
1117
126
1313
1429
154
1633
176
1814
1918
2010
2115
222
232
244
2516
266
279
2816
296
3010
3120
328
331
3431
3511
367
372
3815
3928
4016
412
4221
4316
4420
452
464
4712
483
496
49.86% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats12
diversityRatio0.32916666666666666
totalSentences240
uniqueOpeners79
56.82% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount3
totalSentences176
matches
0"Then he smiled."
1"Somewhere nearby, glass chimed against"
2"Then a hand clamped over"
ratio0.017
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount38
totalSentences176
matches
0"He did not look back."
1"He only hunched deeper into"
2"He shot past a shuttered"
3"Her shoes slapped on wet"
4"Her shoulder grazed a brick"
5"She had been one step"
6"She had not trusted the"
7"She trusted nothing lately except"
8"He vanished between two delivery"
9"Her own breath rasped loud"
10"She took the first steps"
11"It had come free from"
12"She pulled her phone free,"
13"She had heard the name"
14"He had not drowned in"
15"He had drowned in a"
16"It only adapted."
17"His smile did not move."
18"He looked past her, then"
19"She caught up to the"
ratio0.216
22.50% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount154
totalSentences176
matches
0"The man in the grey"
1"Quinn cut round a taxi,"
2"He did not look back."
3"He only hunched deeper into"
4"Quinn had seen faces like"
5"This one carried a hard"
6"That, more than the cut"
7"He shot past a shuttered"
8"Steam and grease smell burst"
9"Quinn clipped a table, ignored"
10"Her shoes slapped on wet"
11"Her shoulder grazed a brick"
12"A bus hissed by, its"
13"Quinn ground her teeth."
14"She had been one step"
15"She had not trusted the"
16"She trusted nothing lately except"
17"The suspect crossed into a"
18"Neon bled across the puddles"
19"Quinn caught the flash of"
ratio0.875
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences176
matches(empty)
ratio0
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences85
technicalSentenceCount4
matches
0"Men and women moved between tables loaded with glass vials, silver charms, sealed envelopes, jars of teeth, and things that looked too much like organs to belon…"
1"Hated the calm in his face, the way her name sat on his tongue as if he had been practising it."
2"It wore a long coat that hung from one shoulder and moved with a wet, uneven lurch, as if its bones had been assembled by an impatient hand."
3"The kind that came before stitching a wound with no proper light and no proper tools."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags5
uselessAdditionCount0
matches(empty)
81.82% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags3
fancyCount3
fancyTags
0"she muttered (mutter)"
1"the market women hissed (hiss)"
2"Someone else shouted (shout)"
dialogueSentences44
tagDensity0.068
leniency0.136
rawRatio1
effectiveRatio0.136
88.5728%