Claude Sonnet 5 is the next generation of Anthropic's Sonnet family ("the best combination of speed and intelligence"), positioned as a drop-in capability upgrade over Sonnet 4.6, with the largest gains in coding and agentic tasks.
- Input
- text image $2/M
- Output
- text $10/M
- Cache read
- $0.2/M
- Context
- 1M
- vs GPT-4o
- ~60% cheaper
- Knowledge cutoff
- 2026-01
Benchmarks
Vendor-published: Alibaba (Qwen) Anthropic DeepSeek Google Moonshot OpenAI Tencent
Price in context
Where the price sits among 60 comparable models
The bar shows how this model’s price compares with every other model of the same kind on Synthorai. The cheapest and the most expensive are named at each end. These are base rates; batch, region and cache-write discounts are on the pricing page.
Specs & limits
Tokens
| Context window (vendor spec) | 1,000,000 |
|---|---|
| Max output (vendor spec) | 128,000 |
| Knowledge cutoff | 2026-01 |
Prompt caching
| How it caches | explicit (opt-in) |
|---|---|
| Min prefix | 1,024 |
| Lifetime | 5m default, 1h option |
| Write cost | 1.25x (5m) / 2x (1h) |
Thinking
| Vendor control | thinking.type "adaptive" + output_config.effort |
|---|---|
| Accepted values | thinking.type adaptive · disabled; effort low · medium · high · xhigh · max; "enabled" returns 400 |
| Default | thinking on (adaptive); effort high applied when the request sets nothing |
| Can be turned off | Yes |
| Thinking behaviour | Thinking is on with no configuration, and thinking {type "disabled"} is accepted at any effort level, unlike Opus 5; display defaults to "omitted"; earlier turns' thinking blocks are kept in context and billed as input. |
| Parameter | reasoning_effort |
| Values | minimal · low · medium · high the gateway's parameter surface - the vendor mapping above applies |
Model
| Modalities | text + image → text |
|---|
- Introductory pricing $2/$10 per MTok through 2026-08-31
- 1M context
- adaptive thinking on by default
- new tokenizer (~30% more tokens)
- non-default sampling params return 400
- no Priority Tier
One prompt, measured through the gateway
Claude Sonnet 5 passed · 3 sentences
Reasoning mode works by having the model generate extended internal "thinking" steps before producing its final answer, and since we're billed on total tokens, that hidden reasoning text adds significantly to what we pay for—even though you never see it in the output. This is different from simply getting longer visible responses; the model is essentially "showing its work" behind the scenes, and complex prompts can trigger thousands of extra reasoning tokens per request. The upside is improved accuracy on complex tasks, but if we want to control costs, we should selectively enable reasoning only for queries that truly need it, rather than applying it universally.
out 194 tok latency 4.3 s
Instruction following (exactly three sentences - countable), audience shaping (CFO register), and the hidden-thinking billing gap the token meters below expose.
Claude Sonnet 5 passed · 8/8 cases
## The Bug The function has two related off-by-one issues rooted in the same cause: `cur` and `best` are initialized to `0` instead of `1`, treating run lengths as the number of *matches* between adjacent elements rather than the number of *elements* in the run. This means a single-element input never enters the loop (since `range(1, 1)` is empty) and returns `0` instead of the correct answer of `1`. It also means that for any input, the run length is undercounted by exactly one — a run of 3 equal elements only produces 2 "match" increments, so `best` ends up as 2 instead of 3. The claim that it "misses runs that end at the last index" is actually a symptom of this same undercount: the logic does update `best` correctly on every iteration (including the last), but because it's counting matches instead of elements, the final reported value is always one less than the true longest run. […]
out 536 tok latency 7.1 s
Whether the fix is actually correct (runnable), explanation density, and token efficiency on a bounded task.
Claude Sonnet 5 passed · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11.5, "guidance": null } ```
out 348 tok latency 5.3 s
Schema obedience (no invented fields), hallucination pressure (guidance is explicitly withheld), and structured-output path differences.
Claude Sonnet 5 passed · 123 words, 0 banned, 1 question
## Introducing Cross-Provider Prompt Caching We're rolling out a new caching layer for our API gateway that works across every major LLM provider you connect through it. Instead of resending identical prompts and paying full price each time, the gateway recognizes repeated requests and serves cached responses in milliseconds—regardless of whether you're routing to OpenAI, Anthropic, or Google. What does this mean for your bill and your latency? Both drop, often significantly, especially for teams running high-volume, repetitive workloads like customer support bots or batch content generation. The cache is configurable per route, with adjustable TTLs and invalidation rules, so you stay in control of freshness versus cost. Available now for all Pro and Enterprise plans. Check your dashboard to enable it today.
out 259 tok latency 4.8 s
Constraint obedience (word budget, banned-word list, the single question), style fingerprint, and length control.
Use Claude Sonnet 5 in 30 seconds
OpenAI-compatible: swap the base_url, keep your SDK. POST /v1/chat/completions
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5",
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "claude-sonnet-5",
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("claude-sonnet-5")
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));About Claude Sonnet 5
- Anthropic frames it for code generation, data analysis, content creation, visual understanding, and agentic tool use, and as the option for work that needs more than Sonnet 4.6 without moving to an Opus-class model.
- It ships a 1M-token context window by default, 128K max output, adaptive thinking on by default with effort-level control, a new tokenizer, vision input, and the full Claude tool set; introductory pricing applies through August 31, 2026.
- The 1M window is both the default and the maximum (there is no smaller context variant), and effort reaches xhigh, which no other non-Opus model offers, with medium described as roughly comparable to Sonnet 4.6 at high effort.
- Three behaviour changes matter on migration.
- The new tokenizer produces about 30% more tokens for the same text, which changes usage counts, output budgets, and per-request cost without any API change.
- Non-default sampling parameters now return an error, a restriction previously seen only on Opus 4.7 and later.
- And it is the first Sonnet-tier model with real-time cybersecurity safeguards, where a refused request comes back as a successful response carrying a refusal stop reason rather than an error.
- On Synthorai, Claude Sonnet 5 answers on the same OpenAI-compatible API as every other catalog model.
FAQ
Is the Claude Sonnet 5 API free to try?
Yes: new accounts get 10 trial calls and up to $1 in free credit, no card required. At $2/M input tokens, that credit alone covers roughly 62 requests of ~8K tokens against Claude Sonnet 5.
What is Claude Sonnet 5 best at?
Largest gains in coding and agentic tasks; 1M-token context window by default; drop-in capability upgrade from Sonnet 4.6. See the About section for the full picture from the vendor's own release notes.
How much does Claude Sonnet 5 cost?
Claude Sonnet 5 costs $2 per million input tokens and $10 per million output tokens on Synthorai. That is the provider's list price, with no platform markup. Cached input tokens bill at $0.2/M.
Does Claude Sonnet 5 support prompt caching?
Yes, via opt-in: mark stable prefixes with cache_control breakpoints. Cached input tokens bill at $0.2/M vs $2/M uncached; prompts need a 1,024-token stable prefix to cache (TTL 5m default, 1h option). Prompt caching guide →
How do I get access to Claude Sonnet 5?
Point your existing OpenAI SDK at base_url="https://synthorai.io/v1", set model="claude-sonnet-5", and you're done. One API key covers every model on the gateway.
What is Claude Sonnet 5's knowledge cutoff?
Claude Sonnet 5's knowledge cutoff is 2026-01, per the vendor's official documentation (as of 2026-07-09).
Related models
Compare
Every value on this page is transcribed from the vendor's own documentation, linked above, and carries the date it was checked. Prices are compared across the catalogue; specification values that vendors define differently are shown with the difference stated rather than charted. Nothing here is measured by us, and nothing is scored.