Claude Haiku 4.5
by anthropic · family claude
Facts
| Release date | 2025-10-01 |
|---|---|
| Retired date | — |
| Knowledge cutoff | — |
| Context (max) | 200,000 |
| Max output | 64,000 |
| Modalities | text, image → text |
| Aliases | claude-haiku-4-5-20251001 |
| Open weights | no |
| Description | Fast Claude; supports extended thinking but not interleaved thinking. |
Unknown values are shown as —.
Intelligence Index v4.1.1: 30 · reasoning · Source: Artificial Analysis (accessed 2026-08-20)
Offerings
| Provider | Wire ID | Variant | Endpoint | Protocol | Status | Price (USD / Mtok) | Reasoning |
|---|---|---|---|---|---|---|---|
| Anthropic | claude-haiku-4-5 | v1-messages | anthropic-messages | ga | — | budget · default on · returns thinking_blocks · round-trips signature | |
| AWS Bedrock | anthropic.claude-haiku-4-5-20251001-v1:0 | invoke-anthropic | anthropic-messages | ga | 1.00 / 5.00 | budget · default on · returns thinking_blocks · round-trips signature | |
| NEAR AI Cloud | anthropic/claude-haiku-4-5 | chat | openai-chat | ga | 1.00 / 5.00 | adaptive · default on · returns reasoning_content | |
| OpenCode Zen | claude-haiku-4-5 | messages | anthropic-messages | ga | 1.00 / 5.00 | budget · default on · returns thinking_blocks · round-trips signature | |
| OpenRouter | anthropic/claude-haiku-4.5 | chat-completions | openai-chat | ga | 1.00 / 5.00 | effort · default on · returns reasoning_content · round-trips reasoning_content |
Reasoning controls
Anthropic· claude-haiku-4-5· v1-messages budget
thinking.budget_tokens from 1,024 tokens · must be < max_tokens
thinking.type on enabled · off disabled
budget · default on · returns thinking_blocks · round-trips signature
Incompatible with: temperature, top_p, top_k
AWS Bedrock· anthropic.claude-haiku-4-5-20251001-v1:0· invoke-anthropic budget
thinking.budget_tokens from 1,024 tokens · must be < max_tokens
thinking.type on enabled · off disabled
budget · default on · returns thinking_blocks · round-trips signature
Incompatible with: temperature, top_p, top_k
NEAR AI Cloud· anthropic/claude-haiku-4-5· chat adaptive
adaptive · default on · returns reasoning_content
OpenCode Zen· claude-haiku-4-5· messages budget
thinking.budget_tokens from 1,024 tokens · must be < max_tokens
thinking.type on enabled · off disabled
budget · default on · returns thinking_blocks · round-trips signature
Incompatible with: temperature, top_p, top_k
OpenRouter· anthropic/claude-haiku-4.5· chat-completions effort
reasoning.effort nonelowmediumhigh●xhighmax
effort · default on · returns reasoning_content · round-trips reasoning_content
Example requests
Anthropic · anthropic-messages · claude-haiku-4-5
curl 'https://api.anthropic.com/v1/messages' \
-H 'anthropic-version: 2023-06-01' \
-H 'Content-Type: application/json' \
-H 'x-api-key: <YOUR_API_KEY>' \
-d '{
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}'Python (requests)
import requests
resp = requests.post(
"https://api.anthropic.com/v1/messages",
headers={
"anthropic-version": "2023-06-01",
"Content-Type": "application/json",
"x-api-key": "<YOUR_API_KEY>"
},
json={
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: {
"anthropic-version": "2023-06-01",
"Content-Type": "application/json",
"x-api-key": "<YOUR_API_KEY>"
},
body: JSON.stringify({
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}),
})
console.log(await resp.json())- ⚠ Responses include
signatureartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p, top_k.
AWS Bedrock · anthropic-messages · anthropic.claude-haiku-4-5-20251001-v1:0
# sigv4 endpoints require request signing — see provider page
curl 'https://bedrock-runtime.{region}.amazonaws.com/model/{modelId}/invoke' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "anthropic.claude-haiku-4-5-20251001-v1:0",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}'Python (requests)
import requests
resp = requests.post(
"https://bedrock-runtime.{region}.amazonaws.com/model/{modelId}/invoke",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic.claude-haiku-4-5-20251001-v1:0",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://bedrock-runtime.{region}.amazonaws.com/model/{modelId}/invoke", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "anthropic.claude-haiku-4-5-20251001-v1:0",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}),
})
console.log(await resp.json())- ⚠ Responses include
signatureartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p, top_k.
NEAR AI Cloud · openai-chat · anthropic/claude-haiku-4-5
curl 'https://cloud-api.near.ai/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "anthropic/claude-haiku-4-5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
}'Python (requests)
import requests
resp = requests.post(
"https://cloud-api.near.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-haiku-4-5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://cloud-api.near.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "anthropic/claude-haiku-4-5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
}),
})
console.log(await resp.json())OpenCode Zen · anthropic-messages · claude-haiku-4-5
curl 'https://opencode.ai/zen/v1/messages' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/messages",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/messages", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "claude-haiku-4-5",
"max_tokens": 3072,
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"thinking": {
"budget_tokens": 2048
}
}),
})
console.log(await resp.json())- ⚠ Responses include
signatureartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss). - Reported incompatible with thinking controls: temperature, top_p, top_k.
OpenRouter · openai-chat · anthropic/claude-haiku-4.5
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "anthropic/claude-haiku-4.5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "high"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-haiku-4.5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "high"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "anthropic/claude-haiku-4.5",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "high"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).