fix(ai,coding-agent): fix Bedrock Opus 4.6 model IDs, cache pricing, and add EU profile

- Remove :0 suffix from Opus 4.6 Bedrock model IDs (not valid for this model)
- Fix us/eu Opus 4.6 cache pricing (0.5/6.25 instead of 1.5/18.75)
- Add missing eu.anthropic.claude-opus-4-6-v1 inference profile
- Fix coding-agent default Bedrock model ID to match catalog
This commit is contained in:
Mario Zechner 2026-02-05 22:21:22 +01:00
parent 62385e2230
commit 712d0c6ada
5 changed files with 50 additions and 30 deletions

View file

@ -2,6 +2,11 @@
## [Unreleased]
### Fixed
- Fixed Bedrock Opus 4.6 model IDs (removed `:0` suffix) and cache pricing for `us.*` and `eu.*` variants
- Added missing `eu.anthropic.claude-opus-4-6-v1` inference profile to model catalog
## [0.52.2] - 2026-02-05
## [0.52.1] - 2026-02-05

View file

@ -642,6 +642,37 @@ async function generateModels() {
opus45.cost.cacheWrite = 6.25;
}
// Temporary Bedrock overrides until https://github.com/anomalyco/models.dev/pull/816 is merged.
// 1. Fix incorrect Opus 4.6 Bedrock metadata
for (const candidate of allModels) {
if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-opus-4-6-v1")) {
candidate.cost.cacheRead = 0.5;
candidate.cost.cacheWrite = 6.25;
candidate.contextWindow = 200000;
}
}
// 2. Add missing EU Opus 4.6 profile
if (!allModels.some((m) => m.provider === "amazon-bedrock" && m.id === "eu.anthropic.claude-opus-4-6-v1")) {
allModels.push({
id: "eu.anthropic.claude-opus-4-6-v1",
name: "Claude Opus 4.6 (EU)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 5,
output: 25,
cacheRead: 0.5,
cacheWrite: 6.25,
},
contextWindow: 200000,
maxTokens: 128000,
});
}
// Add missing Claude Opus 4.6
if (!allModels.some(m => m.provider === "anthropic" && m.id === "claude-opus-4-6")) {
allModels.push({

View file

@ -311,8 +311,8 @@ export const MODELS = {
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-opus-4-6-v1:0": {
id: "anthropic.claude-opus-4-6-v1:0",
"anthropic.claude-opus-4-6-v1": {
id: "anthropic.claude-opus-4-6-v1",
name: "Claude Opus 4.6",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
@ -464,8 +464,8 @@ export const MODELS = {
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"eu.anthropic.claude-opus-4-6-v1:0": {
id: "eu.anthropic.claude-opus-4-6-v1:0",
"eu.anthropic.claude-opus-4-6-v1": {
id: "eu.anthropic.claude-opus-4-6-v1",
name: "Claude Opus 4.6 (EU)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
@ -475,8 +475,8 @@ export const MODELS = {
cost: {
input: 5,
output: 25,
cacheRead: 1.5,
cacheWrite: 18.75,
cacheRead: 0.5,
cacheWrite: 6.25,
},
contextWindow: 200000,
maxTokens: 128000,
@ -549,8 +549,8 @@ export const MODELS = {
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"global.anthropic.claude-opus-4-6-v1:0": {
id: "global.anthropic.claude-opus-4-6-v1:0",
"global.anthropic.claude-opus-4-6-v1": {
id: "global.anthropic.claude-opus-4-6-v1",
name: "Claude Opus 4.6 (Global)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
@ -1178,8 +1178,8 @@ export const MODELS = {
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"us.anthropic.claude-opus-4-6-v1:0": {
id: "us.anthropic.claude-opus-4-6-v1:0",
"us.anthropic.claude-opus-4-6-v1": {
id: "us.anthropic.claude-opus-4-6-v1",
name: "Claude Opus 4.6 (US)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
@ -1189,8 +1189,8 @@ export const MODELS = {
cost: {
input: 5,
output: 25,
cacheRead: 1.5,
cacheWrite: 18.75,
cacheRead: 0.5,
cacheWrite: 6.25,
},
contextWindow: 200000,
maxTokens: 128000,
@ -1537,23 +1537,6 @@ export const MODELS = {
contextWindow: 1000000,
maxTokens: 128000,
} satisfies Model<"anthropic-messages">,
"claude-opus-4-6-20260205": {
id: "claude-opus-4-6-20260205",
name: "Claude Opus 4.6",
api: "anthropic-messages",
provider: "anthropic",
baseUrl: "https://api.anthropic.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 5,
output: 25,
cacheRead: 0.5,
cacheWrite: 6.25,
},
contextWindow: 200000,
maxTokens: 128000,
} satisfies Model<"anthropic-messages">,
"claude-sonnet-4-0": {
id: "claude-sonnet-4-0",
name: "Claude Sonnet 4 (latest)",