Sohbet

Anthropic Messages ve Claude Code

Claude modelleri Anthropic'in Messages API'sini de destekler; böylece Anthropic SDK'ları, Claude Code ve bunlar için geliştirilmiş araçlar, yeni bir temel URL ve anahtarla çalışır.

POST/v1/messages

Temel URL https://api.zurelay.com (SDK'lar /v1/messages ekler). Anahtarı anthropic-version: 2023-06-01 ile birlikte x-api-key veya Authorization: Bearer olarak gönderin. Burada yalnızca Claude modelleri sunulur; diğer modeller /v1/chat/completions kullanır.

Anthropic SDK'larıyla

import os
import anthropic
client = anthropic.Anthropic(
base_url="https://api.zurelay.com",
api_key=os.environ["ZURELAY_API_KEY"],
)
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
system="You are a careful code reviewer.",
messages=[{"role": "user", "content": "Review this function: def add(a, b): return a - b"}],
)
print(message.content[0].text)

Anthropic'in Messages API'sindeki her şey aynen iletilir (bizde kalan metadata hariç): metin veya bloklar olarak system (prompt önbellekleme için cache_control ile), tools, thinking, output_config, stop_sequences, temperature, aynı olaylarla akış ve anthropic-beta başlıkları. Görseller ve PDF'ler image ve document blokları olarak gönderilir: Görseller, PDF'ler, ses ve video bölümüne bakın. Anthropic, Opus 4.7'den itibaren Claude modellerinde temperature, top_p ve top_k parametrelerini reddeder; bu nedenle bu modellerde isteği hatayla sonuçlandırmak yerine bu parametreleri istekten çıkarırız.

Düşünme

Claude, düşünme düzeyini isteğe göre uyarlar: isteğin ne kadar düşünme gerektirdiğine kendisi karar verir; output_config.effort ise ne kadar yoğun çalışacağını belirler: low, medium, high, xhigh (çok yüksek) veya max. Düşünme sürecinin özetini thinking bloklarında almak için thinking içine display: "summarized" ekleyin.

import os
import anthropic
client = anthropic.Anthropic(
base_url="https://api.zurelay.com",
api_key=os.environ["ZURELAY_API_KEY"],
)
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=32000,
thinking={"type": "adaptive", "display": "summarized"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "How many primes are there below 1,000?"}],
)
for block in message.content:
print(block.thinking if block.type == "thinking" else block.text)
  • Claude Opus 5.5 ve Fable modelleri her zaman düşünür: bir düzey belirtmezseniz Opus 5.5 medium, Fable ise high düzeyinde çalışır. Düşünmemeleri istendiğinde low düzeyinde çalışırlar.
  • Claude Sonnet 5.5 ve Opus 5 varsayılan olarak high, Claude Haiku 5.5 ise medium düzeyinde düşünür. Opus 4.6 ile 4.8 arasındaki modeller yalnızca thinking gönderdiğinizde düşünür. Opus 4.6'da xhigh olmadığı için high düzeyinde çalışır.
  • Eski biçim olan thinking: { type: "enabled", budget_tokens }, tüm Claude modellerinde çalışır: bu biçimi kabul etmeyenler, bunun yerine en yakın düzeyde uyarlamalı düşünme kullanır. Claude Haiku 4.5 yalnızca bu biçimi kabul eder; uyarlamalı düşünme gönderdiğinizde ona bir bütçe atanır.
  • Düşünme, çıktı tokenları olarak ücretlendirilir; bu yüzden xhigh ve max için max_tokens içinde buna yer ayırın ve uzun yanıtları akış halinde alın. Bir seviye belirlediğinizde, hangi seviyenin kullanıldığını x-zurelay-reasoning-effort başlığı gösterir.

İstem önbellekleme

Önbellekleme Anthropic’teki gibi çalışır: beş dakika saklamak için önbelleğe alınacak bloklara veya isteğin tamamına cache_control ekleyin; bir saat saklamak için de "ttl": "1h" ekleyin. Girdinin her bölümü Anthropic’teki gibi ücretlendirilir:

GirdiÜcretlendirmeKullanımda
Önbellekten okunanModelin önbellek fiyatıcache_read_input_tokens
Beş dakikalığına önbelleğe yazılanGirdi fiyatının 1.25 katıephemeral_5m_input_tokens
Bir saatliğine önbelleğe yazılanGirdi fiyatının 2 katıephemeral_1h_input_tokens
Geri kalan her şeyGirdi fiyatıinput_tokens

İki yazma türü usage.cache_creation içinde yer alır; cache_creation_input_tokens ise ikisinin toplamıdır. Her modelin sayfasında önbellek fiyatları gösterilir. Yalnızca önbelleğe alınmasını istediğiniz içerik yazma olarak ücretlendirilir: cache_control içermeyen bir istekte, önbellekten okunmayan her şey girdi fiyatıyla ücretlendirilir. Beş dakika saklanmasını istediğiniz girdi hiçbir zaman bir saatlik saklama ücretiyle hesaplanmaz.

Claude Code

Beş ortam değişkeniyle (temel URL, anahtarınız ve üç model takma adı) Claude Code’u Zurelay’e yönlendirin, ardından her zamanki gibi çalıştırın:

Kabuk
export ANTHROPIC_BASE_URL="https://api.zurelay.com"
export ANTHROPIC_AUTH_TOKEN="$ZURELAY_API_KEY"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-5-5"
claude

Ayarları kalıcı kılmak için aynı değerleri ~/.claude/settings.json dosyasının env bloğuna ekleyin. Ayrıntılı rehberi ve Cursor, Cline gibi diğer araçların rehberlerini Entegrasyonlar bölümünde bulabilirsiniz.

Claude Code’un /effort seviyeleri modele output_config.effort olarak iletilir; dolayısıyla xhigh ve max Anthropic’teki gibi çalışır. Ultracode bir Claude Code ayarıdır, efor seviyesi değildir: oturumun seviyesinde çalışır (Claude Code’u --effort ultracode ile başlattığınızda xhigh).

Token sayımı

POST/v1/messages/count_tokens

/v1/messages ile aynı istek gövdesini alır ve isteğin tahmini token sayısını { "input_tokens": 1234 } olarak döndürür. Ücretsizdir.

Hatalar

Hatalar Anthropic’in biçiminde ({ "type": "error", "error": { "type", "message" } }) döndürülür ve hatalar sayfasındaki anlamları taşır. code içermezler: HTTP durumunu ve error.type kullanın.

Bazı Claude modelleri PDF’leri yalnızca /v1/chat/completions üzerinden okuyabilir. /v1/messages adresine bir PDF gönderirseniz hata mesajı hangi uç noktayı kullanmanız gerektiğini belirtir. Görseller, PDF’ler, ses ve video sayfasındaki tablo, her modelin neleri okuyabildiğini gösterir.
  • İpucu: Anthropic’in token sayacı ile bizimki arasında küçük farklar olabilir; ücretlendirme yanıttaki kullanıma göre yapılır.

Sorunuz mu var, yoksa bir şey mi eksik? Destek ekibimize sorun, genellikle bir dakika içinde e-postayla yanıtlayalım.