Claude Sonnet 4.6

AnthropicTextReasoningToolsVision

Claude Sonnet 4.6: a refreshed balance of speed and quality.

Our price
$2.68 / $13.50
input / output per 1M
Official
$3.00 / $15.00
−10% vs official

First request

from openai import OpenAI

client = OpenAI(
    base_url="https://api.altrouter.ai/v1",
    api_key="ar-...",
)

resp = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

The interface is OpenAI-compatible: in existing code only the base_url, the key and the model id change — nothing else.

Claude Sonnet 4.6 against its price neighbours

Claude Sonnet 4.6 and its closest neighbours by price: prices and parameters from the AltRouter AI catalog
ModelInput / 1MOutput / 1MContext
Gemini 3.1 ProGoogle$1.46$10.201MOpen
GPT-5.6OpenAI$2.13$12.75400KOpen
Claude Sonnet 4.6this pageAnthropic$2.68$13.50200K
Kimi K3Moonshot AI$3.45$17.251.0MOpen
Claude Opus 4.8Anthropic$4.50$22.50200KOpen

Prices and parameters come from the same catalog as the price above; this is not a benchmark, it is comparable billing terms.

Limits

Context is 200K tokens per request, and it holds everything you send: the system prompt, the conversation history and the current question together. Whatever does not fit is not seen by the model — trimming the history is your side of the job, and you pay for exactly what fit.

Response length is set by max_tokens, capped at 8,192 tokens per call. A response that hits the cap comes back with finish_reason: "length" — truncated but still billed, so it is worth setting deliberately on long generations.

Supported: a reasoning mode, tool calling, image input.

There is no subscription: every successful request is billed at the price above, and a failed one is not billed at all. That price is already 10% below the vendor's official one — the official price is shown struck through next to it so it can be checked. No Anthropic account of your own is needed: requests go to api.altrouter.ai and we make the upstream call.

Rate limiting is shared across models and counted per key: 600 requests per minute by default, and a 429 with retry-after: 60 above it. An individual key can get its own limit and a spending cap per day, week, month or lifetime in the dashboard.

Full limits and credits

When to pick Claude Sonnet 4.6, and when a neighbour

The cheaper neighbour is GPT-5.6: $2.13 per 1M input tokens against $2.68 for Claude Sonnet 4.6. On the same volume the bill comes out 1.3× smaller. Its context is even larger: 400K against 200K. It is the sensible pick where the task is repetitive and high-volume — labelling, classification, short templated answers — the kind of work where quality is bounded by the prompt rather than the model.

The dearer neighbour is Kimi K3: $3.45 per 1M input tokens, or 1.3× the price. What the catalog says you get for it: 1.0M of context instead of 200K. If your task needs none of those, the premium buys nothing.

Guessing is more expensive than checking: the table above is prices and parameters, not a benchmark, and it cannot tell you which model does better on your own prompt. Switching costs one line — the model id in the request changes, the base_url and the key stay — so running both on your own data takes minutes.

API

OpenAI-compatible chat completions endpoint, with SSE streaming.

POST/v1/chat/completions
Body parameters
modelstringrequired"claude-sonnet-4-6"
The model id.
messagesarrayrequired
The conversation: [{ role, content }].
streambooleandefault false
Stream the response over SSE.
max_tokensnumber1–8192default 4096
Maximum tokens to generate.
reasoning_effortbooleandefault false
Thinking budget for reasoning models.

Structured fields (tools, response_format, stop and more) are in the full parameter reference.

Response
idstring
Completion id.
choicesarray
Completions. Each: index, message { role, content, reasoning_content, tool_calls }, finish_reason.
usageobject
Tokens: prompt_tokens, completion_tokens, total_tokens.
Example
cURLPythonJavaScriptJSON
curl https://api.altrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer ar-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "claude-sonnet-4-6",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ]
}'
Errors
400Invalid request.
401Missing or invalid API key.
402Insufficient credits, or the key’s spending cap is exhausted.
404Model not found.
429Rate limit exceeded.

More from Anthropic