Running GPT-5.6 through Bedrock Responses: Setup and Recovery
On this page
Quick answer
GPT-5.6 on Amazon Bedrock supports the OpenAI-compatible Responses API on both bedrock-runtime and bedrock-mantle. Choose the endpoint before copying code:
| Need | Endpoint | Request model |
|---|---|---|
| Geo or Global cross-Region routing; synchronous Responses | bedrock-runtime | Geo or Global inference profile ID |
| Documented in-Region access; server-side tools or asynchronous Responses | bedrock-mantle | Bare openai.gpt-5.6-* ID |
AWS recommends bedrock-runtime for new applications. This runtime example uses the US Geo profile; change both source Region and profile only after checking the model card, destination Regions, IAM, SCPs, and workload policy:
from openai import OpenAI
from aws_bedrock_token_generator import provide_token
REGION = "us-east-2"
client = OpenAI(
base_url=f"https://bedrock-runtime.{REGION}.amazonaws.com/openai/v1",
api_key=provide_token(region=REGION),
)
response = client.responses.create(
model="us.openai.gpt-5.6-terra",
instructions="Answer concisely and state uncertainty.",
input="Explain the difference between a cache write and cache read.",
max_output_tokens=500,
store=False,
)
print(response.output_text)
Install the packages used by the AWS example:
pip install openai aws-bedrock-token-generator
For model and endpoint selection, see the Sol, Terra, and Luna comparison.
Endpoint and model IDs
| Setting | bedrock-runtime | bedrock-mantle |
|---|---|---|
| Base URL | https://bedrock-runtime.{region}.amazonaws.com/openai/v1 | https://bedrock-mantle.{region}.api.aws/openai/v1 |
| Responses resource | /responses through the SDK | /responses through the SDK |
| Sol | us.openai.gpt-5.6-sol or global.openai.gpt-5.6-sol | openai.gpt-5.6-sol |
| Terra | us.openai.gpt-5.6-terra, in.openai.gpt-5.6-terra, or global.openai.gpt-5.6-terra | openai.gpt-5.6-terra |
| Luna | us.openai.gpt-5.6-luna, in.openai.gpt-5.6-luna, or global.openai.gpt-5.6-luna | openai.gpt-5.6-luna |
| Routing | Geo or Global cross-Region | In-Region |
| Notable boundary | Synchronous Responses; no server-side tools | Server-side tools and asynchronous inference supported |
Copy the exact profile ID from the current model card. bedrock-runtime also supports Chat Completions and Converse for GPT-5.6; Converse uses the AWS SDK shape rather than the OpenAI client.
Read the context and Regions guide before pinning infrastructure.
Authentication choices
AWS documents Bedrock API keys and AWS credentials. Its GPT-5.6 setup post recommends short-term bearer tokens generated from the standard AWS credential chain. That lets an IAM role, environment configuration, or AWS CLI profile supply the underlying identity without a long-lived secret in application code.
For production:
- run the workload under a dedicated role;
- grant only the Bedrock access and Regions it needs;
- keep credentials out of source files, images, logs, and client-side bundles;
- verify how a token is refreshed during long streams, queues, or agent runs;
- log identity and request metadata without logging tokens or sensitive prompts;
- test revoked, expired, and insufficient permissions.
Long-term Bedrock API keys can simplify a limited test, but they increase rotation and leakage risk. Treat the credential choice as a deployment decision rather than copying a console quickstart into production.
A configuration boundary that prevents provider mix-ups
Keep provider, endpoint family, base URL, API, model or profile ID, source Region, and authentication in one typed configuration object. Reject combinations such as a Bedrock model ID sent to api.openai.com, a direct OpenAI slug sent to a Bedrock endpoint, a bare in-Region ID sent to bedrock-runtime, or a profile whose source Region is not documented.
provider = amazon-bedrock
endpoint = bedrock-runtime
source_region = us-east-2
base_url = https://bedrock-runtime.us-east-2.amazonaws.com/openai/v1
model = us.openai.gpt-5.6-terra
auth = aws-short-term-bearer
This matters when an application supports both Bedrock and the direct OpenAI API. Similar SDK calls do not make the two deployments interchangeable.
Verify the first request
After the first successful response, record and validate:
- the returned model identifier;
- the endpoint, API, source Region, and model or inference profile ID;
- request ID and HTTP status;
- input, cached, cache-write, reasoning, and output token fields that are present;
- streaming event handling if streaming is enabled;
- tool-call and structured-output behavior for the exact schema;
storeand retention behavior required by the application;- timeout, retry, and duplicate-call handling.
For cross-Region requests, verify CloudTrail’s additionalEventData.inferenceRegion and keep CloudWatch alarms in the source Region. Separate bedrock-runtime and bedrock-mantle dashboards because AWS publishes their metrics through distinct monitoring surfaces.
Do not use one “hello world” response as a production approval. Run representative inputs, denied permissions, malformed tool output, long context, rate limits, and cancellation.
Common setup failures
Wrong path
Both SDK base URLs end in /openai/v1; the SDK appends /responses. A host copied from the other Bedrock endpoint family changes routing and features even though the remaining path looks identical.
Wrong model naming convention
Bedrock IDs include the openai. provider prefix. Cross-Region inference profile IDs add a geography or global. prefix. Direct OpenAI slugs do not. Keep an explicit mapping instead of string concatenation.
Region mismatch
Validate the endpoint, source Region, and model-card availability together. In particular, a bedrock-mantle in-Region ID and a bedrock-runtime cross-Region profile are not interchangeable even when they name the same tier.
Expired credentials
A token that works during startup can expire during a long-lived worker. Exercise refresh and retry paths without replaying a state-changing tool call twice.
Frequently asked questions
What endpoint does GPT-5.6 use on Amazon Bedrock?
GPT-5.6 supports Responses on both bedrock-runtime and bedrock-mantle. Use bedrock-runtime with a Geo or Global inference profile for cross-Region routing, or bedrock-mantle with the bare model ID for documented in-Region access and server-side tools.
What are the Bedrock model IDs for GPT-5.6?
bedrock-mantle uses openai.gpt-5.6-sol, openai.gpt-5.6-terra, or openai.gpt-5.6-luna. bedrock-runtime cross-Region requests add the documented geography or global prefix, such as us.openai.gpt-5.6-sol or global.openai.gpt-5.6-sol.
How should a production app authenticate to Bedrock GPT-5.6?
AWS recommends short-term bearer tokens generated from the standard AWS credential chain. Keep the workload on a narrow IAM role, avoid source-controlled secrets, and test token refresh before long-running or streaming work.
Official sources
- AWS: Introducing explicit prompt caching for OpenAI GPT-5.6 models on Amazon Bedrock
- AWS: Get started with GPT-5.6 Sol, Terra, and Luna
- AWS model card: GPT-5.6 Terra
- AWS: APIs supported by Amazon Bedrock
- AWS: Route requests with cross-Region inference
Source check: August 19, 2026. Verify SDK versions, endpoint features, authentication, profile IDs, source and destination Regions, quotas, logging, and retention before deployment.