Claude Sonnet 5, 30 Haziran 2026'da piyasaya sürüldü ve Anthropic'in yayınladığı en ajans odaklı Sonnet modelidir. Araç kullanımı ve kodlama görevlerinde Opus 4.8'e yakın performans gösterirken çok daha düşük bir fiyat sunar, bu da onu döngü içinde araçları çağıran her şey için güçlü bir varsayılan haline getirir. Bu kılavuz, Claude Sonnet 5 API'sini baştan sona nasıl çağıracağınızı gösterir: bir anahtar edinin, curl ve Python'da ilk isteğinizi gönderin, yanıtı okuyun, yeni uyarlanabilir düşünme varsayılanını ele alın, 400 hatası döndüren üç istek değişikliğinden kaçının, uzun çıktıları yayınlayın ve yeni tokenize edici altında jetonları sayın.
Tüm bunları Apidog'da kurarak isteklerinizin kabuk geçmişine dağılmak yerine, kaydedilmiş ortamlar ve otomatik testlerle yeniden kullanılabilir bir koleksiyonda yaşamasını sağlayacaksınız. Daha önce Mesajlar API'sini çağırdıysanız, bunların çoğu tanıdık gelecektir. Model kimliği claude-sonnet-5'tir ve istek şekli zaten kullandığınızla eşleşir.
Başlamadan Önce İhtiyacınız Olanlar
API'yi çağırmak için üç şeye ihtiyacınız var.
- Bir Anthropic hesabı ve Claude platform konsolundan bir API anahtarı.
- Model kimliği:
claude-sonnet-5. Bu, tarih soneki olmayan tam dizedir. - HTTP istekleri göndermenin bir yolu. Curl hızlı bir test için çalışır. Yineleme yapmaya başladığınızda Apidog daha iyi çalışır.

Sonnet 5, tüm API müşterilerinin yanı sıra Amazon Bedrock (AWS'deki Claude Platformu aracılığıyla), Vertex AI aracılığıyla Google Cloud ve önizlemede Microsoft Foundry için mevcuttur. Bu kılavuz doğrudan Anthropic API'sini kullanır. İstek gövdesi tüm platformlarda aynıdır; yalnızca kimlik doğrulama ve uç nokta ana bilgisayarı değişir.
API Anahtarınızı Alın
Claude platform konsoluna giriş yapın, API anahtarları bölümünü açın ve yeni bir anahtar oluşturun. Bir kez kopyalayın ve güvenli bir yere saklayın, çünkü konsol onu bir daha göstermeyecektir. Anahtarı asla kaynağınıza sabit kodlamayın veya git'e commit etmeyin. Bunun yerine bir ortam değişkeni olarak ayarlayın:
export ANTHROPIC_API_KEY="sk-ant-..."
Bir ZDR anlaşmanız varsa, Sonnet 5 sıfır veri saklamayı destekler, bu nedenle API yüzeyinde sizin için hiçbir şey değişmez.
İlk İsteğiniz
Sonnet 5 API'si Anthropic'in Mesajlar uç noktasını kullanır. İşte curl ile minimal bir istek.
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "API testi hakkında bir haiku yaz."}
]
}'
Python SDK ile aynı istek:
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "API testi hakkında bir haiku yaz."}
],
)
print(message.content[0].text)
İki alan asıl işi yapar. model, Sonnet 5'i seçer. max_tokens toplam çıktıyı sınırlar. Okumaya devam edin, çünkü max_tokens Sonnet 5'te Sonnet 4.6'dan farklı davranır ve yanlış yapılması en kolay şeydir.
Yanıtı Okuma
Başarılı bir çağrı, şöyle bir JSON gövdesiyle (kısaltılmış) HTTP 200 döndürür:
{
"id": "msg_01ABC...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5",
"content": [
{"type": "text", "text": "Onaylar yeşil,\nuç noktalar ilk denemede yanıt verir,\nbirleşmeyi bu gece gönder."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 18,
"output_tokens": 27
}
}
Gerçek iş için birkaç alan önemlidir.
contentbir dizidir. Metin,type'ın"text"olduğu bloklarda yer alır. Araç kullanımı veya düşünme etkinleştirildiğinde, aynı dizide başka blok türleri de göreceksiniz, bu yüzden yineleyin;content[0]'ın her zaman cevabınız olduğunu varsaymayın.stop_reasonüretimin neden bittiğini söyler.end_turnnormaldir.max_tokens, sınıra ulaştığınız ve çıktının kesildiği anlamına gelir.refusalyenidir ve anlaşılmaya değerdir (aşağıda).usage,input_tokensveoutput_tokensdeğerlerini raporlar. Bu, faturalandırıldığınız şeydir ve yeni tokenize edici nedeniyle Sonnet 5'te aynı metin için sayılar daha yüksektir.
Reddetme Durdurma Nedeni
Sonnet 5, gerçek zamanlı siber güvenlik önlemlerine sahip ilk Sonnet katmanı modelidir. Bir istek yasaklı veya yüksek riskli bir siber konuya dokunursa, model reddedebilir. Bir reddetme, bir hata olarak değil, stop_reason: "refusal" ile normal bir HTTP 200 olarak geri döner. Bunu, başarısız bir HTTP çağrısı olarak ele almak yerine, yanıt ayrıştırma kodunuzda herhangi bir end_turn dışı durdurma nedeni gibi ele alın.
Uyarlanabilir Düşünme Varsayılan Olarak Açıktır
Bu, Sonnet 4.6'dan en büyük davranış değişikliğidir ve insanları şaşırtır. Sonnet 4.6'da thinking alanı olmaması düşünme olmadığı anlamına geliyordu. Sonnet 5'te, uyarlanabilir düşünme varsayılan olarak açıktır. thinking alanı olmayan bir istek artık uyarlanabilir düşünmeyle çalışır ve düşünme jetonları toplam çıktınıza dahil edilir.
Çünkü max_tokens toplam çıktı (düşünme jetonları artı yanıt metni) üzerinde katı bir sınırdır, 4.6'da rahat olan bir max_tokens değeri artık görünür cevabınızı bitmeden kesebilir. Hiç düşünme kullanmayan ve sıkı bir max_tokens belirleyen bir iş yükünü taşıdıysanız, bunu yükseltin veya kesinti bekleyin.
Düşünmeyi tamamen kapatmak için:
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
thinking={"type": "disabled"},
messages=[
{"role": "user", "content": "Sadece JSON döndür, gerekçe yok."}
],
)
Uyarlanabilir düşünmeyi açık tutmak ve modelin ne kadar çalışacağını kontrol etmek için, manuel bir jeton bütçesi ayarlamaya çalışmak yerine "effort" parametresini kullanın. Effort, low, medium, high ve xhigh değerlerini destekler. Daha yüksek çaba, daha derin düşünme ve daha fazla jeton harcaması anlamına gelir. Anthropic, davranışı uyarlanabilir düşünme sayfasında belgeler. Alan değerinin {"type": "adaptive"} olduğunu unutmayın, bir budget_tokens sayısı değil.
400 Döndüren Üç İstek Değişikliği
Kodu Sonnet 4.6'dan veya daha eski bir Claude modelinden taşıyorsanız, daha önce çalışan üç şey artık 400 hatası döndürecektir. Göç etmeden önce bunları düzeltin.
- Manuel genişletilmiş düşünme kaldırıldı.
thinking: {type: "enabled", budget_tokens: N}400 döndürür. Bu zaten 4.6'da kullanımdan kaldırılmıştı. Bunun yerine uyarlanabilir düşünmeyi ve "effort" parametresini kullanın. - Örnekleme parametreleri reddedildi.
temperature,top_pveyatop_k'yi varsayılan olmayan bir değere ayarlamak 400 döndürür. Bunları kaldırın. Atlamak veya varsayılan değerlerinde bırakmak sorun değildir. Bunun yerine sistem istemi talimatlarıyla davranışı yönlendirin. Bu kısıtlama zaten Opus 4.7 ve üzeri modellerde vardı; Sonnet sınıfı için yenidir. - Yardımcı mesaj ön doldurma desteklenmiyor. Yardımcı mesajın başlangıcını ön doldurmak 400 döndürür. Bunun yerine çıktıyı şekillendirmek için yapılandırılmış çıktıları veya
output_config.format'ı veya sistem istemi talimatlarını kullanın.
Sonnet 4.6'da çalışan diğer her şey, başka hiçbir kod değişikliği olmaksızın Sonnet 5'te çalışır. İstek, yanıt ve akış şekilleri aynıdır. Daha kapsamlı bir geçiş kılavuzu için, Sonnet 5'in miras aldığı aynı istek yüzeyini kapsayan Claude Sonnet 4.6 API hakkındaki kılavuzumuza bakın.
Büyük Çıktılar İçin Akış
Sonnet 5, 128.000 jetona kadar çıktı desteği sunar. Uzun yanıtlar veya uyarlanabilir düşünmenin toplam çıktıyı yükselttiği herhangi bir istek için, sonucu tam yanıtı beklemek yerine jetonlar üretildikçe alacak şekilde yayınlayın. Akış ayrıca büyük üretimlerde istemci zaman aşımlarını da önler.
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=8000,
messages=[
{"role": "user", "content": "Bir kitapçı ödeme API'si için bir OpenAPI 3.1 spesifikasyonu taslağı oluştur."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Akış olay şekli Sonnet 4.6'dakiyle aynıdır, bu nedenle mevcut akış işleyicileri değişmeden çalışır.
Yeni Tokenize Edici Altında Jeton Sayımı
Sonnet 5 yeni bir tokenize edici kullanır. Aynı girdi metni, Sonnet 4.6'ya göre yaklaşık %30 daha fazla jeton, yaklaşık 1,3 kat üretir. Bu bir API değişikliği değildir. İstek, yanıt ve akış şekilleri aynıdır ve bunun için herhangi bir kod değiştirmezsiniz. Ancak jetonlarda ölçtüğünüz veya bütçelediğiniz her şeyi etkiler.
- Aynı metin için
usagesayılarınız ve jeton sayma sonuçlarınız daha yüksektir. Sonnet 5'e göre yeniden sayım yapın; 4.6 sayımlarınızı yeniden kullanmayın. - 1.000.000 jetonluk bağlam penceresi, her jeton artık daha az metni kapsadığı için ortalama olarak daha az metin tutar.
- Beklenen çıktınıza yakın boyutlandırılmış bir
max_tokensdeğeri artık kesintiye uğrayabilir. Tekrar gözden geçirin. - Jeton başına fiyat değişmemiş olsa bile, eşdeğer metin için istek başına maliyet daha yüksek olabilir.
Göndermeden önce jeton sayımı uç noktasını kullanın, böylece Sonnet 5'in gerçek sayılarına göre bütçeleme yaparsınız:
count = client.messages.count_tokens(
model="claude-sonnet-5",
messages=[
{"role": "user", "content": "Sonnet 5'teki bu istem için jetonları tahmin et."}
],
)
print(count.input_tokens)
Anthropic bunu jeton sayımı sayfasında belgeler.
Hatalar, Oran Sınırları ve Temel Maliyet
Standart HTTP semantiği geçerlidir. 400, hatalı biçimlendirilmiş bir istek anlamına gelir (yukarıdaki üç değişiklik, Sonnet 5'teki olağan şüphelilerdir). 401, hatalı veya eksik bir API anahtarı anlamına gelir. 429, bir oran sınırına ulaştığınız anlamına gelir. `retry-after` başlığını okuyun ve yeniden denemeden önce geri çekilin. Bir reddetmenin bir hata değil, 200 olduğunu unutmayın, bu yüzden yeniden deneme mantığınızdan geçirmeyin.
Fiyatlandırmada, tanıtım oranı 31 Ağustos 2026'ya kadar milyon giriş jetonu başına 2 dolar ve milyon çıkış jetonu başına 10 dolardır. Bundan sonra, milyon giriş başına standart 3 dolar ve milyon çıkış başına 15 dolara yükselir, Sonnet 4.6 ile aynı jeton başına orandır. Tokenize edici değişikliği nedeniyle, eşdeğer bir metin isteğinin maliyeti jeton başına oran aynı olsa bile 4.6'dan daha yüksek olabilir, bu yüzden düz eşitlik varsaymak yerine gerçek iş yüklerinizi jeton sayımıyla modelleyin. Daha derin bir maliyet incelemesi için Claude API maliyet dökümümüzü ve Claude API oran sınırları kılavuzumuzu inceleyin. Öncelik Katmanı Sonnet 5'te mevcut değildir.
Sonnet 5 Çağrılarınızı Apidog'da Test Edin ve Düzenleyin
İlk curl komutundan sonra, isteklerinizin kaydedilmesini, anahtarınızın bir kez depolanmasını ve yanıtlarınızın otomatik olarak kontrol edilmesini istersiniz. İşte Apidog'un devreye girdiği yer burasıdır. Hepsi bir arada bir API platformudur, bu yüzden elle gönderdiğiniz aynı istek yeniden kullanılabilir, test edilebilir bir varlık haline gelir. Takip etmek için Apidog'u indirin.
İşte Sonnet 5 API'si için pratik bir kurulum.
1. İsteği oluşturun. Apidog'da yeni bir HTTP isteği ekleyin. Metodu POST ve URL'yi https://api.anthropic.com/v1/messages olarak ayarlayın. anthropic-version: 2023-06-01 ve content-type: application/json başlıklarını ekleyin. JSON gövdesini "model": "claude-sonnet-5" ile yapıştırın.
2. API anahtarını bir ortam değişkeni olarak saklayın. Bir ortam oluşturun (örneğin, "Anthropic Production") ve ANTHROPIC_API_KEY adlı bir değişken ekleyin. Bunu x-api-key başlığında {{ANTHROPIC_API_KEY}} olarak referans alın. Artık anahtarınız istek gövdenizden ayrı olarak tek bir yerde bulunur ve istekleri düzenlemeden ortamları değiştirebilirsiniz.
3. Bir koleksiyona kaydedin. Sonnet 5 isteklerinizi, düz bir mesaj çağrısını, bir akış çağrısını, bir araç çağrısını tek bir koleksiyonda gruplandırın. Tüm ekibiniz, curl kod parçacıklarını kopyalamak yerine aynı bilinen iyi istekleri alır.
4. Otomatik bir test ekleyin. Bir şey saptığında bir çalıştırmanın yüksek sesle başarısız olması için isteğe onaylar ekleyin. Örneğin:
- Yanıt durumunun
200olduğunu doğrulayın. model'inclaude-sonnet-5'e eşit olduğunu doğrulayın.stop_reason'ın mevcut olduğunu vemax_tokensolmadığını doğrulayın (tokenize edici değişikliğinden sonra kesintiyi yakalamanın hızlı bir yolu).usage.output_tokens'un0'dan büyük olduğunu doğrulayın.
Bunları bir test senaryosuna zincirleyin ve istemleri değiştirdiğinizde veya model sürümlerini geçirdiğinizde CI'da çalıştırın. Bu son doğrulama, uyarlanabilir düşünmenin artık varsayılan olarak açık olmasından kaynaklanan bir max_tokens regresyonunu yakalamanın en ucuz yoludur.
5. Uç noktayı taklit edin. Apidog'un akıllı taklidi, Mesajlar şekli için gerçekçi bir yanıt döndürür, böylece uygulamanızın istemci kodu, hata işleme ve akış ayrıştırıcısı tek bir jeton harcamadan oluşturulabilir ve test edilebilir. Bu, ön uç çalışmaları ve kendi entegrasyon katmanınızın yük testi için kullanışlıdır.
Bunun için Postman'dan geçiş yapıyorsanız, 2026'da Postman olmadan API testi hakkındaki görüşümüz, tek bir araçta bir tasarım-artı-test-artı-taklit iş akışının neden gidiş-dönüşleri kurtardığını kapsar. Terminali mi tercih edersiniz? Apidog CLI eksiksiz kılavuzu, bu aynı kaydedilmiş testleri bir işlem hattında nasıl çalıştıracağınızı gösterir.
Sıkça Sorulan Sorular
Claude Sonnet 5 model kimliği nedir?
Bu, tarih eki olmayan tam bir dize olan claude-sonnet-5'tir. Mesajlar isteğinizin model alanında kullanın. claude-sonnet-4-6 için doğrudan bir yedektir, bu nedenle çoğu durumda model kimliğini değiştirmeniz ve üç şeyi gözden geçirmeniz gerekir: uyarlanabilir düşünmenin artık varsayılan olarak açık olması, kaldırılan örnekleme parametreleri ve kaldırılan manuel düşünme bütçesi. Modelin tam resmi için Claude Sonnet 5 nedir okuyun.
Sonnet 5'te max_tokens çıktım neden kesiliyor?
Uyarlanabilir düşünme varsayılan olarak açıktır ve düşünme jetonları, yanıt metninizle birlikte max_tokens'a karşı sayılır. Eğer sınırınız Sonnet 4.6'da düşünme gerektirmeyen bir iş yükü için ayarlanmışsa, bunu yükseltin veya hiç düşünme istemiyorsanız thinking: {"type": "disabled"} olarak ayarlayın. Yeni tokenize edici aynı metin için yaklaşık %30 daha fazla jeton üretir, bu da etkiyi artırır.
Sonnet 4.6'dan geçiş yapmak için kodumu değiştirmem gerekiyor mu?
Sadece üç yerde. Varsayılan olmayan temperature, top_p ve top_k değerlerini kaldırın. thinking: {type: "enabled", budget_tokens: N} ifadelerini kaldırın. Yardımcı mesaj ön doldurmayı kaldırın. Bunların her biri Sonnet 5'te 400 hatası döndürür. Akış ve yanıt şekilleri dahil olmak üzere diğer her şey değişmeden kalır. Opus da çalıştırıyorsanız, Opus 4.8 API kılavuzumuz aynı Mesajlar yüzeyini kullanır.
Reddetme, yakalamam gereken bir hata mı?
Hayır. Bir siber güvenlik reddi, stop_reason: "refusal" ile HTTP 200 döndürür. Bunu, başarısız bir istek olarak değil, end_turn dışı bir durdurma nedeni olan normal bir yanıt olarak ele alın. Yeniden deneme-hata yolunuzdan göndermeyin.
Sonnet 5 API'sinin maliyeti ne kadar?
Tanıtım fiyatlandırması 31 Ağustos 2026'ya kadar milyon giriş jetonu başına 2 dolar ve milyon çıkış jetonu başına 10 dolardır, daha sonra 3 dolar ve 15 dolara yükselir. Jeton başına oran Sonnet 4.6 ile eşleşir, ancak yeni tokenize edici, eşdeğer metnin daha pahalı olabileceği anlamına gelir, bu nedenle eşitlik varsaymak yerine jeton sayımıyla ölçüm yapın.
