API referansı

POST /v1/messages

LLMs Text

POST /v1/messages

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

AlanAçıklama
modelBir Claude modeli (Sonnet / Haiku / Opus serisi) veya desteklenen bir gpt-* modeli
max_tokensÜretilecek maksimum token sayısı
messagesSohbet 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

AlanAçıklama
streamSSE'yi etkinleştirmek için true olarak ayarlayın
systemSistem istemi
temperature0–1
toolsFunction calling
stop_sequencesDurdurma 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

HTTPAnlamı
400Geçersiz alanlar (eksik max_tokens, var olmayan model vb.)
401Geçersiz token
403Ekip askıya alınmış
429Hı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)