Resmi Anthropic /v1/messages protokolü. Alanları resmi API ile tamamen tutarlıdır; mevcut Anthropic SDK kodunun neredeyse hiç değişiklik olmadan taşınmasına olanak tanır.
Uç nokta
POST https://relay.4aicode.com/v1/messages
İstek
POST /v1/messages HTTP/1.1
Host: relay.4aicode.com
Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx
anthropic-version: 2023-06-01
content-type: application/json
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"stream": true,
"messages": [
{ "role": "user", "content": "Say hi" }
]
}
Zorunlu
| Alan | Açıklama |
|---|---|
model | Bir Claude modeli (Sonnet / Haiku / Opus serisi) veya desteklenen bir gpt-* modeli |
max_tokens | Üretilecek maksimum token sayısı |
messages | Sohbet dizisi |
/v1/messages istekleri model'e karşılık gelen üst servise yönlendirir; hem claude-* hem gpt-* modellerini destekler. Claude Code gibi Anthropic Messages protokolünü kullanan istemciler bu uç nokta üzerinden bu modellere erişebilir.
Yaygın isteğe bağlı alanlar
| Alan | Açıklama |
|---|---|
stream | SSE'yi etkinleştirmek için true olarak ayarlayın |
system | Sistem istemi |
temperature | 0–1 |
tools | Function calling |
stop_sequences | Durdurma dizileri |
Akışlı yanıt
stream: true olduğunda uç nokta text/event-stream döner; olay sırası resmi API ile tutarlıdır:
event: message_start
event: content_block_start
event: content_block_delta
event: content_block_stop
event: message_delta
event: message_stop
Relay hiçbir aşamada SSE'yi tamponlamaz; bu yüzden ilk bayta kadar geçen süre doğrudan bağlantıyla esasen aynıdır.
Akışsız yanıt
{
"id": "msg_xxxx",
"type": "message",
"role": "assistant",
"content": [{ "type": "text", "text": "Hi!" }],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"usage": { "input_tokens": 8, "output_tokens": 3 }
}
usage faturalama için kullanılır (ayrıntılar için Kota sayfasına bakın).
ChatGPT modelleri
Claude Code ile bir ChatGPT modeli kullanmak için modeli desteklenen bir gpt-* modeli olarak ayarlamanız yeterlidir:
export ANTHROPIC_BASE_URL=https://relay.4aicode.com
export ANTHROPIC_AUTH_TOKEN=sk-4ai-xxxxxxxxxxxxxxxx
export ANTHROPIC_DEFAULT_OPUS_MODEL=gpt-5.6-terra
export ANTHROPIC_DEFAULT_OPUS_MODEL_NAME="4AICode GPT 5.6 Terra"
export ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES=effort,xhigh_effort,thinking,adaptive_thinking,interleaved_thinking
export ANTHROPIC_MODEL=opus
export ANTHROPIC_DEFAULT_HAIKU_MODEL=gpt-5.4-mini
export CLAUDE_CODE_EFFORT_LEVEL=xhigh
claude --effort xhigh
ANTHROPIC_DEFAULT_OPUS_MODEL Claude Code'un relay'den gpt-5.6-terra istemesine yol açar. CLAUDE_CODE_EFFORT_LEVEL=xhigh Anthropic'in output_config.effort değerini OpenAI Responses'ın reasoning.effort=xhigh değerine eşler.
Desteklenen modeller /v1/chat/completions ile aynıdır: gpt-6-astra, gpt-6-sol, gpt-6.1-sol, gpt-6.1-terra, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gpt-5.4-mini ve gpt-5.3-codex.
Hatalar
| HTTP | Anlamı |
|---|---|
| 400 | Geçersiz alanlar (eksik max_tokens, var olmayan model vb.) |
| 401 | Geçersiz token |
| 403 | Ekip askıya alınmış |
| 429 | Hız sınırı veya kota aşıldı |
| 502 | Üst Claude kararsızlığı; isteği yeniden deneyin |
| 503 | Üst servisler geçici olarak kullanılamıyor; ayrıntılar için Servis soğuma süreleri ve yeniden denemeler |
503 örneği:
{
"code": "no_account_available",
"message": "all accounts cooling down, retry in 60s"
}
Tam örnek (Python)
from anthropic import Anthropic
client = Anthropic(
base_url="https://relay.4aicode.com",
api_key="sk-4ai-xxxxxxxxxxxxxxxx",
)
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=512,
messages=[{"role": "user", "content": "Introduce yourself in one sentence"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)