The short answer
Pick claude-opus-5-5 when the model must hold a large problem in mind and explain a careful decision. Pick claude-sonnet-5 for the work that arrives every day: code changes, support replies, extraction, and structured drafts. Pick claude-fable-5-1 only after a small evaluation shows that its behavior fits your prompt and output contract.
The catalog is a live supplier catalog. This comparison uses the model IDs returned by Claudexia on October 4, 2026. The supplier response does not establish a stable public price, benchmark score, or ranking, so the table stays focused on routing decisions you can verify in your own account.
Comparison table
| Model ID | Start with it for | Watch during evaluation | API fit |
|---|---|---|---|
claude-opus-5-5 | Architecture review, hard debugging, long multi-step work | Latency, output length, and whether the extra reasoning changes the result | Anthropic Messages through https://api.claudexia.tech |
claude-sonnet-5 | Product coding, support, extraction, routine agents | Instruction following on your real examples | Anthropic Messages through the same endpoint |
claude-fable-5-1 | Controlled experiments and workloads that need a different model profile | Stability of format, refusal behavior, and task accuracy | Anthropic Messages through the same endpoint |
claude-fable-5 | A compatibility check with the previous Fable ID | Output differences before a production switch | Anthropic Messages through the same endpoint |
The rows describe sensible starting points, not a promise about quality. A five-minute local test with twenty representative requests tells you more than a generic leaderboard for a narrow workflow.
Where Opus 5.5 earns its place
Opus belongs at the top of a router when the cost of a wrong turn is high. Give it a repository map, the acceptance criteria, and the exact failure you need to rule out. Ask for a plan before asking for a patch. That sequence makes review easier because you can compare the patch with the model's own assumptions.
Opus is a poor default for every small request. Short classification, title rewriting, and simple extraction rarely need the biggest context or the longest answer. Keep a smaller route for those calls and reserve Opus for cases where a human would open several files before making a decision.
Sonnet 5 for the daily queue
Sonnet is a useful default when one team sends mixed traffic through a single key. It can draft a support response, transform JSON, explain a failing test, and produce a first code patch without a separate integration per workflow.
Give routine calls a strict output schema. Add a retry only for transport failures or a documented transient response. Do not silently send malformed output to the next system. A parser failure should be visible in logs and included in the evaluation set.
What to test with Fable
Treat Fable as a candidate, not as a label that decides the result. Build a small matrix with your own prompts:
| Test | Pass condition | Evidence to keep |
|---|---|---|
| Structured extraction | Every required field parses | Raw response and parser result |
| Coding task | Tests pass and the diff stays in scope | Patch and test output |
| Support answer | The reply cites only supplied policy | Prompt, answer, and reviewer verdict |
| Long input | Important constraints survive the context | Checklist of retained facts |
Keep the same system prompt, temperature settings, and acceptance rubric across models. Comparing prompts as well as models creates noise.
A simple routing pattern
const modelByTask = {
review: "claude-opus-5-5",
coding: "claude-sonnet-5",
support: "claude-sonnet-5",
experiment: "claude-fable-5-1",
} as const;
const response = await client.messages.create({
model: modelByTask[task],
max_tokens: 1200,
messages: [{ role: "user", content: prompt }],
});
The SDK only needs the Claudexia base URL and your API key. The model ID is the part you can change per request. The models documentation is the right place to check the current catalog before deploying a new route.
Practical selection rules
Start with Sonnet for an unknown workload. Move a failing case to Opus when the failure involves planning, conflicting constraints, or a large code context. Try Fable when you have a reason to test a different profile and enough labeled examples to compare it.
Record four values for each route: task success, parse success, time to first token, and token usage. The cheapest request is the one that finishes correctly without a second attempt. If the result affects a user account, a payment, or a merge, keep a human checkpoint even when the model looks reliable.
FAQ
Is Claude Opus 5.5 the default model?
No. It is a strong candidate for difficult work, but Sonnet 5 is a better starting point for mixed daily traffic. Set the default after testing your own workload.
Can I switch between these models without changing my integration?
Yes. Keep the endpoint and authentication the same and change the model value. The message format still needs to match the SDK you use.
Does this article publish prices or benchmark scores?
No. The public catalog checked for this article provides model IDs, not a stable price sheet or an independently verified benchmark set. Check current model details and measure your own prompts.
Which model should review production code?
Use Opus 5.5 for the first pass on risky changes, then run tests and a human review. Sonnet 5 can handle routine diffs when its findings have been calibrated against accepted and rejected examples.
Can Fable replace Sonnet immediately?
Do not switch on the name alone. Run the same evaluation matrix, compare parse failures and reviewer decisions, then move one traffic slice at a time.