Claude Fable 5.1, 1 Eylül 2026'da yayımlandı ve API model kimliği, herhangi bir 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ı milyon başına 0,25$'a düşürülmüştür ve Fable 5'te olmayan üç kırılma değişikliği içermektedir.
Bu rehber tüm süreci anlatır: bir anahtar edinme, 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 yeni oranında önbelleğinizin çalıştığını doğrulamak için usage nesnesini okuma. Her istek, düz HTTP ve JSON'dan oluşur, böylece uygulama koduna girmeden önce Apidog'da oluşturup hata ayıklayabilirsiniz.
Sıfırdan başlamak yerine mevcut bir Fable 5 veya Opus 5 hizmetini taşıyorsanız, bu rehberle birlikte tam taşıma rehberini okuyun. Model hakkında genel bilgi için Claude Fable 5.1 nedir ile başlayın.

İlk aramanızdan önce: 400 döndüren üç şey
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 {"type": "adaptive"} gönderin. Hem {"type": "disabled"} hem de {"type": "enabled", "budget_tokens": N} bir 400 döndürür. Eğer disabled'ın high çaba veya altında kabul edildiği Opus 5'ten geliyorsanız, bunu kaldırın ve bunun yerine harcamayı output_config.effort ile kontrol edin.
2. Zorunlu araç kullanımı kaldırıldı. tool_choice: {"type": "any"} ve {"type": "tool", "name": "..."} şu hatayı döndürür: tool_choice: type "tool" and "any" are not supported for this model. Düzeltme aşağıdaki araç kullanım adımındadır.
3. Kurulumunuzun 30 günlük veri saklama süresine ihtiyacı var. Fable 5.1 bir Kapsanan Modeldir. Sıfır veri saklama süresi olan bir kuruluştan veya çalışma alanından gelen bir istek, başka bir ipucu olmaksızın 400 invalid_request_error döndürür. İlk çağrınız başarısız olursa ve gövde doğru görünüyorsa, her şeyden önce saklama süresini kontrol edin.
Üçü de Anthropic'in Claude Fable 5.1'deki Yenilikler belgesinde açıklanmıştır.
Adım 1: Bir API anahtarı alın
Claude Console'a giriş yapın, kuruluş ayarlarınızın API anahtarları bölümünü açın ve bir anahtar oluşturun. Bir kez kopyalayın; daha sonra tekrar okuyamazsınız. Koda yapıştırmak yerine dışa aktarın:
export ANTHROPIC_API_KEY="sk-ant-..."
Apidog'da, bunu ANTHROPIC_API_KEY adlı bir ortam değişkeni olarak saklayın ve başlıkta {{ANTHROPIC_API_KEY}} olarak referans gösterin, böylece anahtar asla kaydedilmiş bir istek gövdesine düşmez.
Adım 2: İlk isteğinizi gönderin
https://api.anthropic.com/v1/messages adresine üç başlıkla bir POST isteği oluşturun: x-api-key, anthropic-version: 2023-06-01 ve content-type: application/json.
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-fable-5-1",
"max_tokens": 16000,
"messages": [
{"role": "user", "content": "Explain the difference between idempotent and safe HTTP methods, with one example each."}
]
}'
Resmi SDK ile Python'da aynı çağrı:
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 edinmeniz gereken iki alışkanlık. content'i okumadan önce stop_reason'ı kontrol edin, çünkü bir sınıflandırıcı reddi, boş bir içerik dizisiyle birlikte bir HTTP 200'dür. Ve max_tokens'a gerçek bir alan tanıyın. Bu, düşünme belirteçlerini ve yanıt belirteçlerini bir araya getirerek sınırlar ve düşünme her zaman açıktır, bu nedenle düşünmesiz bir model için ayarlanmış sıkı bir değer burada kesilir.
Yanıt, varsayılan display değeri "omitted" olduğunda metni boş olan bir thinking bloğu içerir. Bu beklenen bir durumdur. Bir sonraki turda onu olduğu gibi geri geçirin.
Adım 3: Maliyeti ve derinliği çaba ile kontrol edin
Çaba parametresi, Fable 5.1 üzerindeki ana kaldıraçtır. En üst düzeyde değil, output_config içine yerleştirilir ve low, medium, high, xhigh ve max değerlerini kabul eder. 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."}]
}
Anthropic'in rehberliği: high ile başlayın, ardından diğerlerini kendi değerlendirmelerinize göre deneyin ve Fable 5'te yapsanız bile denemeyi tekrar yapın, çünkü seviye adları modeller arasında aynı miktarda düşünmeye karşılık gelmez. İddiaları, medium'un daha düşük maliyetle Fable 5 ile kabaca eşleştiği ve low'un görev başına maliyette Opus ve Sonnet ile sık sık rekabetçi olduğudur. Bilinmesi gereken iki çabaya özel davranış: low seviyesinde, Fable 5.1 arama ve alma araçlarını daha az kullanır ve daha çok hafızadan yanıt verir; xhigh ve max seviyelerinde ise düşünme aşamasında uzun bir teslimat taslağı hazırlayıp sonra tekrar yazabilir, bu nedenle her ikisi için de max_tokens'ı ayarlayın.
Konuşma ortasında çabayı değiştirme (beta). Fable 5'te, istekler arasında üst düzey çabanın değiştirilmesi önbelleğe alınmış önekleri düşürüyordu. Fable 5.1'de, boş içerikli bir role: "system" mesajı ve bir output_config, önbelleği geçersiz kılmadan bir sonraki kullanıcı turundan itibaren çabayı değiştirir. Bu, mid-conversation-output-config-2026-07-01 beta başlığını ve client.beta.messages ad alanını gerektirir.
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."},
],
)
Bu şekilde çabayı düşürmek güvenilirdir. Artırmak ise low'dan xhigh'a gibi büyük sıçramalarda en iyi sonucu verir. Opus 5 için çaba parametresi rehberi beş seviyeyi derinlemesine kapsar ve aynı semantik burada da geçerlidir.
Adım 4: Yanıtı yayınlayın (Stream edin)
Fable 5.1, daha yüksek çabayla zorlu görevlerde dakikalarca çalışabilir, bu nedenle uzun olabilecek her şeyi yayınlayın. SDK, HTTP zaman aşımlarını önlemek için 128.000 sınırına yakın max_tokens değerleri için yayınlama gerektirir.
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; bu, yüksek çabalı bir turda ilk metin belirtecinden önce ne kadar süre düşündüğünü görmenin en hızlı yoludur.
Adım 5: Zorlamadan araç kullanımını ekleyin
Araçları Fable 5'tekiyle aynı şekilde tanımlayın. Değişen şey, bir çağrıyı nasıl garanti edeceğinizdir. Fable 5'te tool_choice: {"type": "tool", ...} ile bunu zorlayabiliyordunuz. Fable 5.1'de bu bir 400 hatası döndürür, çünkü zorla bir çağrı düşünmeyi atlar ve model yaptığı işi argümanlara yazar.
Yedeklemenin üç bölümü vardır: tool_choice'u auto olarak tutun, aracı talimatta adlandırın ve argümanların her zaman doğrulanması için şemada additionalProperties: false ile araca strict: true (katı araç kullanımı) ayarlayın.
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."}],
)
Zorla çağrı yalnızca JSON geri almak için mevcutsa, bir araç yerine doğrudan yapılandırılmış çıktıları (output_config.format) kullanın. Uygulamanız, kullanıcının değil, çok turlu bir konuşmanın mevcut turunda belirli bir çağrı gerektiriyorsa, en son kullanıcı turundan sonra aracı adlandıran ve çağrının gerekli olduğunu belirten bir role: "system" mesajı ekleyin ve bu mesajı geçmişte tutun. tool_choice: {"type": "none"}, araç çağırmaması gereken bir tur için hala çalışır.
Aracılık döngüsü değişmeden kalır: stop_reason tool_use olduğunda, her tool_use bloğunu yürütün, tüm tool_result bloklarını tek bir kullanıcı mesajında döndürün ve yardımcı turunu, düşünme blokları dahil olmak üzere, tam olarak döndürüldüğü gibi ekleyin. Bu son madde Fable 5.1'de önceki modellere göre daha önemlidir, bunun nedenlerini korunmuş düşünme rehberi açıklamaktadır.
Dikkat edilmesi gereken bir davranış: bir sonraki bağımsız okumaların sadece görev tarafından ima edildiği uzun döngülerde, Fable 5.1, Fable 5'in birkaçını toplu işlediği yerde, tur başına bir araç çağrısı yapabilir. Anthropic'in düzeltmesi, her araç sonucu mesajından sonra eklenen tek cümlelik bir dürtüdür: "Ö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 bir tura özgü sistem mesajı (clear_at: "next_user_message", beta başlığı mid-conversation-system-clear-at-2026-08-21) olarak gönderin ve önceki tüm kopyaları yerinde bırakın.
Adım 6: Geri dönüşlerle reddedilenleri ele alın
Fable 5.1 güvenlik sınıflandırıcılarını çalıştırır. Reddedilen bir istek, stop_reason: "refusal" ve kategoriyi (cyber, bio, frontier_llm, reasoning_extraction veya general_harms) belirten bir stop_details nesnesi ile HTTP 200 olarak geri gelir. Herhangi bir çıktıdan önce reddedilme ücretlendirilmez.
Varsayılan olarak geri dönüşleri kullanmayı seçin. En basit form, server-side-fallback-2026-07-01 beta başlığıyla birlikte fallbacks: "default"'tır; bu, reddedilen bir isteği Anthropic'in o kategori için önerdiği modelde yeniden dener. Fable 5.1 için izin verilen hedefler claude-opus-4-8 ve claude-opus-5'tir.
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, üst düzey model alanında hizmet veren modeli adlandırır ve bir fallback içerik bloğu devri işaretler. Bu bloğu, turu geri yankılarken göründüğü yerde tutun. İki sınırlama: fallbacks, Batches API'de reddedilir ve Bedrock, Google Cloud veya Foundry'de kullanılamaz; bu platformlarda bunun yerine SDK'nın BetaRefusalFallbackMiddleware istemcisine kaydedersiniz. Reddedilenleri ele alma rehberi, faturalandırma, yapışkan yönlendirme ve geri dönüş kredisi ile manuel yeniden denemeyi kapsar.
Adım 7: Uzun turlar sırasında ilerleme güncellemeleri alın
Araç çağrıları arasında, Fable 5.1 bulduğu ve bir sonraki adımda yapacağı şeyler hakkında kısa notlar yazar. Her biri, araç çağrısından hemen önce kendi thinking bloğu olarak gelir ve varsayılan display altında bu bloklar boştur. Akıl yürütmenin kendisi gizli kalırken 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 herhangi bir thinking bloğu, o zaman render edebileceğiniz bir durum satırıdır. Fable 5.1, Fable 5'ten daha azını yazar, bu nedenle kullanıcı arayüzünüz anlatıya bağlıysa, bulguları nihai yanıt için saklamasını söyleyen herhangi bir istem satırını da kaldırın.
Adım 8: 0,25$ önbellek oranı için kullanım nesnesini okuyun
İstem önbellekleme, Fable 5.1'in fiyatlandırma değişikliğinin etkili olduğu yerdir. cache_control'ü kararlı öneke yerleştirin ve usage içinde isabetleri onaylayın:
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 sıfır olmayan bir değerdir (5 dakikalık TTL için milyon başına 12,50$ olarak faturalandırılır). Beş dakika içinde ikinci gönderimde, cache_read_input_tokens sıfır olmayan bir değer olmalıdır, milyon başına 0,25$ olarak faturalandırılır. Aynı isteklerde sıfır kalırsa, önekteki bir şey her seferinde değişiyor demektir: sistem istemindeki bir zaman damgası, sıralanmamış JSON, değişken bir araç dizisi. Minimum önbelleklenebilir istem 512 belirteçtir.
Bu modele özgü iki önbellek gerçeği. Bir ıskalama, bir isabetten 40 kat daha pahalı olduğu için, önbelleği sıcak tutmak Fable 5'te olduğundan daha önemlidir ve hem mesaj başına çaba hem de tura özgü sistem mesajları, bir sıfırlama olmadan oturum ortasında bir şeyleri değiştirebilmeniz için kısmen mevcuttur. Ve önbelleği sıfırlayan aynı düzenlemeler (system'i yeniden oluşturma, önceki turları düzenleme) artık düşünme bloklarını da geçersiz kılar, bu nedenle yalnızca ekleme disiplini iki kat fayda sağlar.
Tüm akışı Apidog'da test edin ve hata ayıklayın
Yukarıdaki her adımı tek bir Apidog koleksiyonunda istek olarak kaydedin: ilk çağrı, çaba varyantları, 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 bir koleksiyonu claude-fable-5 ile claude-fable-5-1 arasında değiştirmek tek bir düzenlemedir. Ardından onaylamalar ekleyin: iyi huylu test istemlerinizde stop_reason refusal değildir, ikinci önbellek isteğinde usage.cache_read_input_tokens sıfırdan büyüktür ve düşünme-bağlama başlığıyla çalıştırdığınızda hiçbir input_transformations girişinin reason: "prefix_binding_mismatch" yoktur. Herhangi bir düzenek değişikliğinden önce ve sonra koleksiyonu çalıştırın. Kurulum için Apidog'u indirin; aynı koleksiyon Apidog CLI aracılığıyla bir CI kontrolü olarak çalışır.
Karşılaşacağınız hatalar ve tuzaklar
- 400
tool_choice: type "tool" and "any" are not supported for this model.autoartı bir talimat vestrict: true'ya geçin. thinking: {"type": "disabled"}üzerinde 400. Alanı kaldırın. Bunun yerine çabayı 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 saklama süresine sahip olup olmadığını kontrol edin. - 400
Invalid signature in thinking block. The block is bound to a different conversation.Kodunuz önceki bir turu, sistem istemini veya araç dizisini düzenlemiştir. Korunmuş düşünme rehberine bakın. - Sessiz boş düşünme metni.
display: "omitted"altında beklenir. Eğer render ediyorsanız"summarized"veya"updates"kullanın. - Sıfırda önbellek okumaları. Değişken bir önek. Zaman damgaları ve sıralanmamış nesneler için denetleyin.
- Öncelik Katmanı isteği doğrulama hatası veriyor. Fable 5.1 Öncelik Katmanını desteklemez. Fable 5 destekler.
SSS
Claude Fable 5.1 API için model kimliği nedir? claude-fable-5-1. Amazon Bedrock'ta anthropic.claude-fable-5-1'dir; Google Cloud, Microsoft Foundry ve AWS üzerindeki Claude Platformu claude-fable-5-1 kullanır.
Claude Fable 5.1'i kullanmak için beta başlığına ihtiyacım var mı? Hayır. Temel model, uyarlanabilir düşünme, çaba, araçlar ve önbellekleme hepsi standart anthropic-version: 2023-06-01 başlığıyla çalışır. Beta başlıkları yalnızca mesaj başına çaba, tura özgü sistem mesajları, ilerleme güncellemeleri, sunucu tarafı geri dönüşler ve düşünme-bağlama kontrolleri için gereklidir.
Claude Fable 5.1'de bir araç çağrısını zorlayabilir miyim? Hayır. tool_choice any ve tool bir 400 hatası döndürür. Şema-geçerli argümanlar için auto kullanın, istemde aracı adlandırın ve strict: true ayarlayın veya JSON çıkarımı için yapılandırılmış çıktıları kullanın.
Claude Fable 5.1 API'deki maksimum çıktı nedir? Mesajlar API'sinde 128.000 belirteç. Büyük her şey için 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 bir istekte usage.cache_read_input_tokens'a bakın. Bu belirteçler Fable 5.1'de milyon başına 0,25$, Fable 5'te 1$ ve Opus 5'te 0,50$ olarak faturalandırılır. Fiyatlandırma dökümü sayıları açıklamaktadır.
Fable 5 API rehberi hala geçerli mi? Çoğunlukla. Fable 5 API rehberi aynı uç noktayı kapsar, ancak zorunlu araç kullanımı örnekleri artık bir 400 hatası döndürür ve mesaj başına çaba ve ilerleme güncellemelerinden önce yazılmıştır.
