Anthropic / Curated model
Claude Fable 5 High
The performance recommendation for text, coding, vision and documents in the supplied Arena table.
Usage-based pricing
Pay for what you use.
Supplied reference prices per 1M input and output tokens. No additional percentage discount is applied.
Get API AccessModel capabilities
Built for your workload.
Modalities
text, image, document → text
Best fit
Maximum benchmark performance for reasoning, coding, visual understanding and documents
Roten recommendations.
Where this model sits in the current curated selection.
Best Performance
Selected as the benchmark performance leader in the supplied Arena snapshot.
Performance reference.
External benchmark data, with its source and verification status.
| Functionality | Source | Score | Snapshot |
|---|---|---|---|
| Text | Arena | 1504 | Supplied Arena snapshot · date pending |
| Coding | Arena | 1551 | Supplied Arena snapshot · date pending |
| Vision | Arena | 1308 | Supplied Arena snapshot · date pending |
| Documents | Arena | 1496 | Supplied Arena snapshot · date pending |
Arena scores are external benchmark signals. Scores and score gaps are taken from the supplied recommendation table. The external leaderboard source and snapshot date still need confirmation. They do not describe a literal percentage difference in real-world quality.
Read the methodologyImplementation
Test this model.
Copy a model test, replace the API key with your own, and run.
Copy the Python or cURL test for Claude Fable 5 High. Replace the API-key placeholder with your own key and run.
High-effort text test · Uses the documented high reasoning setting. This short test does not reproduce the Arena benchmark.
import json
from urllib.error import HTTPError
from urllib.request import Request, urlopen
API_KEY = "YOUR_ROTEN_API_KEY"
def send(url, payload=None):
data = json.dumps(payload).encode("utf-8") if payload is not None else None
request = Request(url, data=data, headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"})
try:
with urlopen(request, timeout=180) as response:
return json.load(response)
except HTTPError as error:
raise SystemExit(f"HTTP {error.code}: {error.read().decode('utf-8')}")
payload = json.loads(r'''{
"input": "Write one short welcome sentence for a developer starting with Roten AI.",
"reasoning": {
"effort": "high"
},
"max_output_tokens": 256,
"model": "claude-fable-5"
}''')
result = send("https://api.roten.ai/v1/responses", payload)
print(json.dumps(result, indent=2, ensure_ascii=False))API_KEY='YOUR_ROTEN_API_KEY'
curl --fail-with-body --silent --show-error 'https://api.roten.ai/v1/responses' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"input": "Write one short welcome sentence for a developer starting with Roten AI.",
"reasoning": {
"effort": "high"
},
"max_output_tokens": 256,
"model": "claude-fable-5"
}'Python tests use the standard library. Video cURL tests also use Python 3 to read task responses.
Consider the alternative.
A different choice for the capabilities this model supports.
GLM-5.3 Flash
Z.aiThe value recommendation for text. The value recommendation for coding. The value recommendation for vision.
Kimi K2.6
Moonshot AIThe value recommendation for documents.
Built for production
Running AI at scale?
Talk to us about volume pricing, model selection and migration.