Claude Fable 5.1 Is Now Available on Amazon Bedrock, So I Tried Calling It from the Converse API

Claude Fable 5.1 Is Now Available on Amazon Bedrock, So I Tried Calling It from the Converse API

Anthropic's Claude Fable 5.1 is now available on Amazon Bedrock. Summary of testing via the AWS CLI with the Converse and InvokeModel APIs: data retention mode, model ID usage, reasoning effort, and prompt caching.
2026.09.02

This page has been translated by machine translation. View original

Introduction

On September 1, 2026, Anthropic's Claude Fable 5.1 became available on Amazon Bedrock and Claude Platform on AWS.

https://aws.amazon.com/about-aws/whats-new/2026/09/claude-fable-5-1-aws/

https://aws.amazon.com/blogs/machine-learning/introducing-claude-fable-5-1-on-aws/

https://www.anthropic.com/claude-fable-and-mythos-5-1

I called Fable 5.1 from the AWS CLI with the Converse API and the InvokeModel API, and checked the settings required in advance and the responses that came back.

What I Tested

I ran the tests on September 2, 2026 in us-east-1 using AWS CLI 2.36.36. This version provided commands to check and change the data retention mode.

Data retention mode

The Fable 5.1 model card requires you to set the account's data retention mode to aws_review with the Data Retention API in order to use it.

Fable 5.1 is designated as a Covered Model, and according to the AWS blog, its use is subject to data retention of up to 30 days and review by Amazon personnel. aws_review is a mode in which AWS retains prompts and outputs within the AWS boundary for safety review. Fable 5.1 does not require sharing with the model provider.

I read the current value and then switched it.

aws bedrock get-account-data-retention
aws bedrock put-account-data-retention --mode aws_review

This is the result of reading before the switch.

{
    "mode": "provider_data_share",
    "updatedAt": "2026-06-09T23:46:41.595000+00:00"
}

This is the result of reading after the switch.

{
    "mode": "aws_review",
    "updatedAt": "2026-09-01T19:49:15.480000+00:00"
}

The only parameter required for the change is --mode. You do not specify a model ID; the setting is applied per account.

Converse call

I called the Converse API with a Global inference profile specified.

aws bedrock-runtime converse \
  --model-id "global.anthropic.claude-fable-5-1" \
  --messages '[{"role":"user","content":[{"text":"こんにちは!あなたのモデル名を教えてください。一言で。"}]}]' \
  --inference-config '{"maxTokens":100}'

The response text, usage, and metrics were returned.

{
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                {
                    "text": "こんにちは!Claudeです。"
                }
            ]
        }
    },
    "stopReason": "end_turn",
    "usage": {
        "inputTokens": 32,
        "outputTokens": 14,
        "totalTokens": 46,
        "cacheReadInputTokens": 0
    },
    "metrics": {
        "latencyMs": 2062
    }
}

In this Converse call, the content contained only a text block and did not include a reasoningContent block. The conditions under which the reasoning content is returned are covered in the next section.

Specify an inference profile as the model ID. In the Programmatic Access section of the model card, the In-Region endpoint URL is N/A. For Geo, specify us.anthropic.claude-fable-5-1; for Global, specify global.anthropic.claude-fable-5-1 as used above. A response was also returned for the same prompt with the US Geo inference profile.

reasoning effort

The effort setting, which specifies the depth of reasoning, is placed under output_config. The model card states that effort has five levels: low / medium / high / xhigh / max, with high as the default. It also worked through the Converse API in the following form.

--additional-model-request-fields '{"output_config":{"effort":"max"}}'

To see the effect of the setting numerically, I measured with InvokeModel, which provides output_tokens_details.thinking_tokens. In the native request body, output_config is placed at the top level.

{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 6000,
    "messages": [
        {
            "role": "user",
            "content": "ある農場にニワトリとウシがいます。頭の数の合計は30、脚の数の合計は74です。それぞれ何頭ですか。考え方も示してください。"
        }
    ],
    "output_config": {
        "effort": "max"
    }
}
aws bedrock-runtime invoke-model \
  --model-id "global.anthropic.claude-fable-5-1" \
  --content-type application/json --accept application/json \
  --body "fileb://body-effort-max.json" \
  05-effort-max.json

The request without effort is this body with output_config removed. I ran the same crane-and-turtle-style (tsurukame) arithmetic prompt once each with effort unspecified and with max. The output tokens and elapsed time in the following table are values from a single run, and they vary from run to run even with the same prompt.

effort output_tokens thinking_tokens content blocks Measured elapsed time
Unspecified (default high) 382 0 text 8,362 ms
max 956 410 thinking, text 13,724 ms

The elapsed time is the difference of date +%s%3N. The InvokeModel response has no field equivalent to Converse's metrics.latencyMs.

As the table shows, the composition of content blocks changes depending on effort, so the position cannot be fixed. The sample code in the AWS blog also selects the text block by type rather than by a fixed index.

Prompt caching

According to the model card, the minimum number of tokens required for one cache checkpoint is 512. The maximum number of checkpoints per request is four, and the TTLs are 5 minutes and 1 hour. Checkpoints can be placed in system, messages, and tools.

I placed a cache checkpoint at the end of system (695 tokens). The glossary text is followed by a cachePoint block. The following JSON omits some glossary lines partway through.

[
    {"text": "You are a glossary reference. Answer strictly from the glossary below.\n1. The term 'cache checkpoint' is defined in the Amazon Bedrock user guide as a concept used when invoking a model.\n2. The term 'foundation model' is defined in the Amazon Bedrock user guide as a concept used when invoking a model."},
    {"cachePoint": {"type": "default"}}
]
aws bedrock-runtime converse \
  --model-id "global.anthropic.claude-fable-5-1" \
  --system "$(cat system-695.json)" \
  --messages '[{"role":"user","content":[{"text":"Reply with the single word: ok"}]}]' \
  --inference-config '{"maxTokens":20}'

The first call resulted in a cache write.

{
    "usage": {
        "inputTokens": 16,
        "outputTokens": 4,
        "totalTokens": 715,
        "cacheReadInputTokens": 0,
        "cacheWriteInputTokens": 695,
        "cacheDetails": [
            {
                "ttl": "5m",
                "inputTokens": 695
            }
        ]
    }
}

When I ran the same request about 2 seconds later, 695 tokens were counted as a cache read.

{
    "usage": {
        "inputTokens": 16,
        "outputTokens": 4,
        "totalTokens": 715,
        "cacheReadInputTokens": 695
    }
}

Next, without changing the shape of the request, I reduced the number of glossary lines in system so that the total input fell below the minimum of 512 tokens, and ran it.

1回目: {"inputTokens": 377, "outputTokens": 4, "totalTokens": 381, "cacheReadInputTokens": 0}
2回目: {"inputTokens": 377, "outputTokens": 4, "totalTokens": 381, "cacheReadInputTokens": 0}

No cacheWriteInputTokens appeared on the first call, and in the response the entire input of 377 tokens went into inputTokens.

Summary

By switching the data retention mode to aws_review and specifying a model ID with an inference profile, I was able to call Claude Fable 5.1 from the Converse API even on the day of release.

The data retention mode is an account-level setting. With aws_review, prompts and outputs sent from that account become subject to retention and review, so please check your organization's data handling policy before trying it.


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

Share this article

AWSのお困り事はクラスメソッドへ