Claude Fable 5
通过官方 Anthropic Messages API 或 OpenAI Chat Completions 和 Responses 格式调用 Claude Fable 5:自适应思考强度,1M token 上下文窗口和最多 128K token 输出。
Claude Fable 5 是 Anthropic 之前的 Fable 模型,仍可与 Claude Fable 5.1 一起使用。向 SeedRouter 发送官方 Anthropic Messages 请求:修改 base URL 和 API key,保持请求体不变。该模型同样支持 OpenAI Chat Completions 和 Responses 格式。
模型 ID
| 模型 ID | 上下文窗口 | 最大输出 | 思考 | 默认强度 |
|---|---|---|---|---|
claude-fable-5 | 1M tokens | 128K tokens | 自适应,始终启用 | high |
查看模型页了解当前价格。
快速示例
curl https://api.seedrouter.ai/v1/messages \
-H "x-api-key: $SEEDROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-fable-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Summarize the trade-offs of event sourcing in three bullet points."}]
}'端点
| 格式 | 方法和路径 | 认证 |
|---|---|---|
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> 或 Authorization: Bearer <key>,加上 anthropic-version |
| OpenAI Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| OpenAI Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
Messages 端点转发你的请求体(如发送时所示,包括可选字段),并返回官方响应。anthropic-beta 标头也会被转发。将 API key 保存在服务端代码中。
参数
| 名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | — | claude-fable-5。 |
max_tokens | integer | 是 | — | 0–128000。包括用于思考的 token。0 仅预热提示缓存。 |
messages | object[] | 是 | — | 交替的 user 和 assistant 轮次;content 是字符串或内容块数组。最后一轮必须是 user。例外:继续 pause_turn 响应时,把它的内容作为最后一条 assistant 消息原样发回。 |
system | string or object[] | 否 | — | 系统提示。 |
thinking | object | 否 | {"type": "adaptive"} | 思考是自适应的,始终启用。display:omitted(默认)或 summarized。 |
output_config.effort | enum | 否 | high | low、medium、high、xhigh、max。控制模型的思考量。 |
output_config.format | object | 否 | — | 结构化输出的 JSON schema。 |
stop_sequences | string[] | 否 | — | 当生成这些字符串之一时停止。 |
stream | boolean | 否 | false | 以服务端发送事件的方式流式传输响应。 |
temperature | number | 否 | — | 仅为向后兼容接受 1(默认值),其他任何值都会返回 400 错误。省略此参数。 |
top_p | number | 否 | — | 仅为向后兼容接受 0.99 到 1 之间的值,其他任何值都会返回 400 错误。省略此参数。 |
top_k | integer | 否 | — | 不接受:任何值都会返回 400 错误。省略此参数。 |
tools | object[] | 否 | — | 工具定义。 |
tool_choice | object | 否 | — | auto、any、tool 或 none。 |
metadata.user_id | string | 否 | — | 终端用户的不透明 id,最多 512 字符。 |
cache_control | object | 否 | — | 顶级提示缓存断点。 |
container、context_management、mcp_servers、diagnostics、service_tier、inference_geo、speed | — | 否 | — | 按原样转发。 |
思考和强度
Claude Fable 5 始终使用自适应思考:模型自己决定思考的量,而 output_config.effort 控制这个过程。更高的强度通常意味着更多的输出 token、更长的等待时间和更高的成本。将 thinking.display 设置为 summarized 时,响应包括你可以展示的 thinking 块;设置为 omitted 时,Claude Fable 5 仍然返回 thinking 块,但其文本为空。从 text 块读取答案,而不是从第一个块读取。思考 token 按输出 token 计费。
媒体输入
图像和 PDF 在用户轮次的 content 中作为 image 和 document 块出现,可以有 url 源或(如官方 API 中所示)base64 源:
{"role": "user", "content": [
{"type": "image", "source": {"type": "url", "url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}将示例 URL 替换为你自己的公开可访问文件。
计费维度
查看模型页面上的当前费率。请求按其使用的 token 计费:
- 输入 token,
- 输出 token(包括思考),
- 提示缓存读取,以及
- 提示缓存写入(分别有 5 分钟和 1 小时费率)。
费用从完成响应报告的 usage 中扣除。失败的请求不会被计费。你的账户使用记录显示每个请求的确切费用。
输出
非流式请求返回官方消息对象:
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-fable-5",
"content": [{"type": "text", "text": "..."}],
"stop_reason": "end_turn",
"usage": {"input_tokens": 18, "output_tokens": 4, "cache_read_input_tokens": 0, "cache_creation_input_tokens": 0}
}设置 "stream": true 时,响应是官方事件的流:message_start、content_block_start、content_block_delta、content_block_stop、message_delta 和 message_stop。最后的 message_delta 携带输出 token 数。
OpenAI 兼容格式
该模型同样支持 OpenAI 格式,因此现有的 OpenAI 代码只需新的 base URL 和模型 ID:
from openai import OpenAI
client = OpenAI(api_key="YOUR_SEEDROUTER_KEY", base_url="https://api.seedrouter.ai/v1")
chat = client.chat.completions.create(
model="claude-fable-5",
messages=[{"role": "user", "content": "Hello"}],
)
response = client.responses.create(model="claude-fable-5", input="Hello")这些请求被转换为 Messages 格式,因此没有 Messages 对应项的字段无效。它们的响应携带官方 OpenAI 字段,可能包括一些额外的使用字段;读取 usage.total_tokens 和官方字段。
错误
/v1/messages 上的错误使用 Anthropic 形状,{"type": "error", "error": {"type": "...", "message": "..."}};其他格式使用 {"error": {"code": ..., "message": "..."}}。code 是来自公共错误目录的代码。失败的请求不会被计费。
建议
- 从默认强度开始,仅在任务需要更多思考时提高它;强度强度既影响质量也影响成本。
- 为思考和答案都设置足够高的
max_tokens:这是一个共同的预算。 - 将长的、重用的上下文放在前面,并用
cache_control标记它,以便后续请求以较低费率从缓存读取。
