Anthropic Messages
LLMTR, OpenAI biçiminin yanında Anthropic Messages biçimini de sunar. Aynı API anahtarı, aynı kota ve aynı fiyatlandırma geçerlidir; yalnızca istek ve yanıt şekli farklıdır.
Bu uç sayesinde Anthropic SDK'ları ve Anthropic biçimini konuşan ajan araçları LLMTR'ye doğrudan bağlanabilir. Katalogdaki tüm sohbet modelleri bu uçtan çağrılabilir.
Request
Section titled “Request”POST /v1/messagesx-api-key: llmtr-your_keyanthropic-version: 2023-06-01Content-Type: application/json{ "model": "qwen/qwen3.8-max", "max_tokens": 1024, "system": "Kısa ve teknik yanıtla.", "messages": [ { "role": "user", "content": "Cursor tabanlı sayfalama nedir?" } ]}Kimlik doğrulama için x-api-key veya Authorization: Bearer başlıklarından biri kullanılabilir; ikisi de aynı anahtarı kabul eder.
max_tokens zorunludur. Anthropic biçiminde varsayılanı yoktur, verilmezse istek 400 döner.
Response
Section titled “Response”{ "id": "msg_...", "type": "message", "role": "assistant", "model": "qwen/qwen3.8-max", "content": [ { "type": "text", "text": "Cursor tabanlı sayfalama..." } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 24, "output_tokens": 180 }}stop_reason değerleri: end_turn, max_tokens, tool_use.
Streaming
Section titled “Streaming”stream: true verildiğinde yanıt server-sent events olarak akar. Olay sırası Anthropic ile aynıdır:
message_startcontent_block_startcontent_block_delta (text_delta veya input_json_delta)content_block_stopmessage_delta (stop_reason ve usage)message_stopToken sayıları message_delta olayındaki usage alanında gelir.
curl -N https://llmtr.com/v1/messages \ -H "x-api-key: llmtr-your_key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "qwen/qwen3.8-max", "max_tokens": 512, "stream": true, "messages": [{ "role": "user", "content": "Merhaba" }] }'Tool calling
Section titled “Tool calling”Anthropic biçimindeki araç tanımları desteklenir:
{ "model": "qwen/qwen3.8-max", "max_tokens": 1024, "tools": [ { "name": "get_weather", "description": "Bir şehrin hava durumunu döner", "input_schema": { "type": "object", "properties": { "city": { "type": "string" } }, "required": ["city"] } } ], "messages": [{ "role": "user", "content": "Ankara'da hava nasıl?" }]}Model araç çağırdığında yanıt stop_reason: "tool_use" ve bir tool_use bloğu içerir. Sonucu bir sonraki turda tool_result bloğu ile gönderin:
{ "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "call_1", "content": "22 derece" } ]}tool_choice değerleri: auto, any, tool (adlandırılmış), none.
Görsel girdi
Section titled “Görsel girdi”Görsel kabul eden modellerde image bloğu kullanılır:
{ "role": "user", "content": [ { "type": "image", "source": { "type": "base64", "media_type": "image/png", "data": "iVBOR..." } }, { "type": "text", "text": "Bu görselde ne var?" } ]}source.type olarak base64 veya url verilebilir.
Anthropic SDK ile kullanım
Section titled “Anthropic SDK ile kullanım”import anthropic
client = anthropic.Anthropic( base_url="https://llmtr.com", api_key="llmtr-your_key",)
message = client.messages.create( model="qwen/qwen3.8-max", max_tokens=1024, messages=[{"role": "user", "content": "Merhaba"}],)print(message.content[0].text)Claude Code ile kullanım
Section titled “Claude Code ile kullanım”Claude Code, ANTHROPIC_BASE_URL ile bir gateway'e yönlendirilebilir:
export ANTHROPIC_BASE_URL=https://llmtr.comexport ANTHROPIC_AUTH_TOKEN=llmtr-your_keyexport ANTHROPIC_MODEL=anthropic/claude-sonnet-5PowerShell:
$env:ANTHROPIC_BASE_URL = "https://llmtr.com"$env:ANTHROPIC_AUTH_TOKEN = "llmtr-your_key"$env:ANTHROPIC_MODEL = "anthropic/claude-sonnet-5"Bağlantıyı doğrulamak için:
curl https://llmtr.com/v1/messages \ -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"anthropic/claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"test"}]}'Model listesi /v1/models ucundan okunur. Claude Code'un model seçicisinde LLMTR modellerini görmek için CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 ayarlayın; seçici yalnızca kimliğinde claude veya anthropic geçen model kimliklerini listeler. Diğer modelleri ANTHROPIC_MODEL ile doğrudan verebilirsiniz.
Claude Code kendi model listesinde olmayan bir kimlik gördüğünde bağlam penceresini 200K varsayar ve bir uyarı yazar. İstek çalışmaya devam eder. Modelin gerçek penceresini bildirmek için:
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000Desteklenmeyen alanlar
Section titled “Desteklenmeyen alanlar”Aşağıdaki alanlar bu uçta şu an etkisizdir. İstek reddedilmez, alan yoksayılır:
thinking— yanıt içindethinkingbloğu dönmez.cache_control— prompt cache işaretleri uygulanmaz, fiyatlandırmaya etkisi olmaz.context_management
Yanıt yalnızca text ve tool_use blokları içerir.
Hata biçimi
Section titled “Hata biçimi”Hatalar Anthropic zarfıyla döner:
{ "type": "error", "error": { "type": "invalid_request_error", "message": "max_tokens is required" }}error.type değerleri HTTP durumuna göre belirlenir: 400 invalid_request_error, 401 authentication_error, 403 permission_error, 404 not_found_error, 413 request_too_large, 429 rate_limit_error, 5xx api_error.
Diğer uçların hata biçimi için Hatalar sayfasına bakın.