Skip to content

Anthropic Messages

POST /anthropic/v1/messages

Fully compatible with the Anthropic Messages API.

When using the Anthropic SDK, set the base URL to:

https://api.cheapestinference.com/anthropic

The SDK appends /v1/messages automatically.

ParameterTypeRequiredDescription
modelstringYesModel ID (e.g. claude-sonnet-4-20250514)
max_tokensintegerYesMaximum tokens to generate
messagesarrayYesArray of message objects
streambooleanNoEnable SSE streaming
temperaturenumberNoSampling temperature (0–1)
systemstringNoSystem prompt
Terminal window
curl https://api.cheapestinference.com/anthropic/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
from anthropic import Anthropic
client = Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.cheapestinference.com/anthropic"
)
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.cheapestinference.com/anthropic",
});
const message = await client.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello!" }],
});
console.log(message.content[0].text);
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-20250514",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 10,
"output_tokens": 12
}
}

You can also use non-Claude models through the Anthropic endpoint. The API translates the format automatically:

message = client.messages.create(
model="gpt-4o-mini",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}]
)