如何使用 Claude Fable 5 API(Python 教程)
可跑通的 Claude Fable 5 API 教程:首个请求、按旧模型写法会 400 的 5 个参数、拒绝处理,以及成本。

核心要点
- 通过 Anthropic 的 Messages API 调用 Claude Fable 5,模型 ID 是
claude-fable-5——装anthropicSDK、设ANTHROPIC_API_KEY、发一个messages.create请求 - 坑在于:为旧版 Claude(或 GPT)写的代码在 Fable 5 上会崩。
temperature、top_p、top_k、budget_tokens、thinking: {type:"disabled"}和 assistant prefill 全都返回 400 - 思考常开——用
output_config.effort(low→max)控深度,不是 token 预算。要处理refusal停止原因,并开启 fallbacks - Fable 5 需要 30 天数据保留(ZDR 组织每个请求都 400),价格 $10 / $50 每 1M 输入/输出——约为 Opus 4.8 的 2 倍
- 不想折腾 Anthropic 账户、等级和数据保留?用 [Velokey](/model/claude-fable-5) 的 OpenAI 兼容端点、一个 key 调
claude-fable-5——同样 $10/$50,还绕开下面那些参数坑
多数"怎么调 API"的教程给你三行 hello-world 就完了。在 Fable 5 第一次真请求返回 400 之前,这没问题——你习惯性传了个 temperature,或者你的代码读 response.content[0] 结果被一个拒绝直接搞崩。Fable 5 是 Anthropic 最强的模型,但它的请求面比之前任何模型都更严。下面先给能跑的调用,再讲那 5 个真会搞垮你接入的点。

调用 Claude Fable 5 API 需要什么?
你需要一个付费 Anthropic 账户、anthropic SDK,还有——这条最坑人——组织的数据保留设置至少 30 天。Fable 5 在零数据保留(ZDR)下不可用;ZDR 组织无论 payload 多干净,每个 Fable 5 请求都会返回 400 invalid_request_error。
模型 ID 是 claude-fable-5。它有 100 万 token 上下文窗口(既是默认也是上限),最多 128K 输出 token。安装并认证:
pip install anthropic
export ANTHROPIC_API_KEY="sk-ant-..." # 别硬编码首次调用前,确认:
| 要求 | 为什么重要 |
|---|---|
| 付费账户、等级足够 | Fable 5 在 Opus 档之上,先确认有访问权 |
| 数据保留 ≥ 30 天 | ZDR 组织每个请求都 400 |
装了 anthropic SDK | 用官方 SDK,别用 OpenAI 兼容的套壳 |
模型 ID claude-fable-5 | 精确字符串——不带日期后缀 |
怎么发出第一个 Claude Fable 5 API 请求?
你调 client.messages.create(),model="claude-fable-5",加一个 messages 列表。别传 thinking 参数——思考常开——改用 output_config.effort 控制推理深度。
import anthropic
client = anthropic.Anthropic() # 从环境变量读 ANTHROPIC_API_KEY
response = client.messages.create(
model="claude-fable-5",
max_tokens=16000,
output_config={"effort": "high"}, # low | medium | high | xhigh | max
messages=[
{"role": "user", "content": "用两段话讲清楚事件溯源的取舍。"}
],
)
# 读 content 前务必先查 stop_reason(见下面的拒绝处理)
if response.stop_reason != "refusal":
for block in response.content:
if block.type == "text":
print(block.text)整个 hello-world 就这些。effort 是主要的质量/延迟旋钮——high 是不错的默认,xhigh 是编码和 agentic 活儿的甜点,low/medium 用于常规任务、往往还能超过旧模型的最高档。原始思维链永远不返回;想要可读的推理摘要,传 thinking={"type": "adaptive", "display": "summarized"}。
怎么通过 Velokey 调 Claude Fable 5(免 Anthropic 账户)?
如果你不想折腾 Anthropic 账户、使用等级和 30 天保留要求,就用 [Velokey](/model/claude-fable-5) 的 OpenAI 兼容端点调 Fable 5。把任意 OpenAI 客户端指向 Velokey 的 base URL,换上你的 Velokey key,模型设成 claude-fable-5——这是一个标准的 chat completion,所以下一节那些参数坑都不适用。
from openai import OpenAI
client = OpenAI(
base_url="https://api.velokey.ai/v1",
api_key="sk-velokey-...", # 你的 Velokey key —— 不是 Anthropic key
)
response = client.chat.completions.create(
model="claude-fable-5",
messages=[{"role": "user", "content": "用两段话讲清楚事件溯源的取舍。"}],
)
print(response.choices[0].message.content)和直连 Anthropic 同样是 $10 / $50 每 1M,用 Velokey 积分计费,一个 key 调你用的所有模型——而且没有任何 Anthropic 专属配置。这是跑通 Fable 5 最快的路。本文剩下的部分讲直连 Anthropic 的路线,以及随之而来的请求坑——而这些坑,OpenAI 兼容端点都替你抹平了。
用调旧模型的写法调 Fable 5 会怎样崩?
直连 Anthropic 时,有 5 个在旧版 Claude 或 GPT 上能用的请求参数,现在在 Fable 5 上返回 400。这一段就是把"快速替换"变成一下午 debug 的元凶(也正是上面 Velokey 路线替你省掉的摩擦)。
在 Fable 5 上会 400 的参数:
| 你习惯的写法 | 在 Fable 5 上 | 修法 |
|---|---|---|
temperature、top_p、top_k | 400 | 删掉——改用提示词引导 |
thinking: {type:"enabled", budget_tokens: N} | 400 | 省略;用 output_config.effort |
thinking: {type:"disabled"} | 400 | 整个 thinking 参数都省略 |
assistant prefill(最后一条 role:"assistant") | 400 | 用 output_config.format(结构化输出) |
| ZDR 组织的任何请求 | 每次都 400 | 开启 ≥30 天数据保留 |
*来源:Anthropic Claude Fable 5 API 文档,2026。*
心智模型是这样:Fable 5 有意去掉了采样旋钮和固定思考预算。没有 temperature=0 求确定性,也没有 budget_tokens 上限——你靠提示词塑造行为、靠 effort 封顶深度。如果你在迁移一套能跑的 Opus 或 GPT 接入,先把这些参数删掉,再动别的。
怎么处理 Claude Fable 5 的拒绝?
Fable 5 会跑安全分类器,可能拒绝一个请求——而拒绝不是 HTTP 错误。它返回一个成功的 200,带 stop_reason: "refusal",content 数组为空(或流式中途时为部分)。无条件读 response.content[0].text 的代码会在这里崩。
要做两件事。第一,读 content 前永远先按 stop_reason 分支。第二,开启 fallbacks,让一个误报的拒绝不至于直接失败——安全工具、生命科学这类正当活儿也可能触发分类器,所以这对合法应用同样重要:
response = client.beta.messages.create(
model="claude-fable-5",
max_tokens=16000,
betas=["server-side-fallback-2026-06-01"],
fallbacks=[{"model": "claude-opus-4-8"}], # 被拒时在同一次调用里改由它服务
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)
if response.stop_reason == "refusal":
# 整条链(Fable 5 + 兜底)都拒绝了——暴露出来,别原样重试
handle_refusal(response)
else:
print(next(b.text for b in response.content if b.type == "text"))用服务端 fallbacks 参数,被拒的请求会在同一次调用里透明地改跑 claude-opus-4-8,计费也做了抵扣,不会重复收费。任何输出之前的拒绝完全不计费。新写的 Fable 5 代码建议默认打开——它是可选项,不开的话一个拒绝就直接停了。
Claude Fable 5 API 多少钱?
Fable 5 是每 1M 输入 token $10、每 1M 输出 token $50——约为 Claude Opus 4.8($5 / $25)的 2 倍。它是为最难的推理和长链路 agentic 活儿定价的,不是高频日常调用。
单个请求的成本:
| 模型 | 1 万输入 + 2 千输出 | 相对 |
|---|---|---|
claude-fable-5 | $0.20 | 2× |
claude-opus-4-8 | $0.10 | 1× |
*按公开费率算。Fable 5:10K×$10/1M + 2K×$50/1M = $0.20。*

有两个杠杆能把账单压住。常规活儿把 effort 降到 medium 或 low——Fable 5 低档往往就顶得上旧模型的最高档。以及对重复上下文用 [提示词缓存](/blog/claude-api-pricing-2026);缓存读取大约按输入价的十分之一计费。还有一条运维提醒:难任务的单个请求可能跑几分钟,所以 max_tokens 大的都用流式,避免客户端超时:
with client.messages.stream(
model="claude-fable-5",
max_tokens=64000,
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
) as stream:
message = stream.get_final_message()如果你不想直接管一个 Anthropic 账户和 30 天保留设置,像 [Velokey](/model/claude-fable-5) 这样的统一网关用一个兼容 OpenAI 的端点暴露 claude-fable-5——用你调其他一切的同一个密钥就能调它。想看 Fable 5 在价格上和其他前沿模型怎么比,可读我们的 Claude API 定价指南、GPT-5.6 三档拆解 和 GLM-5.2 vs GPT-5.5 vs Opus 4.8 对比。
常见问题
Claude Fable 5 API 的模型 ID 是什么?
模型 ID 是 claude-fable-5——精确字符串,不带日期后缀。它是 Anthropic 最强的正式发布模型,100 万 token 上下文窗口(既是默认也是上限),最多 128K 输出 token。通过 Messages API(client.messages.create)、用官方 anthropic SDK 调用。
我的 Claude Fable 5 请求为什么返回 400?
常见原因是 Fable 5 去掉的那些参数:temperature、top_p、top_k、thinking: {budget_tokens}、thinking: {type:"disabled"}、或 assistant prefill——每个都返回 400。另一个原因是零数据保留组织,它在每个 Fable 5 请求上都 400。删掉采样/思考参数,并确认 ≥30 天保留。
怎么控制 Claude Fable 5 的思考深度?
用 output_config.effort——low、medium、high、xhigh 或 max。思考常开,不能关闭、也不能给固定 budget_tokens(两者都 400)。high 是稳妥默认;xhigh 适合编码和 agentic 任务。想看推理摘要,加 thinking={"type":"adaptive","display":"summarized"}。
Claude Fable 5 API 多少钱?
每 1M 输入 token $10、每 1M 输出 token $50——约为 Claude Opus 4.8 的 2 倍。一个 1 万输入/2 千输出的请求约 $0.20。降 effort 和提示词缓存(缓存读取约按输入价 10% 计)是高频场景降本的主要办法。
怎么处理 Claude Fable 5 的拒绝?
读 content 前先查 response.stop_reason——拒绝返回 HTTP 200、stop_reason: "refusal"、content 为空或部分。开启服务端 fallbacks 参数(配 betas=["server-side-fallback-2026-06-01"]),让拒绝在同一次调用里改由 claude-opus-4-8 服务,而不是直接失败。
没有 Anthropic 账户能用 Claude Fable 5 API 吗?
不能直连——Fable 5 需要一个带 30 天数据保留的付费 Anthropic 账户。你可以通过统一 API 网关接入,由它处理上游的 Anthropic 访问,你用一个兼容 OpenAI 的端点调 claude-fable-5,不用自己管账户和保留设置。
想用 Claude Fable 5 又不想管 Anthropic 账户? [领取 Velokey API 密钥](/model/claude-fable-5),用一个兼容 OpenAI 的端点调 claude-fable-5——同一个密钥,和你用的其他所有模型一起。
*最后更新:2026 年 7 月 13 日。API 细节来自撰写时 Anthropic 的 Claude Fable 5 文档。价格、参数和模型行为由 Anthropic 设定、可能变动——上生产前请以官方文档为准。*

