Skip to main content

Claude Sonnet 4.6 chat from Anthropic through an OpenAI-compatible endpoint. It takes up to 1,000,000 tokens of text and image context and returns up to 64,000, with temperature and top_p control, up to 128 tool definitions and SSE streaming.

Input $3Output $15per 1 million tokensCached input $0.30Cache write $3.75

Workbench

Send a request

Quickstart

Examples use the selected endpoint’s public parameter definitions. Replace the API key and example media, then send the request from your server.

SDKs & integrations
POSThttps://api.spicyapi.ai/v1/chat/completions

API authentication

Keep the API key in the server environment variable SPICY_API_KEY. Use Bearer authentication and Content-Type: application/json for JSON requests.

Authorization: Bearer $SPICY_API_KEY
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-sonnet-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'

Generated from this model’s input schema — the same one the API validates every request against.

Keep one Idempotency-Key for each logical request. After a network interruption, do not automatically resend with a new key; retain request_id to investigate the accepted request. Idempotency does not replay an earlier chat stream.

Input parameters

Place the model parameters directly in the JSON request body alongside model. This endpoint does not use an input wrapper.

messagesarray<object>Required

Ordered conversation turns. Content is a string, or an array of text and image_url parts. Put the cast and the output rules in the system message and let the user turns carry the plot. The last message cannot be an assistant turn.

Default
Not specified
Constraints
minItems:1
tool_choicestring | objectOptional

auto, none, required, or an object naming one function.

Default
Not specified
parallel_tool_callsbooleanOptional

true or false, default true: the model may request several tool calls in one turn. Set false to get at most one call per turn, for loops where each call depends on the previous result. No effect on price.

Default
true
toolsarray<object>Optional

Up to 128 function definitions per request.

Default
Not specified
Constraints
maxItems:128
top_pnumberOptional

0.01 to 1. Adjust this or temperature, never both in the same comparison.

Default
1
Constraints
minimum:0.01
maximum:1
top_kintegerOptional

1 to 500. Samples only from the k most likely next tokens: 1 makes replies close to repeatable, larger values loosen the choice. Unset by default, meaning no cut-off. Change this, temperature or top_p one at a time. No effect on price.

Default
Not specified
Constraints
minimum:1
maximum:500
temperaturenumberOptional

0 to 1, default 1. Hold it at 0 whenever the reply is parsed by code.

Default
1
Constraints
minimum:0
maximum:1
stopstring | arrayOptional

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. No default. It does not change the rate; a reply cut short is billed only for the tokens it produced.

Default
Not specified
Constraints
minLength:1
minItems:1
maxItems:4
reasoning_effortstringOptional

low, medium, high or max, medium by default. Raise it when the answer has to reconcile details before the model writes. max is the deepest pass and the slowest. Anthropic's own default for this model is high; this endpoint sits one step lower so ordinary turns stay quick.

Default
"medium"
Allowed values
"low""medium""high""max"
max_tokensintegerOptional

Caps the reply at 64,000 - a sixteenth of the read window. Default 4,096. Reasoning tokens are billed as output too, so leave headroom above the visible answer you expect.

Default
4096
Constraints
minimum:1
maximum:64000

Read the result

With stream set to false, the request returns the completed chat response directly. Read choices[].message; no task polling is needed. Set stream to true when your client supports Server-Sent Events.

Completed response example
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1788652800,
  "model": "anthropic/claude-sonnet-4.6/chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here is a concise summary of the release notes."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 14,
    "total_tokens": 46
  }
}

The response example is illustrative. usage reports token counts; token counts and charges depend on your actual request.

SDKs & integrations

Use SpicyAPI in your app, terminal, AI assistant or visual workflow. Choose a setup guide below.

Use it in SillyTavern and roleplay apps

In SillyTavern, RisuAI, Agnai or any app with an OpenAI-compatible setting, paste the base URL below and your API key, then pick anthropic/claude-sonnet-4.6/chat as the model. Browser calls are allowed, and sliders this model does not take are ignored instead of rejected.

Base URL: https://api.spicyapi.ai/v1
Model: anthropic/claude-sonnet-4.6/chat

Use it in ComfyUI

Install the SpicyAPI nodes from ComfyUI Manager or with the command below, then pick anthropic/claude-sonnet-4.6/chat in the SpicyAPI Chat node to use this model inside a ComfyUI graph.

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi