Introduction
Claude Opus 4.6 is an Opus-tier chat model from Anthropic, served here on one OpenAI-compatible endpoint at /v1/chat/completions. It reads up to 1,000,000 tokens per request and can write up to 128,000 in one reply, so a long collaboration travels in full and a chapter comes back whole.
Reasoning effort has four settings - low, medium, high and max, with medium as the default - and temperature (0 to 1) and top_p stay adjustable. Message content is text and images, and up to 128 tools and SSE streaming are available on the same call.
Key features & highlights
Four effort settings, including max
max sits above high for the requests where planted details, a timeline and a long list of established facts all have to reconcile before a word is written. Effort is spent as output tokens, so keep everyday turns on low or medium and save max for the passes that justify it.
1,000,000 tokens in, 128,000 out
About eight tokens read for every one written. The whole manuscript, the style sheet and the notes from earlier sessions fit in one request, and the reply ceiling is high enough that a full chapter does not need to be split and rejoined.
Temperature and top_p stay in your hands
temperature from 0 to 1 and top_p from 0.01 to 1 are accepted alongside the effort setting. A continuity check can run cold and repeatable while a brainstorming turn runs warm, without switching model or endpoint.
Request parameters
| Parameter | Required | Description |
|---|---|---|
messages | Yes | Ordered conversation turns. Content is a string, or an array of text and |
max_tokens | No | Caps the reply at 128,000 - an eighth of the read window. Default 4,096; raise it before writing a chapter. |
reasoning_effort | No | low, medium, high or max, medium by default. Raise it when the answer has to reconcile details before the model writes. |
stop | No | Up to 4 sequences, as a string or an array. The reply ends as soon as the model writes one of them, and the matched text itself is left out. at least 1 characters · at least 1 items · at most 4 items |
temperature | No | 0 to 1, default 1. Hold it at 0 whenever the reply is parsed by code, and leave it alone once a work has settled on a voice. |
top_p | No | 0.01 to 1. Adjust this or temperature, never both in the same comparison. |
tools | No | Up to 128 function definitions per request. at most 128 items |
parallel_tool_calls | No | true or false, default true: the model may request several tool calls in one turn. Default: |
tool_choice | No | auto, none, required, or an object naming one function. |
Pricing
Input $5 / Output $25 per 1 million tokens
Use cases
Manuscript-scale editing
Send the full draft with a style sheet and ask for a line edit of one chapter, with each change explained against the sheet. The model sees how every character speaks across the whole book, not only in the chapter it is editing.
Long collaborative fiction
Hundreds of turns of a shared story can go back in every request without a summarisation layer. A promise made early is read in its original wording when the story finally needs it.
One careful pass at max
When a reply has to reconcile a timeline, a web of relationships and a list of open threads, send that one request at max with max_tokens sized for a full chapter, then return to medium for ordinary turns.
Prompt guide & pro tips
Match effort to the turn, not the session
Most turns need no extended deliberation. Leave medium as the default, drop to low for quick exchanges and switch to high or max only for the turn that ties threads together; it is one string on the same request body.
Size max_tokens for the answer you want
The default is 4,096 tokens, and a chapter needs far more. Reasoning tokens are billed as output too, so set max_tokens with headroom above the visible answer you expect, up to 128,000.
Limits worth knowing
max_tokens above 128,000 fails validation and video and audio parts are rejected. A conversation cannot end on an assistant message to prefill the reply, and there is no response_format: structured output goes through a tool whose parameters are your JSON schema, forced with tool_choice.
API quick start
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "anthropic/claude-opus-4.6/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
See the API reference for authentication, the complete schema, polling, and error handling.














