There is no best AI model for content creation, only one per job: Nemotron 3.5 Lightning for research at 3/3 and Haiku 5.5 for steering at 5/5.
There Is No Best AI Model for Content Creation, Only a Best Model Per Job
I will say it plainly: there is no best AI model for content creation, only a best model per job, and my own probes picked Nemotron 3.5 Lightning to research, Claude Haiku 5.5 to steer, GLM 5.3 Flash to write the pipeline draft, and Claude Sonnet 5.5 to run chat. One honest caveat sits on top of that: my grader cannot tell my two writers apart. Since 2026-10-14 Claude writes my own columns, and GLM 5.3 Flash stays as the fallback Writer.
Let’s get one thing straight. “Content” here means text: research, outlines, drafts, fact-checks. The search results for this phrase are also full of GPU and image-generation pages, and none of them will help you pick a model for a writing pipeline.
So this is a routing problem, not a ranking problem. A leaderboard puts every model on one scale. My stack has four jobs, and the model that wins one job often fails the next. LM Market Cap ranks Nemotron 3.5 Lightning #266 of 444 in its Coding category, and it still finished my research tool chain 3 times out of 3. A coding rank says nothing about whether a model calls the second tool before the third.
Here is the whole cast, with the test that won each job and the number that would take it away. Every figure is mine, measured on my own prompts.
| Job | Model | Test that won it | Model it beat | My number | What overturns it |
|---|---|---|---|---|---|
| Research | Nemotron 3.5 Lightning | three-step tool chain | Claude Haiku 5.5, 0/5 | 3/3 at 4.8 s, $0.430 per 1000 chains | no number written yet; the failure mode is in the research section |
| Steering | Claude Haiku 5.5 | constrained nested JSON | minimax-m3, 3/5 | 5/5 at 3.6 s, $0.335 per 1000 calls | a Strategist call over 90 s or a cut-off manifest in 2 of 5 runs, or a probe under 4/5 |
| Pipeline draft | GLM 5.3 Flash | one whole HTML page | gemini-3.5-flash-lite, 2/3 at $13.159 | 3/3 at 36.9 s, $1.498 per 1000 pages | no number written yet |
| My columns | Claude | length and my own read | the GLM Writer at 3,485 to 3,944 words | 1,865 to 2,769 words | 2 of the next 5 drafts sent back for a rewrite |
| Chat | Claude Sonnet 5.5 | 18 replayed chat turns | Claude Haiku 5.5, 15/18 | 18/18 at about $0.044 a turn | chat spend above $10 a month, or more than 1 in 10 failed document turns |
Everything I write on the column runs through this cast. The rest of this piece is the evidence behind each row.
Research With Nemotron 3.5 Lightning: The Tool Chain Test and the 2026-10-10 Incident
The research job is a chain: search, read the result, call the next tool with what came back. My probe copies that shape with three tools, where each one needs the previous one’s answer. Nemotron 3.5 Lightning passed it 3/3 at a p50 of 4.8 s (half the calls were faster than that) and $0.430 per 1000 chains. It also wrote a full page 3/3 at 26.0 s for $1.421 per 1000. Steering is its weak column: 2/3, because one response would not parse as an object at all.
The model it beat is the one I trust most for decisions. Claude Haiku 5.5 failed the same chain 0/5 through OpenRouter and 0/5 on the direct Anthropic API. It skipped the middle tool and guessed the rate. Same failure on two gateways, so it is the model, not the plumbing.
Price is where you should check my homework. I read $0.07 per million input tokens and $0.20 per million output from OpenRouter’s models API on 2026-10-20, and CloudPrice’s Nemotron Lightning 3.5 page lists the same rate. OpenRouter’s compare page for Nemotron 3.5 Lightning showed a lower figure the same week. Two catalogue pages disagree, so I quote the rate I read with its date, and you should read yours.
It has failed me once in production. On 2026-10-10 the search planner on Nemotron returned unparseable JSON after 97 s, and a 45 s phase timer had already killed every search call. The fix was a planner retry and a timer that starts after planning.
I have not written a numeric reversal trigger for research. That is a gap, and I’d rather say it than invent one. What I watch instead is that failure mode: a planner that hangs, then a timer that kills the searches behind it.
Steering With Claude Haiku 5.5: Constrained JSON, the Strategist Call, and the Outline Limit
Steering is every stage that returns a structure the next stage builds on: the plan, the intent, the outline, the fact-check, the Critic. Constrained nested JSON is the test. Claude Haiku 5.5 passed it 5/5 at 3.6 s and $0.335 per 1000 calls. minimax-m3, the model it replaced, went 3/5 at 14.6 s and $0.829 the same hour.
Source: Our own measurements
A probe is a small prompt, so I also replayed the real thing: the Strategist call of my hooks column, a 58,000-character prompt. Haiku took 35 to 38 s and about half a cent per call, $0.0055 to $0.0059, with the manifest complete both times. minimax took 78 to 92 s at $0.012 to $0.014, and one manifest was cut off at the output cap. In production, minimax had taken 176 s, 145 s and 58 s on the same call. Two replays per model is thin, and I’ll say so. It was enough to move the default.
The one defect: Haiku cannot see an array limit
The first production outline on Haiku failed three times. It returned 9 sections against a limit of 8. Replayed, only 2 of 5 outlines were valid. The cause is upstream of the model: Anthropic’s structured output drops array size caps, so Haiku never saw the limit. Naming the limit in the instructions brought it to 4/5, and one retry that names the count covers the rest. If you put Haiku on schemas with list limits, write the limit in words too.
The catalogue rate is $0.10 per million input tokens and $0.50 per million output. The trigger I wrote down: a Strategist call over 90 s, or a truncated manifest, in 2 of 5 production runs; or a steering probe under 4/5. The same discipline of writing the trigger before the result is what my green gate rules for a Claude Code workflow are built on.
Writing the Pipeline Draft With GLM 5.3 Flash, and Why Claude Writes My Columns
The writing test I run is one whole HTML page on my real artifact-writer prompt. GLM 5.3 Flash wrote it 3/3 at 36.9 s and $1.498 per 1000 pages. gemini-3.5-flash-lite managed 2/3 at $13.159 per 1000, which is 8.8 times more for the same page. GLM’s catalogue rate is $0.048 per million input tokens and $0.12 per million output. It also works as my image judge: on the studio’s first real run it named every fault a person saw on five images, two tails, a doubled jar mouth, a face with no eyes, in JSON at 6 to 20 s a call.
Source: Our own measurements
One setting made it usable. At the provider’s default reasoning effort, GLM spent 166 s on one artifact prompt and returned an empty string. At effort low it answers.
Its weakness is length. Before the pipeline had a word budget, the GLM Writer turned a column that needed 2,677 words into 7,236, and polish then dropped the keyword. With a budget, its four columns still ran 3,485 to 3,944 words against an informational budget of 2,200. That is why my columns moved to Claude at the draft hold on 2026-10-14.
The grader cannot tell my two writers apart
I could be wrong about the writer, and my own grader can’t settle it. The Critic scored four GLM columns 73 to 75, a mean of 74.25. It scored nine Claude columns 67 to 85, a mean of 74.3, at 1,865 to 2,769 words. The same text re-graded has moved about 8 points, so a gap that small is noise. Fact-check corrections run the other way: 4 of 99 claims (4.0%) on GLM columns, 20 of 226 (8.8%) on Claude columns. Claude columns carry more first-person claims, which is the likely cause, and I have not measured it.
So Claude keeps my columns on length discipline and my own read of each draft, not on a score. If 2 of the next 5 Claude drafts come back for a rewrite rather than edits, the columns go back to the GLM Writer. The fixes and workshops on this site go through the same desk.
Chat With Claude Sonnet 5.5: The Document Routing Test
The chat is the hardest job in my stack because it is two jobs at once. In one turn it decides whether you asked for a document, then it calls the tools that start a run. So I replayed the real chat agent, every tool stubbed, six asks three times each.
Claude Sonnet 5.5 at effort low got 18/18, at 2 to 8 s a turn and about $0.044 a turn uncached. On the three-step tool chain it went 5/5 at a p50 of 4.1 s on the direct API. Haiku 5.5 got 15/18 at about $0.0023 a turn, and it missed “write a cold email” 3 times in 3: it answered inline and made no document. gemini-3.5-flash-lite, the old default, got 12/12 at $0.0041 a turn, then missed the new run tools.
Sonnet is the most expensive model in my stack at $2.00 per million input tokens and $10.00 per million output. It is the chat default since 2026-10-20 because it is the only model that passed both columns, steering and tools. The trigger: chat spend above $10 a month, or more than 1 in 10 failed document turns.
Anthropic’s Sonnet 5.5 launch page calls it “strongest at well-scoped everyday tasks” and good at “creating polished documents, slides, and spreadsheets”. My replay agrees on the routing part. But a launch page is a claim about the model in general, and my test is a claim about my chat agent. Run yours where you actually call it.
One bug turned up on the way. With thinking on, an Anthropic model returns a 400 (“tools list differs”) when the tool list changes in the middle of a turn. The fix is a tool list fixed per turn.
Honorable Mention: Muse Spark 1.3 Holds No Job Yet
Muse Spark 1.3 is the model I would most like to give a job. Its language is very natural and light. It reads like a person talking, not a model explaining. That is my reading, not a measurement, and I want to keep those two apart.
What I did measure: Muse Spark 1.3 passed steering 3/3 at 9.5 s and the tool chain 3/3 at 7.4 s. It is the only open-weight model in my probe that passed both outright. It is also the most expensive open model I probed, $5.584 per 1000 steering calls and $7.021 per 1000 tool chains. The catalogue rate is $1.25 per million input tokens and $4.25 per million output, so it is a model you pick for capability, never to save money.
I have not probed it on long-form writing. So it holds no writing job, and I won’t give it a verdict on the one thing I like it for. The test is cheap to run: my pipeline lets one stage take another model in the brief, so the writer can sit on muse-spark-1.3 while Haiku keeps steering. That run has not happened yet. When it does, it gets the same rules as the others: the same prompt, the same word budget, the same grader, and a number written down before the result.
What the Numbers Can’t Prove, How to Run the Same Test, and Swapping Models Through Config
The research behind this piece found no independent measurement of any model on a content-pipeline job. My cells are the only data here, and they have limits. Three trials separate 3/3 from 0/3; they cannot split 3/3 from 2/3. My grader cannot split GLM from Claude. The fact-check gap on Claude columns is unexplained. I have no French quality measure and no monthly bill total in this record.
Run the same probe on your own calls
The method is four job shapes copied from real call sites: extract (small flat JSON), steering (nested constrained JSON), tools (a three-step chain), write (one whole page on your real writer prompt). Three trials per cell at reasoning effort low. Cost is the tokens actually billed times the catalogue rate, never the headline rate. gemini-3.5-flash emits 83% of its output as billed reasoning and flash-lite 0%, and that one fact is the whole 15× cost gap between them. Put failures beside wins. openai/gpt-oss-120b was the cheapest model I probed, $0.024 per 1000 extracts, and it invented the hourly rate instead of calling the tool, 0/3 at low and 0/5 at default. Is a model that’s cheap and confidently wrong a bargain? No. It is the worst cell in the table.
Keep the model in configuration, not in code. In my stack one constant, DEFAULT_MODEL_FOR_TASK, maps each job to a model, so a swap is one line. The model ID itself is a string that moves: cosmicjs read Anthropic’s own docs and lists Sonnet 5.5 as claude-sonnet-5-5 at $2 and $10 per million tokens. The same discipline keeps my whole monthly stack small.
The triggers, in one place: Haiku leaves steering after a Strategist call over 90 s or a truncated manifest in 2 of 5 runs, or a probe under 4/5. Sonnet leaves chat above $10 a month or 1 failed document turn in 10. Claude leaves my columns after 2 rewrites in the next 5 drafts.
Sources
- Introducing Claude Sonnet 5.5 \ Anthropic
- Nemotron 3.5 Lightning vs Extract - AI Model Comparison | OpenRouter
- Claude Sonnet 5.5 vs Sonnet 5: What Changed
- Nemotron 3.5 Lightning (free) - Pricing & Benchmarks 2026 | LM Market Cap
- Nemotron Lightning 3.5 pricing & specs — NVIDIA | CloudPrice
- Fixes
- Workshops
- The column
- Claude Code Workflow: Why Your Green Gate Might Be Lying to You — the column
- Reduce SaaS Costs: My Entire Business Stack — the column
Questions, answered
- What is the best AI model for content creation?
- There is no single best model, only a best model per job. In the author's own tests, Nemotron 3.5 Lightning won research, Claude Haiku 5.5 steering, GLM 5.3 Flash pipeline drafts, and Claude Sonnet 5.5 chat.
- Why did Claude Haiku 5.5 fail the research test but win steering?
- On the three-step tool chain, Haiku 5.5 skipped the middle tool and guessed the rate, failing 0/5 on both OpenRouter and the direct Anthropic API. On constrained nested JSON steering, it passed 5/5 at 3.6 s and $0.335 per 1000 calls.
- How much does GLM 5.3 Flash cost per page compared to gemini-3.5-flash-lite?
- GLM 5.3 Flash wrote a full HTML page 3/3 at $1.498 per 1000 pages, while gemini-3.5-flash-lite cost $13.159 per 1000, about 8.8 times more.
- Why does Claude write the columns instead of GLM 5.3 Flash?
- Because of length discipline: with a budget, GLM columns ran 3,485 to 3,944 words against a budget of 2,200, while Claude columns ran 1,865 to 2,769 words. The grader could not tell the two writers apart, so the decision rests on length and the author's own read.
- What is the cheapest AI model tested and is it any good?
- openai/gpt-oss-120b was the cheapest probed at $0.024 per 1000 extracts, but it invented the hourly rate instead of calling the tool, scoring 0/3 at low and 0/5 at default effort. The author calls it the worst cell in the table.