The short answer
Every model, at both effort levels, kept to every word and character limit, followed every rule for the search page and fixed all ten mistakes we had planted in the client's draft. None invented a number, a review or a promise. On this kind of work, briefed with a fact sheet and clear limits, the model did not decide the quality.
What did differ:
- Cost. At Claude Code's default effort the three jobs cost $0.023 on Haiku 5.5 and $1.28 on Fable 5.1. At max effort, $0.30 and up to $3.71 on Opus 5.5.
- Small inventions. The fact sheet named three therapists and gave no pronouns. Most runs gave at least one of them a "she" or a "he" anyway: Fable 5.1 five times at max effort. Only Haiku and Opus at max effort avoided it entirely, and both said why.
So we would write first drafts with Haiku 5.5 at the default effort and spend the savings on a person reading them. If you want a model that keeps strictly to the facts without being told twice, Haiku and Opus at max effort did that best here.
- 8 of 8runs met every limit and fixed all 10 planted mistakes
- $0.023Haiku 5.5, all three jobs at default effort, 1.8 min
- $0.16Sonnet 5.5 at default, 0.7 min
- $0.44Opus 5.5 at default, 1.3 min
- $1.28Fable 5.1 at default, 2.9 min
The three jobs
The client is made up: Brightwater Physical Therapy, a clinic in Austin with three therapists. Every model got the same one-page fact sheet (address, opening date, the three therapists and what each treats, visit lengths, insurers, self-pay prices, hours, phone, parking) and a note that the clinic has no awards, reviews, patient numbers or success rates, and does not promise results.
- Home page copy in 14 labelled fields, each with a limit: a headline of 8 words or fewer, a subheadline of 25 or fewer, three service texts of 30 to 50 words, a meta description of 120 to 155 characters, and so on.
- A service page for search, for "sports injury physical therapy in Austin": meta title and description within limits, one heading with the phrase and the city, 3 to 5 sections and an FAQ with exactly three questions, 600 to 800 words, and the exact phrase used 2 to 5 times.
- The client's own About text, to edit for publishing in their voice and at roughly their length. We planted ten mistakes in it: the wrong clinic name, the wrong opening year, a typo, "Austin's best", "award-winning", "over 5,000 patients", a therapist called MD instead of DPT, the wrong Saturday hours, a "pain-free" guarantee and a wrong digit in the phone number.
How we tested
We ran every test on 24 October 2026 in Claude Code (version 2.1.310): the model gets a folder with the brief and the files, can run commands (to count words, for example) and says when it is done.
- The models. Haiku 5.5, Sonnet 5.5, Opus 5.5 and Fable 5.1. Every response in the logs names the model that served it.
- The same prompt for all, with folders named by random codes. No web, no other agents, no advisor model.
- Two effort levels. Each model did the jobs twice: at
max, and at Claude Code's default, which ismediumfor Haiku, Sonnet and Opus 5.5 andhighfor Fable 5.1. Opus's max-effort run is a second attempt, because the first died when our test machine restarted, and the logs show it switching frommaxtoxhigh, one step lower, for its last 10 of 17 steps. We did not change it on purpose. - Checks written first. A script counted every limit, checked the page structure and the phrase, looked for each of the ten planted mistakes, and scanned all three texts for superlatives, invented numbers, guarantees, dashes and phrases that read as machine-written. We read every text as well.
- One check added later. Reading the first results, we noticed the pronouns, so we added a count of he, she, his and her about the therapists. It changes no score above; it is reported on its own.
- One run each per model and effort. A second run would word things differently.
- Cost is the run's tokens at Anthropic's API prices, read on 24 October 2026.
The results
| Haiku 5.5 | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | |
|---|---|---|---|---|
| Home page limits (14) | 14/14 | 14/14 | 14/14 | 14/14 |
| Search page rules (7) | 7/7 | 7/7 | 7/7 | 7/7 |
| Errors fixed in the client's draft (10) | 10/10 | 10/10 | 10/10 | 10/10 |
| Cost, max effort | $0.30 | $1.97 | $3.71 | $2.29 |
| Time, max effort | 7.4 min | 14.9 min | 16.7 min | 5.9 min |
| Cost, default effort | $0.023 | $0.16 | $0.44 | $1.28 |
| Time, default effort | 1.8 min | 0.7 min | 1.3 min | 2.9 min |
The scan for invented claims flagged two things across the eight runs, and both were fine on reading: Fable's search page at default effort said "chasing a personal best" and "her best estimate", which are not claims about the clinic, and Fable's at max effort mentioned training for a 5K.
At max effort Fable was the quickest and Haiku the cheapest. At the default effort every run took under three minutes, and Sonnet finished all three jobs in under one.
The headlines they wrote
Here is the headline each run wrote for the home page. Judge them as you would a junior copywriter's:
| Model | Max effort | Default effort |
|---|---|---|
| Haiku 5.5 | Physical therapy that fits around your life | Physical therapy in Austin that fits your week |
| Sonnet 5.5 | Physical therapy with time for you | Physical therapy that fits your life |
| Opus 5.5 | Physical therapy that fits around your life | Physical therapy in Austin, one on one |
| Fable 5.1 | One-on-one physical therapy in Austin | One-on-one physical therapy in Austin |
Haiku and Opus at max effort wrote the same headline, both built from the client's own line in the About draft, "physical therapy should fit around your life". Fable wrote the same headline at both effort levels. None of them is wrong, and none would surprise a client.
The small inventions
The fact sheet lists Dana Ruiz, Marcus Hale and Priya Nair with their degrees and what they treat. It says nothing about who is a man or a woman. A sentence like "she looks at how you move" is a small invention, but it is one a client has to catch, and getting it wrong is awkward for a real person.
| Haiku 5.5 | Sonnet 5.5 | Opus 5.5 | Fable 5.1 | |
|---|---|---|---|---|
| He, she, his or her for a therapist, max effort | 0 | 1 | 0 | 5 |
| He, she, his or her for a therapist, default effort | 2 | 3 | 1 | 3 |
| About page against the draft's length, max | -5% | -9% | +3% | +9% |
| About page against the draft's length, default | -10% | -18% | +12% | +4% |
Haiku at max effort said in its notes that it had avoided pronouns "because facts.md gives no gender", and Opus at max effort listed pronouns among the things it avoided on purpose. At the default effort, Opus said it had used no pronouns for Dana, and gave Marcus a "him". The lengths show something else: every About page stayed within about a fifth of the client's length, and the ones that grew had added facts from the sheet, such as insurers or the address.
The other inventions were the ones every copywriter makes: general advice on the search page (what to wear to a first visit, what to write down about an injury) and examples ("a turned ankle in a pickup game"). Every run listed these in its notes as its own wording, for the client to confirm or cut. Fable at max effort went further and pointed out that "no referral needed" may not hold for insurance cover, a point worth putting to a clinic.
Keeping the client's voice
The About job asked for the client's voice. Their draft said the team was "small on purpose" and that the first visit is long "so we can really listen". Neither is a fact on the sheet, and neither is a claim anyone can check. Sonnet, Opus and Fable at max effort kept both lines, and Sonnet and Opus said so in their notes; Haiku at max effort cut "on purpose" and "so we can really listen" as unsupported. Both are defensible readings of "take out anything the facts do not support". If your client's voice matters, say in the brief which lines are theirs to keep.
What this test does not show
- Long pieces. Our longest text was a 600 to 800 word page. Long articles, case studies and anything that needs research are a different job.
- Brand voice from examples. We gave a fact sheet and a tone ("plain and warm"), not a style guide or past copy to imitate.
- Taste. Our checks prove the copy is correct and within limits, not that it sells. The headlines above are there so you can judge that part.
- One run each. A second run would choose different words and could slip where these did not.
Which model we would use
What are you writing?
Use Haiku 5.5 at the default effort
All three jobs perfect by our checks for $0.023. Spend the time saved on reading it.
- Setup
- A fact sheet, the limits and the tone
- Claude sees
- The brief and the client's facts
On Proofyard, copy is a task like any other: Claude drafts it from the brief and the client's facts, and a person approves it before it goes anywhere, which our smart actions and AI knowledge base pages describe. Our other tests used the same method on coding, web design and agent work on a project board; for prices and plans, see which Claude model for which job and our pricing.
The prompt we used
Every model got this, with only the folder changed:
The copy prompt
You are a copywriter at a small web studio. Do the task described in [~/clients/brightwater/copy]/README.md. Rules for this job: - Work only inside [~/clients/brightwater/copy]. Do not read, list or search anything outside that folder. - Do not use the web, and do not ask other agents or an advisor for help: work on your own. - You may run commands inside the folder, for example to count words. - When you are done, reply with a short summary: what you wrote and anything you are unsure about.
Sources
- Our test runs, 24 October 2026: the brief, the fact sheet, the client's draft, the check scripts, run logs, the models' texts and results, kept with the test kit.
- Anthropic API pricing, read 24 October 2026.
- Claude Code model configuration (effort levels and defaults), read 24 October 2026.