API Overview
Korad.AI provides a fully Anthropic-compatible API — if your code works with Anthropic's API, it works with Korad.AI.
Base URL
https://api.korad.ai/v1
Authentication
Include your API key in the x-api-key header:
curl https://api.korad.ai/v1/messages \
-H "x-api-key: sk-korad-YOUR-KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-4-20250514", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello!"}]}'
Or use the Authorization: Bearer header:
curl https://api.korad.ai/v1/messages \
-H "Authorization: Bearer sk-korad-YOUR-KEY" \
...
Available Endpoints
| Endpoint | Description |
|---|---|
POST /v1/messages | Create a message (chat completions) |
POST /v1/messages/batches | Create batched message requests |
GET /v1/models | List available models |
POST /v1/messages/{message_id}/streams | Stream responses |
Supported Models
Korad.AI supports all Anthropic models plus cost-optimized alternatives:
| Model | Context | Best For |
|---|---|---|
claude-sonnet-4-20250514 | 200K | General tasks, coding |
claude-sonnet-4-20250514-optim | 128K | Cost-optimized general tasks |
claude-haiku-4-20250514 | 128K | Fast responses, simple tasks |
claude-opus-4-20250514 | 200K | Complex reasoning |
Request Format
All requests follow Anthropic's format:
{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "What is quantum computing?"
}
],
"temperature": 0.7,
"top_p": 0.9,
"stream": false
}
Response Format
{
"id": "msg_xxxxxxxxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Quantum computing is..."
}
],
"model": "claude-sonnet-4-20250514",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 15,
"output_tokens": 150,
"total_tokens": 165
},
"korad_metrics": {
"savings_percent": 45,
"original_cost": 0.004,
"your_cost": 0.002
}
}
Korad.AI Extensions
We include additional metrics in every response:
| Field | Description |
|---|---|
korad_metrics.savings_percent | Percentage saved vs Anthropic direct |
korad_metrics.original_cost | What this would cost via Anthropic |
korad_metrics.your_cost | Actual cost via Korad.AI |
Rate Limits
| Tier | Requests/Minute | Tokens/Minute |
|---|---|---|
| Free | 60 | 40,000 |
| Basic ($50) | 300 | 200,000 |
| Pro ($100) | 1000 | 1,000,000 |
| Enterprise | Custom | Custom |
Error Codes
| Code | Description |
|---|---|
| 401 | Invalid API key |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
| 502 | Upstream API error |
Streaming
Enable streaming with "stream": true:
with client.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Tell me a story"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Next Steps
- Messages API → — Detailed message endpoint reference
- Models → — Available models and capabilities
- Error Codes → — Complete error reference