Claude Fable 5.1 API: İlk İstekten Önbellek Doğrulamaya Uygulamalı Rehber
Claude Fable 5.1, 1 Eylül 2026'da yayımlandı. API model kimliği, tarih eki olmadan claude-fable-5-1 tam dizesidir. Fable 5 ile aynı şekilde milyon giriş belirteci başına 10$ ve milyon çıkış belirteci başına 50$ maliyetindedir; önbellek okumaları ise milyon belirteç başına 0,25$'a düşürülmüştür. Model ayrıca Fable 5'te bulunmayan üç kırılma değişikliği içerir.
Bu rehberde API anahtarı alma, ilk isteği gönderme, çabayı kontrol etme, akış, zorunlu tool_choice olmadan araç kullanımı, reddetme geri dönüşleri, ilerleme güncellemeleri ve usage nesnesiyle önbellek isabetlerini doğrulama adımlarını bulacaksınız. Her örnek düz HTTP ve JSON kullanır; uygulama koduna geçmeden önce istekleri Apidog içinde oluşturup hata ayıklayabilirsiniz.
Mevcut bir Fable 5 veya Opus 5 hizmetini taşıyorsanız tam taşıma rehberine de bakın. Genel bakış için Claude Fable 5.1 nedir? yazısıyla başlayabilirsiniz.
İlk aramadan önce: 400 döndüren üç durum
1. Düşünme yapılandırılamaz, yalnızca yönlendirilebilir
Fable 5.1 her istekte uyarlanabilir düşünmeyi çalıştırır. thinking alanını atlayın veya yalnızca şu değeri kullanın:
{"type": "adaptive"}
Aşağıdaki değerler 400 döndürür:
{"type": "disabled"}
{"type": "enabled", "budget_tokens": N}
Opus 5'ten geliyorsanız thinking: disabled ayarını kaldırın ve harcamayı output_config.effort ile kontrol edin.
2. Zorunlu araç kullanımı kaldırıldı
Aşağıdaki ayarlar artık desteklenmez:
{"type": "any"}
{"type": "tool", "name": "..."}
Şu hatayı alırsınız:
tool_choice: type "tool" and "any" are not supported for this model
Çözüm için aşağıdaki araç kullanımı bölümüne bakın.
3. Kuruluşta 30 günlük veri saklama süresi bulunmalı
Fable 5.1 bir Kapsanan Modeldir. Sıfır veri saklama kullanan bir kuruluş veya çalışma alanından gelen istek, gövde doğru olsa bile 400 invalid_request_error döndürebilir.
İlk çağrınız başarısız olursa veri saklama süresini kontrol edin. Bu üç davranış, Claude Fable 5.1'deki Yenilikler belgesinde açıklanmıştır.
Adım 1: API anahtarı alın
Claude Console'a giriş yapın, kuruluş ayarlarındaki API anahtarları bölümünü açın ve yeni bir anahtar oluşturun. Anahtarı yalnızca bir kez görebileceğiniz için hemen kopyalayın.
Koda yapıştırmak yerine ortam değişkeni olarak dışa aktarın:
export ANTHROPIC_API_KEY="sk-ant-..."
Apidog'da anahtarı ANTHROPIC_API_KEY adlı bir ortam değişkeninde saklayın ve başlıkta şu şekilde referans verin:
{{ANTHROPIC_API_KEY}}
Böylece anahtar kaydedilmiş istek gövdesine düşmez.
Adım 2: İlk isteği gönderin
https://api.anthropic.com/v1/messages adresine aşağıdaki üç başlıkla bir POST isteği gönderin:
x-api-keyanthropic-version: 2023-06-01-
content-type: application/json
curl https://api.anthropic.com/v1/messages \
-H "x-[REDACTED CREDENTIAL]_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-fable-5-1",
"max_tokens": 16000,
"messages": [
{"role": "user", "content": "Explain the difference between idempotent and safe HTTP methods, with one example each."}
]
}'
Python SDK ile aynı istek
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
messages=[{"role": "user", "content": "Explain the difference between idempotent and safe HTTP methods, with one example each."}],
)
if response.stop_reason == "refusal":
print("declined:", response.stop_details.category if response.stop_details else None)
else:
for block in response.content:
if block.type == "text":
print(block.text)
İlk çağrıdan itibaren iki alışkanlık edinin:
-
contentalanını okumadan öncestop_reasondeğerini kontrol edin. Sınıflandırıcı reddi, boş bir içerik dizisiyle birlikte HTTP 200 olarak dönebilir. -
max_tokensiçin yeterli alan ayırın. Bu değer düşünme ve yanıt belirteçlerini birlikte sınırlar. Düşünme her zaman açık olduğu için, düşünmeyen bir model için belirlediğiniz dar değer yanıtı kesebilir.
Varsayılan display: "omitted" davranışında, yanıtın thinking bloğunun metni boş olabilir. Bu beklenen bir durumdur. Sonraki turda bloğu değişiklik yapmadan geri gönderin.
Adım 3: Maliyeti ve derinliği effort ile kontrol edin
Fable 5.1'deki ana kontrol output_config.effort alanıdır. Değerler:
lowmediumhighxhighmax
Varsayılan değer high'dır.
{
"model": "claude-fable-5-1",
"max_tokens": 16000,
"output_config": {"effort": "medium"},
"messages": [
{
"role": "user",
"content": "Summarize this changelog in five bullets."
}
]
}
Çaba parametresi rehberinde önerildiği gibi high ile başlayın ve kendi değerlendirmelerinize göre diğer seviyeleri test edin. Fable 5'teki seviye adları aynı miktarda düşünmeye karşılık gelmeyebileceğinden, denemeleri yeniden yapın.
Genel beklenti:
-
medium, daha düşük maliyetle Fable 5'e kabaca yaklaşabilir. -
low, görev başına maliyette Opus ve Sonnet ile rekabetçi olabilir. -
lowseviyesinde model arama ve alma araçlarını daha az kullanıp hafızadan yanıt vermeye daha yatkındır. -
xhighvemaxseviyelerinde model, düşünme aşamasında uzun bir taslak hazırlayıp yeniden yazabilir. Bu seviyelerdemax_tokensdeğerini artırın.
Daha fazla örnek için Opus 5 çaba parametresi rehberine bakabilirsiniz.
Konuşma ortasında çabayı değiştirme — beta
Fable 5'te istekler arasında üst düzey çabayı değiştirmek önbelleğe alınmış önekleri düşürebiliyordu. Fable 5.1'de, boş içerikli bir system mesajı ve output_config kullanarak önbelleği geçersiz kılmadan bir sonraki kullanıcı turundan itibaren çabayı değiştirebilirsiniz.
Bu özellik için mid-conversation-output-config-2026-07-01 beta başlığını ve client.beta.messages ad alanını kullanın:
response = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
output_config={"effort": "high"},
betas=["mid-conversation-output-config-2026-07-01"],
messages=[
{"role": "user", "content": "Plan a migration from SQLite to PostgreSQL in three short steps."},
{"role": "assistant", "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts."},
{"role": "system", "content": [], "output_config": {"effort": "low"}},
{"role": "user", "content": "Summarize the plan in one sentence."},
],
)
Çabayı düşürmek güvenilirdir. Büyük sıçramalar, örneğin low seviyesinden xhigh seviyesine geçiş, genellikle daha iyi sonuç verir.
Adım 4: Uzun yanıtları yayınlayın
Fable 5.1 yüksek çabayla zor görevlerde dakikalarca çalışabilir. Bu nedenle uzun sürebilecek yanıtları yayınlayın. SDK, HTTP zaman aşımını önlemek için 128.000 sınıra yakın max_tokens değerlerinde akış kullanılmasını gerektirebilir.
with client.messages.stream(
model="claude-fable-5-1",
max_tokens=64000,
messages=[{"role": "user", "content": "Write a test plan for a rate-limited public API."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print(final.stop_reason, final.usage.output_tokens)
Apidog'da yayınlanan yanıtlar geldikçe işlenir. Böylece yüksek çabalı bir turda ilk metin belirtecinden önce modelin ne kadar süre düşündüğünü hızlıca görebilirsiniz.
Adım 5: Zorlamadan araç kullanımı ekleyin
Araç tanımları Fable 5 ile aynıdır. Değişen nokta, araç çağrısını garanti etme yöntemidir.
Fable 5.1'de tool_choice: {"type": "tool", ...} kullanmak 400 döndürür. Bunun yerine:
-
tool_choicedeğeriniautoolarak bırakın. - Aracın adını talimatta açıkça belirtin.
- Şemada
additionalProperties: falsekullanın. - Araca
strict: trueekleyin.
record_summary_tool = {
"name": "record_summary",
"description": "Record the structured summary of the document.",
"strict": True,
"input_schema": {
"type": "object",
"properties": {"summary": {"type": "string"}},
"required": ["summary"],
"additionalProperties": False,
},
}
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
tools=[record_summary_tool],
tool_choice={"type": "auto"},
messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result."}],
)
Bu yaklaşım, katı araç kullanımı sayesinde argümanların şemaya uygun olmasını sağlar.
Aracı yalnızca JSON almak için kullanıyorsanız, doğrudan output_config.format ile yapılandırılmış çıktıları tercih edin.
Uygulamanız mevcut çok turlu konuşmanın belirli turunda çağrı gerektiriyorsa, son kullanıcı mesajından sonra aracı adlandıran ve çağrının gerekli olduğunu belirten bir system mesajı ekleyin. tool_choice: {"type": "none"} ise araç çağrısının istenmediği turlarda kullanılmaya devam eder.
Araç aracılığı döngüsü
Döngü değişmez:
-
stop_reasondeğerinintool_useolmasını bekleyin. - Her
tool_usebloğunu yürütün. - Tüm
tool_resultbloklarını tek bir kullanıcı mesajında gönderin. - Yardımcı turunu,
thinkingblokları dahil olmak üzere, döndürüldüğü şekliyle eksiksiz ekleyin.
Son adım, korunmuş düşünme rehberinde açıklanan nedenlerle Fable 5.1'de özellikle önemlidir.
Bir sonraki bağımsız okumaların yalnızca görev tarafından ima edildiği uzun döngülerde Fable 5.1, Fable 5'in birkaç çağrıyı toplu işlediği yerde tur başına tek araç çağrısı yapabilir. Anthropic'in önerdiği düzeltme, her araç sonucu mesajından sonra şu tek cümlelik dürtüyü eklemektir:
Önce özel olarak neye ihtiyacınız olduğunu listeleyin; ardından bu tek yanıtta diğerinin sonucuna bağlı olmayan her öğeyi isteyin.
Bunu clear_at: "next_user_message" kullanan, tura özgü bir sistem mesajı olarak gönderin. Özellik için mid-conversation-system-clear-at-2026-08-21 beta başlığı gerekir. Önceki kopyaları konuşma geçmişinde tutun.
Adım 6: Reddedilen istekleri geri dönüşlerle ele alın
Reddedilen istekler HTTP 200 ile birlikte şu değerleri döndürür:
stop_reason: "refusal"stop_details.category
Kategori şu değerlerden biri olabilir:
cyberbiofrontier_llmreasoning_extractiongeneral_harms
Reddedilen istekler çıktı üretilmeden önce ücretlendirilmez.
Sunucu tarafı geri dönüş
En basit yapı, server-side-fallback-2026-07-01 beta başlığıyla fallbacks: "default" kullanmaktır. Anthropic, reddedilen isteği kategori için önerilen modelde yeniden dener.
Fable 5.1 için izin verilen hedefler:
claude-opus-4-8-
claude-opus-5
response = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
fallbacks="default",
betas=["server-side-fallback-2026-07-01"],
messages=[{"role": "user", "content": "Audit this authentication middleware for logic bugs."}],
)
fallback_ran = any(
entry.type == "fallback_message" for entry in (response.usage.iterations or [])
)
if fallback_ran and response.stop_reason != "refusal":
print("served by", response.model)
Yanıtın üst düzey model alanı, isteği gerçekten sunan modeli belirtir. fallback_message içerik bloğunu da turu geri yankılarken bulunduğu yerde koruyun.
Sınırlamalar:
-
fallbacks, Batches API'de desteklenmez. - Bedrock, Google Cloud ve Foundry'de kullanılamaz.
- Bu platformlarda SDK'nın
BetaRefusalFallbackMiddlewareistemcisini kullanmanız gerekir.
Faturalandırma, yapışkan yönlendirme ve geri dönüş kredisi ayrıntıları için Reddedilenleri ele alma rehberine bakın.
Adım 7: Uzun turlarda ilerleme güncellemelerini alın
Araç çağrıları arasında Fable 5.1, bulduğu ve bir sonraki adımda yapacağı şeylerle ilgili kısa notlar yazabilir. Bu notlar, araç çağrısından hemen önce ayrı thinking blokları olarak gelir.
Varsayılan display altında bu bloklar boştur. Metin olarak almak için thinking-display-updates-2026-08-18 beta başlığıyla display: "updates" ayarlayın:
{
"model": "claude-fable-5-1",
"max_tokens": 16000,
"thinking": {"type": "adaptive", "display": "updates"},
"tools": [...],
"messages": [
{
"role": "user",
"content": "Review the PRs open against our billing service."
}
]
}
Metni boş olmayan thinking bloklarını durum satırı olarak görüntüleyebilirsiniz. Modelin daha az güncelleme üretmesi nedeniyle, kullanıcı arayüzünüz anlatıya bağlıysa bulguları nihai yanıta saklamasını isteyen istem satırlarını kaldırın.
Adım 8: 0,25$ önbellek oranını usage ile doğrulayın
İstem önbellekleme, Fable 5.1'in fiyat avantajının en belirgin olduğu alandır. Kararlı öneki cache_control ile işaretleyin:
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
system=[{"type": "text", "text": LONG_STABLE_SYSTEM_PROMPT, "cache_control": {"type": "ephemeral"}}],
messages=[{"role": "user", "content": "Which endpoints in the spec lack an error schema?"}],
)
u = response.usage
print(u.input_tokens, u.cache_creation_input_tokens, u.cache_read_input_tokens)
İlk gönderimde:
cache_creation_input_tokens > 0
Bu kullanım, 5 dakikalık TTL için milyon belirteç başına 12,50$ olarak faturalandırılır.
Beş dakika içinde aynı önekle yapılan ikinci gönderimde:
cache_read_input_tokens > 0
olmalıdır. Bu belirteçler milyon başına 0,25$'dan faturalandırılır.
İkinci istekte değer sıfır kalıyorsa önekte her seferinde değişen bir şey vardır. Şunları kontrol edin:
- Sistem istemindeki zaman damgaları
- Sıralanmamış JSON
- Değişken araç dizileri
- Değişen önceki mesajlar
Önbelleklenebilir minimum istem uzunluğu 512 belirteçtir.
Bir önbellek ıskası, isabetten 40 kat daha pahalıdır. Bu nedenle önbelleği sıcak tutmak Fable 5'e göre daha önemlidir. Mesaj başına çaba ve tura özgü sistem mesajları, sıfırlama olmadan oturum ortasında değişiklik yapabilmenizi sağlar.
Önbelleği sıfırlayan düzenlemeler — örneğin sistemi yeniden oluşturmak veya önceki turları değiştirmek — düşünme bloklarını da geçersiz kılar. Yalnızca ekleme disiplini bu nedenle iki avantaj sağlar.
Ayrıntılı fiyatlar için Fable 5.1 fiyatlandırma dökümüne bakın.
Tüm akışı Apidog'da test edin
Yukarıdaki adımları tek bir Apidog koleksiyonuna kaydedin:
- İlk çağrı
-
effortvaryantları - Yayınlama
- Araç döngüsü
- Geri dönüş
- Önbellek kontrolü
Anahtar ve model için ortam değişkenleri kullanın. Böylece tüm koleksiyonu claude-fable-5 ile claude-fable-5-1 arasında tek bir düzenlemeyle değiştirebilirsiniz.
Aşağıdaki doğrulamaları ekleyin:
- İyi huylu test istemlerinde
stop_reasondeğerirefusaldeğildir. - İkinci önbellek isteğinde
usage.cache_read_input_tokenssıfırdan büyüktür. - Düşünme-bağlama başlığıyla yapılan çalıştırmada
input_transformationsiçindereason: "prefix_binding_mismatch"yoktur.
Her yapılandırma değişikliğinden önce ve sonra koleksiyonu çalıştırın. Kurulum için Apidog'u indirin. Aynı koleksiyon Apidog CLI ile CI kontrolü olarak da çalıştırılabilir.
Sık karşılaşılan hatalar ve tuzaklar
400
tool_choice: type "tool" and "any" are not supported for this model
auto, açık bir talimat vestrict: truekullanın.thinking: {"type": "disabled"}üzerinde 400
thinkingalanını kaldırın. Çabayıoutput_config.effortile düşürün.Geçerli bir gövdeyle birlikte 400
invalid_request_error
Kuruluşun veya çalışma alanının 30 günlük veri saklama süresine sahip olup olmadığını kontrol edin.400
Invalid signature in thinking block
Önceki bir tur, sistem istemi veya araç dizisi değiştirilmiştir. Korunmuş düşünme rehberindeki kurallara uyun.Sessiz veya boş düşünme metni
display: "omitted"altında bu beklenen davranıştır. Görüntüleme gerekiyorsasummarizedveyaupdateskullanın.Önbellek okumaları sıfır
Önek değişkendir. Zaman damgalarını, JSON sıralamasını ve araç dizilerini denetleyin.Öncelik Katmanı doğrulama hatası
Fable 5.1 Öncelik Katmanı'nı desteklemez; Fable 5 destekler.
SSS
Claude Fable 5.1 API model kimliği nedir?
Anthropic API için:
claude-fable-5-1
Amazon Bedrock için:
anthropic.claude-fable-5-1
Google Cloud, Microsoft Foundry ve AWS üzerindeki Claude Platformu için claude-fable-5-1 kullanılır.
Beta başlığı gerekli mi?
Hayır. Temel model, uyarlanabilir düşünme, çaba, araçlar ve önbellekleme standart şu başlıkla çalışır:
anthropic-version: 2023-06-01
Beta başlıkları yalnızca şu özellikler için gereklidir:
- Mesaj başına çaba
- Tura özgü sistem mesajları
- İlerleme güncellemeleri
- Sunucu tarafı geri dönüşler
- Düşünme-bağlama kontrolleri
Fable 5.1'de araç çağrısını zorlayabilir miyim?
Hayır. tool_choice içindeki any ve tool seçenekleri 400 döndürür.
Şema geçerli argümanlar için:
-
autokullanın. - İstemde aracın adını belirtin.
-
strict: trueayarlayın.
JSON çıkarımı için bunun yerine yapılandırılmış çıktıları tercih edin.
Maksimum çıktı uzunluğu nedir?
Messages API'de maksimum çıktı 128.000 belirteçtir. Büyük yanıtları yayınlayın. 300.000 belirteçlik Batch API beta sürümü Fable 5.1 için listelenmemiştir.
Daha ucuz önbellek okumalarını nasıl görürüm?
Tekrarlanan istekte şu alanı kontrol edin:
response.usage.cache_read_input_tokens
Faturalandırma oranları:
- Fable 5.1: milyon başına 0,25$
- Fable 5: milyon başına 1$
- Opus 5: milyon başına 0,50$
Fable 5 API rehberi hâlâ geçerli mi?
Büyük ölçüde evet. Fable 5 API rehberi aynı uç noktayı kapsar. Ancak zorunlu araç kullanımı örnekleri artık 400 döndürür; ayrıca rehber, mesaj başına çaba ve ilerleme güncellemeleri eklenmeden önce yazılmıştır.

Top comments (0)