Skip to main content

Claude Fable 5.2 is in AI Gateway, and it costs less than Fable 5.1

Claude Fable 5.2, Anthropic’s model for demanding reasoning and long agentic work, is now in AI Gateway as anthropic/claude-fable-5-2. Pay with your ngrok credits, or attach your own Anthropic key and let Anthropic bill you.

Every price is 20% lower than on Fable 5.1:

Per 1M tokensFable 5.2Fable 5.1
Input$8.00$10.00
Output$40.00$50.00
Cache read$0.20$0.25
Cache write, 5 minutes$10.00$12.50
Cache write, 1 hour$16.00$20.00

Fable 5.2 has a 1M-token context window and returns up to 128K tokens. It reads text, images, and PDFs. Images bill at the text input rate.

Effort is your cost dial

Adaptive thinking is always on in Fable 5.2, and you can’t turn it off. The model decides when to think, and effort sets how hard: low, medium, high, xhigh, or max. Anthropic’s default is high, where the model thinks before almost every reply. Thinking tokens bill as output tokens, so effort also sets how much an answer costs.

In Anthropic’s testing, a line such as “answer directly without deliberating” didn’t stop the thinking at medium and above. For easy requests, lower the effort instead.

Check your Fable 5.1 code before you switch

Anthropic returns a 400 error for four kinds of request that Fable 5.1 accepts, and AI Gateway passes the error back to you. They include forced tool use and thinking set to enabled or disabled. Leave thinking out and set effort instead. The Fable 5.2 section of the Anthropic provider docs lists all four.

AI Gateway doesn’t offer fast mode for Fable 5.2. If you send speed: "fast", the gateway removes it, and the request runs and bills at standard speed. The gateway also removes temperature, top_p, and top_k, which Fable 5.2 doesn’t take. The Ngrok-AIG-Removed-Params response header names each field the gateway removed. See Parameters the gateway removes.

If your apps send a virtual model name, move them to Fable 5.2 from the gateway: put anthropic/claude-fable-5-2 at the top of its list, and the next request goes to Fable 5.2. Your code doesn’t change. Before you switch, check that your apps don’t send any of the four requests that Fable 5.2 rejects. After a 400, the gateway doesn’t fall back to the next model in the list, so a request that worked on Fable 5.1 fails instead.

Get started

Create an ngrok account or sign in. Create an access key that allows Anthropic and Claude Fable 5.2. Confirm your account has credits, or attach your own Anthropic key.

Fable 5.2 accepts requests in the Anthropic Messages format and in the OpenAI chat completions format. This example uses the Messages API, because that’s where you set effort. On chat completions, the gateway removes reasoning_effort for every Claude model.

Optionally, try Fable 5.2 in the playground first.

Follow the setup guide and select Anthropic and TypeScript. The Anthropic SDK guide covers the rest of the SDK.

Install the Anthropic SDK and TypeScript runner:

npm install @anthropic-ai/sdk && npm install --save-dev tsx

Save your ngrok access key in .env.local. Keep this file out of version control:

AI_GATEWAY_API_KEY=your_access_key_here

Use an ES module project ("type": "module" in package.json) for top-level await. Save this example as index.ts:

import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({	baseURL: "https://gateway.ngrok.ai",	apiKey: process.env.AI_GATEWAY_API_KEY,}); const message = await client.messages.create({	model: "anthropic/claude-fable-5-2",	max_tokens: 16000,	output_config: { effort: "medium" },	messages: [{ role: "user", content: "Explain HTTP retries in two sentences." }],}); for (const block of message.content) {	if (block.type === "text") console.log(block.text);}console.log("Thinking tokens:", message.usage.output_tokens_details?.thinking_tokens);

Run the example from your project directory:

node --env-file=.env.local --import tsx index.ts

It prints a two-sentence answer, then the thinking token count. For a short question like this one, Fable 5.2 usually skips thinking at medium, so the count is 0. The answer’s wording varies between runs.

The answer is in a text block. At higher effort, Fable 5.2 puts a thinking block in front of it, so loop over message.content instead of reading the first block.

Open Activity, find the request, and inspect its model, provider, status, token usage, and cost. To see what effort changes, set effort to "high", Anthropic’s default, and run the example again. In our runs, Fable 5.2 then thought for about 23 tokens before it answered. Compare the token usage and cost of the two requests.