openai/gpt-5.4-mini
GPT-5.4 Mini (Reasoning, Low)Release Date
Mar 17th, 2026Context Size
400kReasoning
YesBenchmark Cost
$3.31Speed
130.4 tok/sCategories
Subcategories
Bad Writing Habits
Detects common prose quality anti-patterns in AI-generated creative writing, including passive voice, past progressive overuse, weak dialogue tags, filter words, purple prose, cliches, AI-ism words/adverbs/names, and more.
| Scenario | #1 | #2 | #3 | #4 | #5 | Total |
|---|---|---|---|---|---|---|
| Detailed Writing Rules | ||||||
| 90 | 89 | 87 | 86 | 85 | 87% | |
| 92 | 89 | 87 | 87 | 87 | 88% | |
| 91 | 85 | 85 | 85 | 84 | 86% | |
| 91 | 89 | 88 | 87 | 84 | 88% | |
| 91 | 90 | 88 | 88 | 85 | 88% | |
| 91 | 90 | 89 | 88 | 86 | 89% | |
| Detailed Writing Rules | 87.80% | |||||
| genre | ||||||
| 85 | 84 | 83 | 82 | 80 | 83% | |
| 88 | 88 | 86 | 85 | 82 | 86% | |
| 90 | 88 | 87 | 86 | 86 | 87% | |
| 89 | 88 | 87 | 87 | 84 | 87% | |
| 91 | 90 | 89 | 89 | 89 | 90% | |
| 91 | 88 | 88 | 88 | 82 | 87% | |
| genre | 86.63% | |||||
| Novelcrafter Default Prompt | ||||||
| 89 | 86 | 84 | 83 | 79 | 84% | |
| 90 | 86 | 85 | 85 | 84 | 86% | |
| 87 | 86 | 85 | 84 | 79 | 84% | |
| 89 | 88 | 86 | 86 | 84 | 87% | |
| 88 | 87 | 86 | 86 | 84 | 86% | |
| 91 | 88 | 88 | 87 | 87 | 88% | |
| Novelcrafter Default Prompt | 85.89% | |||||
| 86.78% | ||||||
Codex Extraction
Evaluates a model's ability to extract structured codex entries (characters, locations, objects, lore) from prose passages and return them as well-formed XML.
| Scenario | #1 | #2 | #3 | #4 | #5 | Total |
|---|---|---|---|---|---|---|
| 96 | 96 | 95 | 95 | 95 | 95% | |
| 96 | 95 | 94 | 94 | 93 | 94% | |
| 94 | 91 | 90 | 89 | 88 | 91% | |
| 92 | 90 | 89 | 88 | 87 | 89% | |
| 92.42% | ||||||
Codex Red Herring (False Positive Detection)
Tests whether models correctly report "no violations" when a codex is fully consistent with the prose passage. Models that hallucinate false violations (false positives) fail. Uses a 2×2 matrix of text length × codex size, with bare and detailed-entry variants.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| basic entries | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 25 | 25 | 85% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 25 | 25 | 85% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 25 | 93% | |
| basic entries | 90.63% | ||||||||||
| detailed entries | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| detailed entries | 100.00% | ||||||||||
| 95.31% | |||||||||||
Codex Violation Detection
Detects factual inconsistencies between a story bible and prose passages. The model must output structured XML identifying each violation with paragraph number and substring.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| matrix | |||||||||||
| 91 | 90 | 89 | 89 | 88 | 87 | 86 | 85 | 85 | 84 | 87% | |
| 96 | 96 | 95 | 94 | 93 | 92 | 91 | 89 | 87 | 87 | 92% | |
| 93 | 88 | 88 | 88 | 84 | 84 | 83 | 80 | 75 | 75 | 84% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 97 | 97 | 97 | 99% | |
| matrix | 90.61% | ||||||||||
| tiers | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 94 | 94 | 94 | 89 | 89 | 89 | 95% | |
| 94 | 94 | 94 | 94 | 92 | 92 | 89 | 89 | 88 | 81 | 91% | |
| 97 | 97 | 97 | 97 | 97 | 97 | 97 | 92 | 83 | 83 | 94% | |
| tiers | 94.82% | ||||||||||
| 92.72% | |||||||||||
Data extraction
Extract key details from a given block of text.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 91.67% | |||||||||||
Dialogue tags
Various tasks related to dialogue tags in text.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| dialogue-200 | |||||||||||
| 99 | 60 | 50 | 50 | 49 | 47 | 43 | 35 | 34 | 28 | 50% | |
| 82 | 64 | 61 | 55 | 52 | 50 | 43 | 34 | 5 | 1 | 45% | |
| 70 | 68 | 68 | 66 | 63 | 57 | 53 | 39 | 35 | 10 | 53% | |
| dialogue-200 | 49.09% | ||||||||||
| dialogue-500 | |||||||||||
| 18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2% | |
| 21 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2% | |
| 50 | 40 | 32 | 23 | 4 | 4 | 3 | 2 | 0 | 0 | 16% | |
| dialogue-500 | 6.68% | ||||||||||
| Ungrouped | |||||||||||
| 61 | 61 | 61 | 61 | 14 | 14 | 14 | 14 | 14 | 1 | 31% | |
| 28.35% | |||||||||||
Language Comprehension
Does the model understand more than just English?
| Scenario | #1 | #2 | #3 | #4 | #5 | Total |
|---|---|---|---|---|---|---|
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 0 | 80% | |
| 100 | 100 | 100 | 0 | 0 | 60% | |
| 85.00% | ||||||
Language Writing
Can the model generate text in different languages?
| Scenario | #1 | #2 | #3 | #4 | #5 | Total |
|---|---|---|---|---|---|---|
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 97 | 99% | |
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100% | |
| 99.89% | ||||||
N-Length Sentences
Write sentences with exactly N words
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100.00% | |||||||||||
Novel outline
Handle questions about the outline of a novel in various formats
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| outline-count | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| outline-count | 100.00% | ||||||||||
| pov-count | |||||||||||
| 100 | 50 | 50 | 50 | 50 | 50 | 0 | 0 | 0 | 0 | 35% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| pov-count | 78.33% | ||||||||||
| 89.17% | |||||||||||
Text Replacement
Tests deterministic text transformations: renaming characters/locations, expanding contractions, tense rewriting, POV shifts, gender swaps, combined transformations, and word avoidance. Scored by checking each expected change independently.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | Total |
|---|---|---|---|---|---|---|---|---|
| Generic Prompt | ||||||||
| 100 | 100 | 100 | 100 | 100 | 89 | 89 | 97% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 99 | 99 | 99 | 99 | 99 | 98 | 95 | 98% | |
| 91 | 90 | 89 | 89 | 88 | 87 | 84 | 88% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 74 | 74 | 74 | 89% | |
| 94 | 93 | 91 | 90 | 89 | 89 | 88 | 91% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 96 | 96 | 96 | 96 | 96 | 95 | 91 | 95% | |
| Generic Prompt | 95.34% | |||||||
| Specific Prompt | ||||||||
| 100 | 100 | 100 | 100 | 89 | 89 | 89 | 95% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 99 | 99 | 98 | 98 | 97 | 96 | 96 | 98% | |
| 100 | 100 | 100 | 100 | 99 | 98 | 83 | 97% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 95 | 95 | 95 | 94 | 94 | 96% | |
| 94 | 94 | 93 | 92 | 92 | 92 | 89 | 92% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 98 | 98 | 97 | 99% | |
| Specific Prompt | 97.54% | |||||||
| 96.44% | ||||||||
Tool usage within Novelcrafter
Output messages that are related to tool usage within Novelcrafter
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100.00% | |||||||||||
Voice/dialogue sheets
Extract dialogue from given text as voice sheets.
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0% | |
| 100 | 100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 20% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 0 | 90% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 30% | |
| 48.00% | |||||||||||
Write N of X
Write exactly N words/sentences/paragraphs...
| Scenario | #1 | #2 | #3 | #4 | #5 | #6 | #7 | #8 | #9 | #10 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| paragraphs | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| paragraphs | 100.00% | ||||||||||
| sentences | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 98 | 98 | 100% | |
| sentences | 99.92% | ||||||||||
| words | |||||||||||
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100% | |
| 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 98 | 54 | 95% | |
| 100 | 100 | 100 | 98 | 98 | 77 | 77 | 2 | 0 | 0 | 65% | |
| words | 92.10% | ||||||||||
| 96.93% | |||||||||||