anomalyco / anomalyco/models.dev
Bedrock: Mantle models template `api` on `${AWS_REGION}`, but aren't served in every region
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.9k
- Forks
- 1.7k
- Avg merge
- 3h 21m
- Merged PRs (30d)
- 873
Description
The Mantle-routed Bedrock models build their endpoint from the consumer's region:
api = "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
Mantle's coverage varies by region though, so with a non-US AWS_REGION you get a 404 with no hint that region is the problem:
POST bedrock-mantle.eu-west-1.api.aws/openai/v1/responses {"model":"openai.gpt-5.6-terra"}
→ 404 The model 'openai.gpt-5.6-terra' does not exist
POST bedrock-mantle.us-east-1.api.aws/openai/v1/responses (same body)
→ 200
Same 200/404 split for gpt-5.6-luna, gpt-5.6-sol, openai.gpt-5.4, openai.gpt-5.5 and xai.grok-4.3. us-east-2 and us-west-2 serve them too.
openai.gpt-oss-120b works in both regions, so this looks like per-model coverage rather than a provider-wide thing — its ${AWS_REGION} should stay as-is.
Two suggestions below, a la carte — they're independent of each other, so either one helps on its own and they can be merged separately.
1. Pin the affected Mantle models to us-east-1
-api = "https://bedrock-mantle.${AWS_REGION}.api.aws/openai/v1"
+api = "https://bedrock-mantle.us-east-1.api.aws/openai/v1"
That unlocks these models for people in every AWS region, and the only cost is a bit of routing loss for the few who are currently in us-east-2/us-west-2. us-east-1 serves every Mantle model, so it's the most compatible choice. It also lines up with the pricing already in those files (the comments say US East in-region).
2. Add global.openai.gpt-5.6-* entries
So the catalog would list both "GPT 5.6 Sol" and "GPT 5.6 Sol (Global)", same as the global.anthropic.* variants do today. AWS added these global endpoints on 13th August and I've confirmed they work — global.openai.gpt-5.6-terra returns 200 from eu-west-1. Small quirk: the global endpoints go through Bedrock core, not Mantle, so the files would just be a base_model + (Global) name with no [provider] block, letting them fall through to Converse.
Related: #607, #37
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the catalog entries for the Mantle-routed models and compare them with the existing global.anthropic.* entries. Choose one of the independent approaches described in the issue, then verify that the affected models work from non-US regions while openai.gpt-oss-120b retains its regional endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- cloud, data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100