fix(ai): correct Bedrock Claude 4.6 context window to 200k
Bedrock Claude Opus 4.6 and Sonnet 4.6 models have 200k context window, not 1M. Removed incorrect overrides that were forcing these models to 1M. The native Anthropic API models correctly remain at 1M. closes #2305
This commit is contained in:
@@ -665,10 +665,6 @@ async function generateModels() {
|
|||||||
if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-opus-4-6-v1")) {
|
if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-opus-4-6-v1")) {
|
||||||
candidate.cost.cacheRead = 0.5;
|
candidate.cost.cacheRead = 0.5;
|
||||||
candidate.cost.cacheWrite = 6.25;
|
candidate.cost.cacheWrite = 6.25;
|
||||||
candidate.contextWindow = 1000000;
|
|
||||||
}
|
|
||||||
if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-sonnet-4-6")) {
|
|
||||||
candidate.contextWindow = 1000000;
|
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
(candidate.provider === "anthropic" ||
|
(candidate.provider === "anthropic" ||
|
||||||
@@ -682,12 +678,7 @@ async function generateModels() {
|
|||||||
) {
|
) {
|
||||||
candidate.contextWindow = 1000000;
|
candidate.contextWindow = 1000000;
|
||||||
}
|
}
|
||||||
if (
|
|
||||||
candidate.provider === "google-antigravity" &&
|
|
||||||
(candidate.id === "claude-opus-4-6-thinking" || candidate.id === "claude-sonnet-4-6")
|
|
||||||
) {
|
|
||||||
candidate.contextWindow = 1000000;
|
|
||||||
}
|
|
||||||
// OpenCode variants list Claude Sonnet 4/4.5 with 1M context, actual limit is 200K
|
// OpenCode variants list Claude Sonnet 4/4.5 with 1M context, actual limit is 200K
|
||||||
if (
|
if (
|
||||||
(candidate.provider === "opencode" || candidate.provider === "opencode-go") &&
|
(candidate.provider === "opencode" || candidate.provider === "opencode-go") &&
|
||||||
@@ -734,7 +725,7 @@ async function generateModels() {
|
|||||||
cacheRead: 0.5,
|
cacheRead: 0.5,
|
||||||
cacheWrite: 6.25,
|
cacheWrite: 6.25,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.5,
|
cacheRead: 0.5,
|
||||||
cacheWrite: 6.25,
|
cacheWrite: 6.25,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"anthropic.claude-sonnet-4-20250514-v1:0": {
|
"anthropic.claude-sonnet-4-20250514-v1:0": {
|
||||||
@@ -308,7 +308,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.3,
|
cacheRead: 0.3,
|
||||||
cacheWrite: 3.75,
|
cacheWrite: 3.75,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 64000,
|
maxTokens: 64000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"deepseek.r1-v1:0": {
|
"deepseek.r1-v1:0": {
|
||||||
@@ -410,7 +410,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.5,
|
cacheRead: 0.5,
|
||||||
cacheWrite: 6.25,
|
cacheWrite: 6.25,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"eu.anthropic.claude-sonnet-4-20250514-v1:0": {
|
"eu.anthropic.claude-sonnet-4-20250514-v1:0": {
|
||||||
@@ -461,7 +461,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.3,
|
cacheRead: 0.3,
|
||||||
cacheWrite: 3.75,
|
cacheWrite: 3.75,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 64000,
|
maxTokens: 64000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"global.anthropic.claude-haiku-4-5-20251001-v1:0": {
|
"global.anthropic.claude-haiku-4-5-20251001-v1:0": {
|
||||||
@@ -512,7 +512,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.5,
|
cacheRead: 0.5,
|
||||||
cacheWrite: 6.25,
|
cacheWrite: 6.25,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"global.anthropic.claude-sonnet-4-20250514-v1:0": {
|
"global.anthropic.claude-sonnet-4-20250514-v1:0": {
|
||||||
@@ -563,7 +563,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.3,
|
cacheRead: 0.3,
|
||||||
cacheWrite: 3.75,
|
cacheWrite: 3.75,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 64000,
|
maxTokens: 64000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"google.gemma-3-27b-it": {
|
"google.gemma-3-27b-it": {
|
||||||
@@ -1294,7 +1294,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.5,
|
cacheRead: 0.5,
|
||||||
cacheWrite: 6.25,
|
cacheWrite: 6.25,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"us.anthropic.claude-sonnet-4-20250514-v1:0": {
|
"us.anthropic.claude-sonnet-4-20250514-v1:0": {
|
||||||
@@ -1345,7 +1345,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.3,
|
cacheRead: 0.3,
|
||||||
cacheWrite: 3.75,
|
cacheWrite: 3.75,
|
||||||
},
|
},
|
||||||
contextWindow: 1000000,
|
contextWindow: 200000,
|
||||||
maxTokens: 64000,
|
maxTokens: 64000,
|
||||||
} satisfies Model<"bedrock-converse-stream">,
|
} satisfies Model<"bedrock-converse-stream">,
|
||||||
"writer.palmyra-x4-v1:0": {
|
"writer.palmyra-x4-v1:0": {
|
||||||
@@ -2304,6 +2304,40 @@ export const MODELS = {
|
|||||||
contextWindow: 272000,
|
contextWindow: 272000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"azure-openai-responses">,
|
} satisfies Model<"azure-openai-responses">,
|
||||||
|
"gpt-5.4-mini": {
|
||||||
|
id: "gpt-5.4-mini",
|
||||||
|
name: "GPT-5.4 mini",
|
||||||
|
api: "azure-openai-responses",
|
||||||
|
provider: "azure-openai-responses",
|
||||||
|
baseUrl: "",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.75,
|
||||||
|
output: 4.5,
|
||||||
|
cacheRead: 0.075,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"azure-openai-responses">,
|
||||||
|
"gpt-5.4-nano": {
|
||||||
|
id: "gpt-5.4-nano",
|
||||||
|
name: "GPT-5.4 nano",
|
||||||
|
api: "azure-openai-responses",
|
||||||
|
provider: "azure-openai-responses",
|
||||||
|
baseUrl: "",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.2,
|
||||||
|
output: 1.25,
|
||||||
|
cacheRead: 0.02,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"azure-openai-responses">,
|
||||||
"gpt-5.4-pro": {
|
"gpt-5.4-pro": {
|
||||||
id: "gpt-5.4-pro",
|
id: "gpt-5.4-pro",
|
||||||
name: "GPT-5.4 Pro",
|
name: "GPT-5.4 Pro",
|
||||||
@@ -5506,6 +5540,40 @@ export const MODELS = {
|
|||||||
contextWindow: 272000,
|
contextWindow: 272000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"openai-responses">,
|
} satisfies Model<"openai-responses">,
|
||||||
|
"gpt-5.4-mini": {
|
||||||
|
id: "gpt-5.4-mini",
|
||||||
|
name: "GPT-5.4 mini",
|
||||||
|
api: "openai-responses",
|
||||||
|
provider: "openai",
|
||||||
|
baseUrl: "https://api.openai.com/v1",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.75,
|
||||||
|
output: 4.5,
|
||||||
|
cacheRead: 0.075,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"openai-responses">,
|
||||||
|
"gpt-5.4-nano": {
|
||||||
|
id: "gpt-5.4-nano",
|
||||||
|
name: "GPT-5.4 nano",
|
||||||
|
api: "openai-responses",
|
||||||
|
provider: "openai",
|
||||||
|
baseUrl: "https://api.openai.com/v1",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.2,
|
||||||
|
output: 1.25,
|
||||||
|
cacheRead: 0.02,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"openai-responses">,
|
||||||
"gpt-5.4-pro": {
|
"gpt-5.4-pro": {
|
||||||
id: "gpt-5.4-pro",
|
id: "gpt-5.4-pro",
|
||||||
name: "GPT-5.4 Pro",
|
name: "GPT-5.4 Pro",
|
||||||
@@ -7036,13 +7104,13 @@ export const MODELS = {
|
|||||||
reasoning: true,
|
reasoning: true,
|
||||||
input: ["text"],
|
input: ["text"],
|
||||||
cost: {
|
cost: {
|
||||||
input: 0.26,
|
input: 0.255,
|
||||||
output: 0.38,
|
output: 0.39999999999999997,
|
||||||
cacheRead: 0.13,
|
cacheRead: 0,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 163840,
|
contextWindow: 163840,
|
||||||
maxTokens: 4096,
|
maxTokens: 163840,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
"deepseek/deepseek-v3.2-exp": {
|
"deepseek/deepseek-v3.2-exp": {
|
||||||
id: "deepseek/deepseek-v3.2-exp",
|
id: "deepseek/deepseek-v3.2-exp",
|
||||||
@@ -7633,7 +7701,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.3,
|
input: 0.3,
|
||||||
output: 0.8999999999999999,
|
output: 0.8999999999999999,
|
||||||
cacheRead: 0,
|
cacheRead: 0.03,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 256000,
|
contextWindow: 256000,
|
||||||
@@ -7650,7 +7718,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.39999999999999997,
|
input: 0.39999999999999997,
|
||||||
output: 2,
|
output: 2,
|
||||||
cacheRead: 0,
|
cacheRead: 0.04,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
@@ -7667,7 +7735,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.39999999999999997,
|
input: 0.39999999999999997,
|
||||||
output: 2,
|
output: 2,
|
||||||
cacheRead: 0,
|
cacheRead: 0.04,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7684,7 +7752,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.09999999999999999,
|
input: 0.09999999999999999,
|
||||||
output: 0.3,
|
output: 0.3,
|
||||||
cacheRead: 0,
|
cacheRead: 0.01,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7701,7 +7769,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.19999999999999998,
|
input: 0.19999999999999998,
|
||||||
output: 0.19999999999999998,
|
output: 0.19999999999999998,
|
||||||
cacheRead: 0,
|
cacheRead: 0.02,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
@@ -7718,7 +7786,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.09999999999999999,
|
input: 0.09999999999999999,
|
||||||
output: 0.09999999999999999,
|
output: 0.09999999999999999,
|
||||||
cacheRead: 0,
|
cacheRead: 0.01,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7735,7 +7803,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.15,
|
input: 0.15,
|
||||||
output: 0.15,
|
output: 0.15,
|
||||||
cacheRead: 0,
|
cacheRead: 0.015,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
@@ -7752,7 +7820,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 2,
|
input: 2,
|
||||||
output: 6,
|
output: 6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.19999999999999998,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 128000,
|
contextWindow: 128000,
|
||||||
@@ -7769,7 +7837,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 2,
|
input: 2,
|
||||||
output: 6,
|
output: 6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.19999999999999998,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7786,7 +7854,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 2,
|
input: 2,
|
||||||
output: 6,
|
output: 6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.19999999999999998,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7803,7 +7871,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.5,
|
input: 0.5,
|
||||||
output: 1.5,
|
output: 1.5,
|
||||||
cacheRead: 0,
|
cacheRead: 0.049999999999999996,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
@@ -7820,7 +7888,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.39999999999999997,
|
input: 0.39999999999999997,
|
||||||
output: 2,
|
output: 2,
|
||||||
cacheRead: 0,
|
cacheRead: 0.04,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7837,7 +7905,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.39999999999999997,
|
input: 0.39999999999999997,
|
||||||
output: 2,
|
output: 2,
|
||||||
cacheRead: 0,
|
cacheRead: 0.04,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -7871,7 +7939,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.19999999999999998,
|
input: 0.19999999999999998,
|
||||||
output: 0.6,
|
output: 0.6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.02,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 32768,
|
contextWindow: 32768,
|
||||||
@@ -7905,7 +7973,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.15,
|
input: 0.15,
|
||||||
output: 0.6,
|
output: 0.6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.015,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 262144,
|
contextWindow: 262144,
|
||||||
@@ -7956,7 +8024,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.09999999999999999,
|
input: 0.09999999999999999,
|
||||||
output: 0.3,
|
output: 0.3,
|
||||||
cacheRead: 0,
|
cacheRead: 0.01,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 32768,
|
contextWindow: 32768,
|
||||||
@@ -7973,7 +8041,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 2,
|
input: 2,
|
||||||
output: 6,
|
output: 6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.19999999999999998,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 65536,
|
contextWindow: 65536,
|
||||||
@@ -8007,7 +8075,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 2,
|
input: 2,
|
||||||
output: 6,
|
output: 6,
|
||||||
cacheRead: 0,
|
cacheRead: 0.19999999999999998,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 131072,
|
contextWindow: 131072,
|
||||||
@@ -8024,7 +8092,7 @@ export const MODELS = {
|
|||||||
cost: {
|
cost: {
|
||||||
input: 0.09999999999999999,
|
input: 0.09999999999999999,
|
||||||
output: 0.3,
|
output: 0.3,
|
||||||
cacheRead: 0,
|
cacheRead: 0.01,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 32000,
|
contextWindow: 32000,
|
||||||
@@ -10509,7 +10577,7 @@ export const MODELS = {
|
|||||||
cacheRead: 0.119,
|
cacheRead: 0.119,
|
||||||
cacheWrite: 0,
|
cacheWrite: 0,
|
||||||
},
|
},
|
||||||
contextWindow: 202752,
|
contextWindow: 80000,
|
||||||
maxTokens: 131072,
|
maxTokens: 131072,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
"z-ai/glm-5-turbo": {
|
"z-ai/glm-5-turbo": {
|
||||||
@@ -12299,6 +12367,40 @@ export const MODELS = {
|
|||||||
contextWindow: 1050000,
|
contextWindow: 1050000,
|
||||||
maxTokens: 128000,
|
maxTokens: 128000,
|
||||||
} satisfies Model<"anthropic-messages">,
|
} satisfies Model<"anthropic-messages">,
|
||||||
|
"openai/gpt-5.4-mini": {
|
||||||
|
id: "openai/gpt-5.4-mini",
|
||||||
|
name: "GPT 5.4 Mini",
|
||||||
|
api: "anthropic-messages",
|
||||||
|
provider: "vercel-ai-gateway",
|
||||||
|
baseUrl: "https://ai-gateway.vercel.sh",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.75,
|
||||||
|
output: 4.5,
|
||||||
|
cacheRead: 0.075,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"anthropic-messages">,
|
||||||
|
"openai/gpt-5.4-nano": {
|
||||||
|
id: "openai/gpt-5.4-nano",
|
||||||
|
name: "GPT 5.4 Nano",
|
||||||
|
api: "anthropic-messages",
|
||||||
|
provider: "vercel-ai-gateway",
|
||||||
|
baseUrl: "https://ai-gateway.vercel.sh",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.19999999999999998,
|
||||||
|
output: 1.25,
|
||||||
|
cacheRead: 0.02,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 400000,
|
||||||
|
maxTokens: 128000,
|
||||||
|
} satisfies Model<"anthropic-messages">,
|
||||||
"openai/gpt-5.4-pro": {
|
"openai/gpt-5.4-pro": {
|
||||||
id: "openai/gpt-5.4-pro",
|
id: "openai/gpt-5.4-pro",
|
||||||
name: "GPT 5.4 Pro",
|
name: "GPT 5.4 Pro",
|
||||||
|
|||||||
Reference in New Issue
Block a user