はじめに
Claude Fable 5.2 は、Fable 5.1 から定価が 20% 下がりました。それでも単価は Opus 5.5 の 2 倍で、高速モードを付けるとさらに 2 倍になります。しかも Opus 5.5 の高速モードと Fable 5.2 の標準モードは、どちらも入力 $8・出力 $40(100 万トークンあたり)で同じ値段です。同じ金額を払うなら、出力の速い Opus 5.5 と、能力の高い Fable 5.2 のどちらを選ぶべきでしょうか。
本記事では、最小コードでの呼び出しから、effort(推論の深さ)と高速モードの設定、価格表によるモードの選び方、移行時の 400 エラー、拒否(refusal)の扱いまでを手順の順に整理し、最後にこの問いに答えます。
対象読者は、Claude API でアプリケーションやエージェントを開発していて、Fable 5.2 の導入や Fable 5.1 からの移行を検討している開発者です。
本記事は 2026-11-12 時点の公式ドキュメントと発表ページの記述に基づく解説で、API の実機呼び出しは行っていません。コード例は、公式ドキュメントに載っている例のモデル名を
claude-fable-5-2に置き換え、各ページに載っている引数の形を組み合わせたものです。
TL;DR(この記事でできるようになること)
-
claude-fable-5-2を Python SDK と curl で呼び出せる -
output_config.effortとspeed: "fast"を用途に合わせて設定できる - 標準 $8/$40・高速 $16/$80・Batch $4/$20 の価格を Opus 5.5 と並べて、モードを選べる
- Fable 5.1 からの移行で 400 エラーになる書き方(thinking の指定・強制 tool_choice・履歴の前方編集)を避けられる
- HTTP 200 で返る拒否(
stop_reason: "refusal")を検知して、フォールバックを設計できる
全体の流れ
公式のWhat's new ページは、まず最新の Opus から始め、effort を上げても eval(自社の評価セット)を満たせないときに Fable 5.2 へ移る順序を勧めています。
For most workloads, start with the latest Claude Opus model ..., and move to Claude Fable 5.2 when your evals on a Claude Opus model at higher effort still don't meet your requirements.
この順序に、Fable 5.2 を選んだ後のモード選択(標準・高速・Batch)を足すと、次の流れになります。
図中の金額は、100 万トークンあたりの入力 / 出力の単価(米ドル)です。
手順 1: モデル ID と基本仕様を確認する
モデル一覧の公式ページによると、Fable 5.2 の Claude API 上のモデル ID は claude-fable-5-2 です。公式は、4.6 世代以降の日付を含まない ID も含めて、Claude のモデル ID はすべて固定のスナップショット(特定時点の版に固定されたモデル)だと説明しています。エイリアスの行にも同じ ID が載っているため、claude-fable-5-2 を指定すれば同じ版が呼ばれます。
| 項目 | 値 |
|---|---|
| Claude API のモデル ID | claude-fable-5-2 |
| Amazon Bedrock のモデル ID | global.anthropic.claude-fable-5-2 |
| コンテキストウィンドウ | 1M トークン |
| 最大出力 | 128K トークン(同期の Messages API) |
| 既定の effort | high |
データ保持の条件も、導入前に確認が必要です。Fable 5.2 の概要ページは、30 日間のデータ保持が必須で、Anthropic が明示的に許可した場合を除いてゼロデータ保持(ZDR)では利用できないと記載しています。一方で発表ページには ZDR での継続利用に触れた記述があり、両者の表現は一致していません。本記事はドキュメント側の記述を前提にしており、ZDR を前提とした契約で使う場合は、自社の契約条件を事前に確認してください。
手順 2: 最小コードで呼び出す
Python SDK では、公式の入門ページにある最小コードの model を差し替えるだけで呼び出せます。
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-fable-5-2", # 公式例の "claude-opus-5-5" を置き換え
max_tokens=1000,
messages=[{"role": "user", "content": "..."}],
)
for block in message.content:
if block.type == "text":
print(block.text)
公式例は応答の content をブロック単位で見て、type が text のブロックだけを表示しています。Fable 5.2 は思考(thinking)が常に有効なモデルなので、この絞り込みは省かずに残しておくと扱いやすくなります。また、effort の公式ページは「high 以上では大きな max_tokens を設定する」と案内しています。max_tokens は思考と本文を合わせた出力の上限で、Fable 5.2 の既定の effort は high です。公式例の 1000 のまま流用すると上限が足りない可能性があるため、実際に使うときは大きめの値に変えてください。
curl では、エンドポイント https://api.anthropic.com/v1/messages に 3 つのヘッダー(x-api-key・anthropic-version・content-type)を付けて送ります。
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2026-10-21" \
-H "content-type: application/json" \
-d '{
"model": "claude-fable-5-2",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "..."}]
}'
公式のWhat's new ページによると、Fable 5.2 の思考は adaptive thinking(適応型の思考)として常に有効です。そのため、Python と curl のどちらでも次のパラメーターは送りません。
-
thinking:{"type": "enabled"}にbudget_tokensを付けた指定と、{"type": "disabled"}は、どちらも 400 エラーになります -
tool_choiceの強制指定:{"type": "any"}と{"type": "tool", "name": "..."}は 400 のinvalid_request_errorになります -
temperature/top_p/top_k:What's new ページは指定を省くよう案内しています
思考の度合いは、thinking ではなく次の effort で調整します。
手順 3: effort を選ぶ
effort は、応答にどれだけ推論を割くかを指定するパラメーターで、output_config.effort に設定します。effort の公式ページによると、値は low / medium / high / xhigh / max の 5 段階です。
message = client.messages.create(
model="claude-fable-5-2",
max_tokens=1000,
output_config={"effort": "medium"},
messages=[{"role": "user", "content": "..."}],
)
curl では、リクエストボディに "output_config": {"effort": "medium"} を加えます。
既定値はモデルによって異なり、Fable 5.2 は high、Opus 5.5 は medium です。effort を指定していないコードで model を Opus 5.5 から Fable 5.2 へ差し替えると、既定の effort も 1 段上がることになります。
公式ページは high から始めることを勧めており、能力の伸びの大半は high の時点で得られていると説明しています。max は、モデルの上限を測る用途に取っておくよう書かれています。
effort による挙動の違いとして、What's new ページは次の 2 点を挙げています。
-
high以上では、ほぼすべての応答の前に思考が入ります。プロンプトで「考えないで」と促しても、medium以上では思考します -
lowとmediumでは、長いタスクが途中で終わる事象が起きやすくなります
コストを抑えるために effort を下げる場合は、長いタスクが最後まで完了するかを eval で確かめてから切り替えると安全です。
手順 4: 高速モードを付ける
高速モードは、出力トークンの生成速度を上げるオプションです。高速モードの公式ページによると、Messages API のリクエストに speed: "fast" を加えると有効になり、出力速度は最大 2.5 倍になります。Opus 5 と Opus 4.8 では beta ヘッダー fast-mode-2026-02-01 が必要ですが、Fable 5.2 では不要です。
response = client.messages.create(
model="claude-fable-5-2",
max_tokens=1000,
speed="fast", # 高速モード(Fable 5.2 は beta ヘッダー不要)
output_config={"effort": "high"}, # Fable 5.2 の既定値と同じ
messages=[{"role": "user", "content": "..."}],
)
print(response.usage.speed) # "fast" or "standard"
このコードは、高速モードと effort の各ページにある引数の形を 1 つにまとめたもので、公式に同じ組み合わせの例があるわけではありません。使う前に各ページの最新の例と照合してください。curl では、ボディに "speed": "fast" を加えます。
仕様上の制約は次のとおりです。
| 項目 | 公式ドキュメントの記述 |
|---|---|
| 速度が上がる指標 | 出力トークン毎秒(OTPS)。最初のトークンが返るまでの時間(TTFT)は対象外 |
| 価格 | 入力 $16 / 出力 $80(100 万トークンあたり)。200k 超を含むコンテキスト全長に適用 |
| 併用できないもの | Batch API、Priority Tier |
| レート制限 | 高速モード専用の枠。超過や容量不足は 429 / 529 エラー |
| 自動ダウングレード | なし(標準モードへ自動では切り替わらない) |
| 処理された速度の確認 |
usage.speed が "fast" か "standard"
|
| 標準モードへ切り替えたとき | プロンプトキャッシュがミスになる |
対応プラットフォームは、公式の表で次のように整理されています。
| プラットフォーム | 高速モード |
|---|---|
| Claude API |
speed: "fast" を指定 |
| Google Cloud(Anthropic managed / Google managed) | 表に記載あり |
| Microsoft Foundry(Anthropic ホスト) | 専用のモデル ID claude-fable-5-2-fast を指定し、speed は付けない |
| Amazon Bedrock / Claude Platform on AWS | 表に記載なし |
Bedrock と Claude Platform on AWS は表に記載がなく、非対応とも明記されていません。これらを経由する場合は、各プラットフォームのドキュメントで確認してください。
手順 5: 価格表でモードを決める
価格の公式ページ、What's new ページ、高速モードのページの数値を 1 つの表にまとめます。単位はいずれも 100 万トークンあたりの米ドルです。
| モデル・モード | 入力 | 出力 | 備考 |
|---|---|---|---|
| Fable 5.2 標準 | $8 | $40 | Fable 5.1 より 20% 安い |
| Fable 5.2 高速 | $16 | $80 | Batch・Priority Tier と併用不可 |
| Fable 5.2 Batch | $4 | $20 | 標準の 50% 引き |
| Fable 5.1 標準 | $10 | $50 | |
| Opus 5.5 標準 | $4 | $20 | Fable 5.2 標準の半額 |
| Opus 5.5 高速 | $8 | $40 | Fable 5.2 標準と同額 |
| Sonnet 5.5 標準 | $2 | $10 |
プロンプトキャッシュの単価は次のとおりです。
| 項目 | Fable 5.2 | Opus 5.5 |
|---|---|---|
| キャッシュ読み込み | $0.20(入力単価の 0.025 倍) | $0.20(入力単価の 0.05 倍) |
| 1 時間キャッシュの書き込み | $16 | $8 |
表を並べると、モードの組み合わせについて 4 つの関係が読み取れます。
- Opus 5.5 の高速モードと Fable 5.2 の標準モードは同額($8/$40)です。この価格帯では、出力速度を取るかモデルの能力を取るかの選択になります
- Fable 5.2 の Batch は Opus 5.5 の標準と同額($4/$20)です。結果を待てる非同期処理なら、Opus 5.5 と同じ単価で Fable 5.2 を使えます
- Fable 5.2 の高速モード($16/$80)は、Opus 5.5 標準の 4 倍の単価です。出力速度が律速になるリクエストに絞って付ける前提になります
- キャッシュ読み込みは両モデルとも $0.20 です。入力の多くをキャッシュから読む構成では入力側の価格差が縮み、出力の単価差($40 と $20)が残ります
単価以外の要素として、発表ページは、Fable 5.2 が Fable 5.1 より少ないトークンで難しいタスクを完了できると述べています。WANDR の結果では、Medium effort の Fable 5.2 が Opus 5.5 の最高スコアに、タスクあたり約 40% のコストで並んだとしています。Fable 5.1 より最大 30% 速く出力し、安全分類器によるブロックは初期テスト(claude.ai・Claude Code・Cowork)で約 55% 少なかったと説明しています。ベンチマークの個別スコアは発表ページを参照してください。
公式情報で確認できる Fable 5.1 との比較は、定価の差(20%)と、少ないトークンで完了するという発表ページの説明です。タスクあたりのコストは effort やタスクの性質で変わるため、移行の判断は自社の eval で比べるのが確実です。
手順 6: 拒否(refusal)を検知してフォールバックする
拒否とフォールバックの公式ページによると、Fable 5.2 がセーフガード(安全上の制限)によって応答を拒否した場合、エラーではなく通常の応答として返ります。HTTP ステータスは 200 で、stop_reason が "refusal"、stop_details.category に拒否のカテゴリ(例: "cyber")が入ります。公式の例では、content が空で output_tokens が 0 の応答が示されています。
HTTP エラーを例外で捕まえる実装だけでは、拒否を検知できません。応答ごとに stop_reason を確認する分岐が必要です。
message = client.messages.create(
model="claude-fable-5-2",
max_tokens=1000,
messages=[{"role": "user", "content": "..."}],
)
if message.stop_reason == "refusal":
# HTTP 200 で返るため、例外処理では検知できない
category = message.stop_details.category # 例: "cyber"(公式によると、名前付きのカテゴリに当たらない拒否では null)
# ここで自前のフォールバック(別モデルでの再試行・利用者への通知など)を行う
else:
for block in message.content:
if block.type == "text":
print(block.text)
この分岐は公式ページのフィールド名に合わせた骨組みで、SDK での属性の参照方法は公式ページの例で確認してください。
フォールバックの方式は 2 通りあります。
サーバー側フォールバック(beta): リクエストで fallbacks に "default" を指定し、beta ヘッダー server-side-fallback-2026-07-01 を付ける方式です。What's new ページによると、Fable 5.2 で許可されているフォールバック先は Opus 4.8 と Opus 5 です。推奨されるフォールバック先がないカテゴリ(例: reasoning_extraction)では、拒否のまま返ります。公式の Python 例では、この機能は client.messages ではなく client.beta.messages と betas=[...] の組み合わせで呼ばれています。手順 2〜4 の非 beta の例とは呼び出し先が違う点に注意してください。SDK での呼び出し方の細部は、拒否とフォールバックの公式ページで確認してください。
クライアント側フォールバック: SDK のミドルウェアや自前のリトライ処理で stop_reason を見て、別のモデルへ投げ直す方式です。
Fable 5.1 から移行するときの確認項目
What's new ページによると、Fable 5.1 からの移行はモデル ID を claude-fable-5-2 に変えるのが基本です。そのうえで、コードが壊れうる変更が 4 点挙げられています。eval の再実行を加えた 5 項目を移行前に確認します。
| # | 確認項目 | 内容 |
|---|---|---|
| 1 | 履歴の編集 | system・tools・過去の messages を書き換えると 400 エラーになる |
| 2 | モデルの切り替え | Fable 5.2 の思考は、別のモデルへ移ったターンでは失われる |
| 3 | computer_20251124 |
Bedrock 以外では 400 エラー。computer_toolset_20260801 へ移行する |
| 4 | advisor | Fable 5.2 を executor にする場合、advisor の model は claude-fable-5-2 か Mythos 5.2 のみ。Fable 5.1 などを指定すると 400 invalid_request_error。advisor の変更は tools の編集にあたるため、新しい会話で行う(advisor ツールは beta) |
| 5 | eval の再実行 | effort ごとの思考や長いタスクの完了など、挙動の差を自社の評価で確かめる |
これとは別に、Fable 5.1 向けに書いた budget_tokens 付きの thinking や強制 tool_choice は 400 エラーになるため、手順 2 のとおり指定を外します。
Preserved thinking では履歴の前方を書き換えない
Preserved thinking は、過去のターンの thinking ブロックを会話履歴ごと送り返す使い方です。Preserved thinking の公式ページとWhat's new ページによると、履歴の前方(system・tools・過去の messages)を書き換えると、送り返した thinking ブロックが無効になります。prefix_mismatch_behavior を指定していなければ、Fable 5.2 ではアカウントの作成時期に関係なく 400 エラー("The block is bound to a different conversation")が返ります。
Fable 5.1 でこの 400 が返るのは、2026-08-31 以降に作成したアカウントだけでした。古いアカウントの Fable 5.1 では問題が出ていなかったコードでも、Fable 5.2 では失敗する可能性があります。
公式の対策は、会話全体を通して system と tools を同じに保ち、messages は末尾に追加するだけにすることです。たとえば、system に毎ターン現在時刻や状態を差し込む実装や、古い messages を要約して置き換える実装は、この条件に反します。
すぐに直せない場合の暫定策として、beta ヘッダー thinking-binding-controls-2026-08-01 を付け、thinking.block_binding.prefix_mismatch_behavior に "drop_block" を指定する方法があります。ただしブロックを捨てると出力トークンが増えうるため、公式は履歴の編集を直すまでのつなぎとして扱うよう書いています。
モデルを切り替えると推論が失われる
What's new ページによると、Fable 5.2 の thinking を読めるのは Fable 5.2 と Mythos 5.2 だけです。会話の途中で Opus 5.5 や Fable 5.1、あるいはフォールバック先の Opus 4.8 / Opus 5 に移ると、そのターンでは Fable 5.2 の thinking が落とされます。エラーにはならず、落とされた分は課金もされません。別のアカウントへ持ち越すこともできません。
Claude Code 2.1.321 で既定の Fable が 5.2 になった
Claude Code の changelogによると、v2.1.321(2026-11-09)で Fable 5.2(claude-fable-5-2)が追加され、既定の Fable モデルになりました。changelog には、1M コンテキスト、100 万トークンあたり $8/$40、キャッシュ読み込み $0.20 という API と同じ条件が併記されています。
保存済みの設定で Fable 5.1 を選んでいた場合は fable へ移行されます(公式によると、Pro と Max プランは即時、Team と Enterprise プランは組織が許可した時点です)。Fable 5.1 に戻したいときは、/model claude-fable-5-1 で指定し直します。
トラブルシューティング
Q1. Fable 5.1 で動いていたコードが 400 エラーになる
A. 次の順に確認します。
-
thinkingでenabledやdisabledを指定していないか -
tool_choiceでanyや特定のツールを強制していないか - 会話の途中で system・tools・過去の messages を書き換えていないか(エラー文に "The block is bound to a different conversation" が含まれる場合)
-
computer_20251124を指定していないか(Bedrock 以外では 400)
Q2. 高速モードで 429 や 529 が返る
A. 高速モードは専用のレート制限を持ち、超過や容量不足では標準モードへ自動で切り替わりません。標準モードで再送する処理を自前で組む場合は、キャッシュミスになる分の費用を見込んでおきます。処理された速度は usage.speed で確認できます。
Q3. 長いタスクが途中で終わる
A. effort を low か medium に下げていないかを確認します。What's new ページは、この事象が low と medium で起きやすいと説明しています。
公式情報から読み取れる判断ポイント
冒頭の問い(同じ $8/$40 なら、Opus 5.5 の高速モードと Fable 5.2 の標準モードのどちらか)に、公式の仕様と価格表から答えます。本記事は API を実機で呼び出していないため、ここで挙げるのは公式情報から導いた設計上の判断です。
筆者は、この 2 つを分けるのは速度ではなく「Opus 5.5 で能力が足りているか」だと考えます。Opus 5.5 が eval の要件を満たしているなら、Fable 5.2 の標準に払うのと同じ金額で Opus 5.5 を速くできます。満たしていないなら、Opus 5.5 を速くしても要件は満たせないため、同じ単価で Fable 5.2 の標準を選ぶことになります。公式が勧める「まず Opus、足りなければ Fable」の順序は、価格表の上でもそのまま成り立ちます。
高速モードは最初の応答を早めない: 高速モードの改善対象は OTPS で、TTFT は対象外です。チャット画面のように、利用者の待ち時間が最初の文字が出るまでの時間で決まる場面では、単価を 2 倍にしても体感は変わりにくいと読めます。効果が見込めるのは、長いコードやレポートを生成して全体の所要時間を縮めたい場面です。
高速モードの退避経路は自前で用意する: 標準モードへの切り替えはキャッシュミスを伴うため、長いシステムプロンプトをキャッシュしている構成ほど、切り替えたときの入力コストが増えます。429 / 529 を受けたときに標準モードで再送するか、待って高速モードで再試行するかを、使い始める前に決めておく必要があります。
移行の手間は単価より履歴の扱いに出る: Fable 5.2 では、履歴の前方を書き換えるとアカウントの作成時期に関係なく 400 エラーになり、別モデルが応答したターンでは推論が途切れます。履歴の要約や圧縮、ターンごとのモデル振り分け、拒否時のフォールバックを組み込んだエージェントは、model ID を変える前に「system と tools を固定し、messages は末尾に追加するだけ」という条件を満たしているかを点検する必要があります。移行計画の工数を左右するのは、定価の差(Fable 5.1 比で 20% 安い)よりもこちらだと考えます。
非同期処理なら Opus 5.5 と同じ単価で使える: Fable 5.2 の Batch($4/$20)は Opus 5.5 の標準と同額で、夜間の一括処理や eval のように結果を待てる処理なら、単価を理由に Fable 5.2 を避ける必要はありません。
単価だけを比べると Fable 5.2 は Opus 5.5 の 2 倍ですが、モードを組み合わせると「Opus 5.5 高速と Fable 5.2 標準」「Opus 5.5 標準と Fable 5.2 Batch」がそれぞれ同額になります。単価のそろう組み合わせを候補にしてから eval で能力を確かめる順に進めると、価格表をそのまま判断材料に使えます。
関連記事
- Claude Code Projects 入門、コーディネーターと並列スレッドの使い方
- fable エイリアスの解決先とコスト内訳を Claude Code 2.1.258 で実測した
- Claude Fable 5入門 — Mythos級モデルをAPIで使う完全ガイド
参考リンク
- Models overview(Claude Docs)
- Claude Fable 5.2 overview(Claude Docs)
- Claude Fable 5.2 の新機能(What's new)(Claude Docs)
- Pricing(Claude Docs)
- Fast mode(Claude Docs)
- Effort(Claude Docs)
- Preserved thinking(Claude Docs)
- Refusals and fallback(Claude Docs)
- Claude Fable 5.2 と Mythos 5.2 の発表ページ(Anthropic)
- Claude Code changelog