I tried out OpenAI GPT-5.5 / GPT-5.4 which became GA on Amazon Bedrock using the Responses API

I tried out OpenAI GPT-5.5 / GPT-5.4 which became GA on Amazon Bedrock using the Responses API

GPT-5.5 and GPT-5.4 from OpenAI are now generally available on Amazon Bedrock. By replacing the `base_url` and authentication token in the OpenAI SDK, you can make calls through Bedrock. In this article, we will look at how to make calls using the Responses API and verify the behavior of `reasoning.effort`.
2026.06.02

This page has been translated by machine translation. View original

Introduction

On June 1, 2026, OpenAI models (GPT-5.5, GPT-5.4) and Codex became generally available (GA) on Amazon Bedrock. This article focuses specifically on calling GPT-5.5 and GPT-5.4 via the Responses API. Codex, the Chat Completions API, and streaming are out of scope.

https://aws.amazon.com/blogs/aws/get-started-with-openai-gpt-5-5-gpt-5-4-models-and-codex-on-amazon-bedrock

OpenAI models on Bedrock are called not through the Converse API, but through a dedicated Responses API endpoint. We use the bedrock-mantle endpoint described in the official blog. The differences between the two are as follows.

Aspect Converse API Responses API (for OpenAI models)
Endpoint bedrock-runtime bedrock-mantle
SDK AWS SDK (boto3) OpenAI SDK
Authentication IAM / SigV4 Bedrock API Key or short-term token derived from AWS credential chain
Request format Bedrock Converse format OpenAI Responses API format
Target models Various models on Bedrock OpenAI models on Bedrock

Prerequisites

To run the code in this article, the following must be completed.

  • Model access for GPT-5.5 / GPT-5.4 must be enabled in the target region
  • Authentication via the AWS credential chain must be possible (IAM role, AWS_PROFILE, environment variables, etc.)
  • The executing principal must have Bedrock model invocation permissions granted

Regions and Model IDs

The availability as of June 2, 2026 is as follows. Please check the official documentation for the latest information.

Model Model ID Region
GPT-5.5 openai.gpt-5.5 us-east-2 (Ohio) only
GPT-5.4 openai.gpt-5.4 us-east-2 (Ohio), us-west-2 (Oregon)

Pricing

Pricing as of June 2, 2026. Please check the official pricing page for the latest information.

Model Input (per 1M tokens) Output (per 1M tokens) Cached Input (per 1M tokens)
GPT-5.5 $5.50 $33.00 $0.55
GPT-5.4 $2.75 $16.50 $0.275

Authentication Method

Authentication to the Responses API endpoint is done via Bearer token. There are two ways to obtain one.

Method 1: Short-term token (used in this article)

Generate a short-term token from the AWS credential chain (IAM role / profile) using aws-bedrock-token-generator. The maximum validity period is 12 hours, but it cannot be used beyond the expiration of the original AWS credentials. IAM permissions to call Bedrock and botocore[crt] are required.

Method 2: Bedrock API Key

A long-term key issued from the console or CLI. For details, refer to the official documentation.

Execution Environment

  • Python: 3.14.4
  • openai: 2.40.0
  • aws-bedrock-token-generator: 1.1.0
  • botocore: 1.43.2
  • awscrt: 0.32.2

Calling GPT-5.5 with the OpenAI Python SDK

Setup

pip install openai aws-bedrock-token-generator "botocore[crt]"

If you forget botocore[crt], a MissingDependencyException will occur when running provide_token(). This is because awscrt (AWS Common Runtime), which is used internally, is missing. Be sure to install "botocore[crt]" along with openai and aws-bedrock-token-generator.

Note that this article has been verified with the versions listed in the "Execution Environment" section. Attribute names of response objects and error types may change with different versions.

Calling Code

from aws_bedrock_token_generator import provide_token
from openai import OpenAI

token = provide_token(region="us-east-2")
client = OpenAI(
    base_url="https://bedrock-mantle.us-east-2.api.aws/openai/v1",
    api_key=token,
)

response = client.responses.create(
    model="openai.gpt-5.5",
    input=[
        {"role": "developer", "content": "You are a helpful assistant. Be concise."},
        {"role": "user", "content": "What is Amazon Bedrock in one sentence?"},
    ],
    reasoning={"effort": "medium"},
)

print(response.output_text)
print(f"Input: {response.usage.input_tokens} / Output: {response.usage.output_tokens}")

Execution Result

Amazon Bedrock is a fully managed AWS service for building and scaling generative AI applications using foundation models from leading AI companies and Amazon.
Input: 28 / Output: 31

The call via Bedrock was successful.

The reasoning.effort Parameter

The effort field in the reasoning parameter controls the depth of reasoning. In this article, we verified the behavior by specifying low, medium, and high.

In our testing, when effort=low was specified for GPT-5.5, the reasoning_tokens in the response was 0. On the other hand, when calling GPT-5.4 with effort=high, the response in this case had a value in reasoning_tokens, and the output contained a block of type: "reasoning".

Calling via curl

You can also call the API using curl without the Python SDK.

TOKEN=$(python3 -c 'from aws_bedrock_token_generator import provide_token; print(provide_token(region="us-east-2"))')

curl -s "https://bedrock-mantle.us-east-2.api.aws/openai/v1/responses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "model": "openai.gpt-5.5",
    "input": [
      {"role": "user", "content": "What is the capital of Japan?"}
    ],
    "reasoning": {"effort": "low"}
  }'

Response (excerpt)

{
  "id": "resp_xxx",
  "model": "openai.gpt-5.5",
  "object": "response",
  "status": "completed",
  "output": [
    {
      "id": "msg_xxx",
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "The capital of Japan is Tokyo."
        }
      ]
    }
  ],
  "reasoning": {
    "effort": "low",
    "summary": null,
    "context": "current_turn"
  },
  "usage": {
    "input_tokens": 26,
    "output_tokens": 11,
    "output_tokens_details": { "reasoning_tokens": 0 },
    "total_tokens": 37
  }
}

In this example with effort=low specified, reasoning_tokens was 0 and the output was simple.

Trying GPT-5.4 as Well

GPT-5.4 is available in Oregon in addition to Ohio.

Calling from Ohio (us-east-2)

Using the client for us-east-2 mentioned earlier, change the model ID to openai.gpt-5.4.

response = client.responses.create(
    model="openai.gpt-5.4",
    input=[{"role": "user", "content": "Explain why the sky is blue in one sentence."}],
    reasoning={"effort": "high"},
)

A response was returned successfully. The response in this case included a reasoning block.

GPT-5.4 Response Example (with reasoning block)

{
  "id": "resp_xxx",
  "model": "openai.gpt-5.4",
  "object": "response",
  "status": "completed",
  "output": [
    {
      "id": "rs_xxx",
      "type": "reasoning",
      "summary": []
    },
    {
      "id": "msg_xxx",
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "The sky looks blue because molecules in Earth's atmosphere scatter the shorter, bluer wavelengths of sunlight more strongly than the longer, redder wavelengths."
        }
      ]
    }
  ],
  "reasoning": {
    "effort": "high",
    "summary": null,
    "context": "current_turn"
  },
  "usage": {
    "input_tokens": 16,
    "output_tokens": 51,
    "output_tokens_details": { "reasoning_tokens": 16 },
    "total_tokens": 67
  }
}

Calling from Oregon (us-west-2)

token = provide_token(region="us-west-2")
client_oregon = OpenAI(
    base_url="https://bedrock-mantle.us-west-2.api.aws/openai/v1",
    api_key=token,
)

response = client_oregon.responses.create(
    model="openai.gpt-5.4",
    input=[{"role": "user", "content": "Hello from Oregon!"}],
    reasoning={"effort": "high"},
)

GPT-5.4 responded successfully in Oregon as well.

GPT-5.5 is Not Available in Oregon

from openai import NotFoundError

try:
    response = client_oregon.responses.create(
        model="openai.gpt-5.5",
        input=[{"role": "user", "content": "Hello"}],
        reasoning={"effort": "medium"},
    )
except NotFoundError as e:
    print("GPT-5.5 is not available in us-west-2")
    print(e)

Attempting to call GPT-5.5 in Oregon resulted in a 404 error. As of June 2, 2026, GPT-5.5 is only available in Ohio.

Calling in Japanese

We verified whether it works correctly in Japanese as well.

response = client.responses.create(
    model="openai.gpt-5.5",
    input=[
        {"role": "developer", "content": "日本語で簡潔に回答してください。"},
        {"role": "user", "content": "Amazon Bedrock とは何ですか?"},
    ],
    reasoning={"effort": "medium"},
)

A response was returned normally in Japanese as well.

Amazon Bedrock は、AWS 上で複数の基盤モデルを利用して生成 AI アプリケーションを構築・運用できるマネージドサービスです。

Summary

We confirmed that GPT-5.5 / GPT-5.4 on Amazon Bedrock can be called from the OpenAI SDK. Obtaining a short-term token via aws-bedrock-token-generator is straightforward, and reasoning control via reasoning.effort also works. The ability to leverage existing IAM authentication, governance, and billing mechanisms without issuing an API Key directly to OpenAI is a unique advantage of going through Bedrock. We plan to explore streaming and Codex, which were out of scope this time, in the future.

https://aws.amazon.com/jp/blogs/machine-learning/openai-models-and-codex-on-amazon-bedrock-are-now-generally-available/

https://aws.amazon.com/blogs/aws/get-started-with-openai-gpt-5-5-gpt-5-4-models-and-codex-on-amazon-bedrock

https://openai.com/index/openai-frontier-models-and-codex-are-now-available-on-aws/

https://docs.aws.amazon.com/bedrock/latest/userguide/model-cards-openai.html

https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html

https://aws.amazon.com/bedrock/pricing/

https://docs.aws.amazon.com/bedrock/latest/userguide/models-region-compatibility.html


生成AI活用はクラスメソッドにお任せ

過去に支援してきた生成AIの支援実績100+を元にホワイトペーパーを作成しました。御社が抱えている課題のうち、どれが解決できて、どのようなサービスが受けられるのか?4つのフェーズに分けてまとめています。どうぞお気軽にご覧ください。

生成AI資料イメージ

無料でダウンロードする

Share this article

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