feat(ai): Add Amazon Bedrock provider (#494)

Adds support for Amazon Bedrock with Claude models including:
- Full streaming support via Converse API
- Reasoning/thinking support for Claude models
- Cross-region inference model ID handling
- Multiple AWS credential sources (profile, IAM keys, API keys)
- Image support in messages and tool results
- Unicode surrogate sanitization

Also adds 'Adding a New Provider' documentation to AGENTS.md and README.

Co-authored-by: nickchan2 <nickchan2@users.noreply.github.com>
This commit is contained in:
Mario Zechner 2026-01-13 00:32:59 +01:00
parent 4f216d318f
commit fd268479a4
31 changed files with 3550 additions and 2593 deletions

View file

@ -4,6 +4,892 @@
import type { Model } from "./types.js";
export const MODELS = {
"amazon-bedrock": {
"anthropic.claude-3-5-haiku-20241022-v1:0": {
id: "anthropic.claude-3-5-haiku-20241022-v1:0",
name: "Claude Haiku 3.5",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.8,
output: 4,
cacheRead: 0.08,
cacheWrite: 1,
},
contextWindow: 200000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-3-5-sonnet-20240620-v1:0": {
id: "anthropic.claude-3-5-sonnet-20240620-v1:0",
name: "Claude Sonnet 3.5",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0.3,
cacheWrite: 3.75,
},
contextWindow: 200000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-3-5-sonnet-20241022-v2:0": {
id: "anthropic.claude-3-5-sonnet-20241022-v2:0",
name: "Claude Sonnet 3.5 v2",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0.3,
cacheWrite: 3.75,
},
contextWindow: 200000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-3-haiku-20240307-v1:0": {
id: "anthropic.claude-3-haiku-20240307-v1:0",
name: "Claude Haiku 3",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.25,
output: 1.25,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 200000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-3-opus-20240229-v1:0": {
id: "anthropic.claude-3-opus-20240229-v1:0",
name: "Claude Opus 3",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 15,
output: 75,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 200000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"anthropic.claude-3-sonnet-20240229-v1:0": {
id: "anthropic.claude-3-sonnet-20240229-v1:0",
name: "Claude Sonnet 3",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 200000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"cohere.command-r-plus-v1:0": {
id: "cohere.command-r-plus-v1:0",
name: "Command R+",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 3,
output: 15,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"cohere.command-r-v1:0": {
id: "cohere.command-r-v1:0",
name: "Command R",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.5,
output: 1.5,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"deepseek.v3-v1:0": {
id: "deepseek.v3-v1:0",
name: "DeepSeek-V3.1",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text"],
cost: {
input: 0.58,
output: 1.68,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 163840,
maxTokens: 81920,
} satisfies Model<"bedrock-converse-stream">,
"global.amazon.nova-2-lite-v1:0": {
id: "global.amazon.nova-2-lite-v1:0",
name: "Nova 2 Lite",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.33,
output: 2.75,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"global.anthropic.claude-haiku-4-5-20251001-v1:0": {
id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
name: "Claude Haiku 4.5",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 1,
output: 5,
cacheRead: 0.1,
cacheWrite: 1.25,
},
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"global.anthropic.claude-opus-4-5-20251101-v1:0": {
id: "global.anthropic.claude-opus-4-5-20251101-v1:0",
name: "Claude Opus 4.5",
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: 64000,
} satisfies Model<"bedrock-converse-stream">,
"global.anthropic.claude-sonnet-4-20250514-v1:0": {
id: "global.anthropic.claude-sonnet-4-20250514-v1:0",
name: "Claude Sonnet 4",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0.3,
cacheWrite: 3.75,
},
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"global.anthropic.claude-sonnet-4-5-20250929-v1:0": {
id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
name: "Claude Sonnet 4.5",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0.3,
cacheWrite: 3.75,
},
contextWindow: 200000,
maxTokens: 64000,
} satisfies Model<"bedrock-converse-stream">,
"google.gemma-3-27b-it": {
id: "google.gemma-3-27b-it",
name: "Google Gemma 3 27B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.12,
output: 0.2,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 202752,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"google.gemma-3-4b-it": {
id: "google.gemma-3-4b-it",
name: "Gemma 3 4B IT",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.04,
output: 0.08,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"meta.llama3-1-70b-instruct-v1:0": {
id: "meta.llama3-1-70b-instruct-v1:0",
name: "Llama 3.1 70B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.72,
output: 0.72,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"meta.llama3-1-8b-instruct-v1:0": {
id: "meta.llama3-1-8b-instruct-v1:0",
name: "Llama 3.1 8B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.22,
output: 0.22,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"minimax.minimax-m2": {
id: "minimax.minimax-m2",
name: "MiniMax M2",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text"],
cost: {
input: 0.3,
output: 1.2,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 204608,
maxTokens: 128000,
} satisfies Model<"bedrock-converse-stream">,
"mistral.ministral-3-14b-instruct": {
id: "mistral.ministral-3-14b-instruct",
name: "Ministral 14B 3.0",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.2,
output: 0.2,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"mistral.ministral-3-8b-instruct": {
id: "mistral.ministral-3-8b-instruct",
name: "Ministral 3 8B",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.15,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"mistral.mistral-large-2402-v1:0": {
id: "mistral.mistral-large-2402-v1:0",
name: "Mistral Large (24.02)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.5,
output: 1.5,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"mistral.voxtral-mini-3b-2507": {
id: "mistral.voxtral-mini-3b-2507",
name: "Voxtral Mini 3B 2507",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.04,
output: 0.04,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"mistral.voxtral-small-24b-2507": {
id: "mistral.voxtral-small-24b-2507",
name: "Voxtral Small 24B 2507",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.35,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 32000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"moonshot.kimi-k2-thinking": {
id: "moonshot.kimi-k2-thinking",
name: "Kimi K2 Thinking",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text"],
cost: {
input: 0.6,
output: 2.5,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 256000,
maxTokens: 256000,
} satisfies Model<"bedrock-converse-stream">,
"nvidia.nemotron-nano-12b-v2": {
id: "nvidia.nemotron-nano-12b-v2",
name: "NVIDIA Nemotron Nano 12B v2 VL BF16",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.2,
output: 0.6,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"nvidia.nemotron-nano-9b-v2": {
id: "nvidia.nemotron-nano-9b-v2",
name: "NVIDIA Nemotron Nano 9B v2",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.06,
output: 0.23,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"openai.gpt-oss-120b-1:0": {
id: "openai.gpt-oss-120b-1:0",
name: "gpt-oss-120b",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.6,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"openai.gpt-oss-20b-1:0": {
id: "openai.gpt-oss-20b-1:0",
name: "gpt-oss-20b",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.07,
output: 0.3,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"openai.gpt-oss-safeguard-120b": {
id: "openai.gpt-oss-safeguard-120b",
name: "GPT OSS Safeguard 120B",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.6,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"openai.gpt-oss-safeguard-20b": {
id: "openai.gpt-oss-safeguard-20b",
name: "GPT OSS Safeguard 20B",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.07,
output: 0.2,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-235b-a22b-2507-v1:0": {
id: "qwen.qwen3-235b-a22b-2507-v1:0",
name: "Qwen3 235B A22B 2507",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.22,
output: 0.88,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 262144,
maxTokens: 131072,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-32b-v1:0": {
id: "qwen.qwen3-32b-v1:0",
name: "Qwen3 32B (dense)",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text"],
cost: {
input: 0.15,
output: 0.6,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 16384,
maxTokens: 16384,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-coder-30b-a3b-v1:0": {
id: "qwen.qwen3-coder-30b-a3b-v1:0",
name: "Qwen3 Coder 30B A3B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.6,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 262144,
maxTokens: 131072,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-coder-480b-a35b-v1:0": {
id: "qwen.qwen3-coder-480b-a35b-v1:0",
name: "Qwen3 Coder 480B A35B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.22,
output: 1.8,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 131072,
maxTokens: 65536,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-next-80b-a3b": {
id: "qwen.qwen3-next-80b-a3b",
name: "Qwen/Qwen3-Next-80B-A3B-Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.14,
output: 1.4,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 262000,
maxTokens: 262000,
} satisfies Model<"bedrock-converse-stream">,
"qwen.qwen3-vl-235b-a22b": {
id: "qwen.qwen3-vl-235b-a22b",
name: "Qwen/Qwen3-VL-235B-A22B-Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.3,
output: 1.5,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 262000,
maxTokens: 262000,
} satisfies Model<"bedrock-converse-stream">,
"us.amazon.nova-lite-v1:0": {
id: "us.amazon.nova-lite-v1:0",
name: "Nova Lite",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.06,
output: 0.24,
cacheRead: 0.015,
cacheWrite: 0,
},
contextWindow: 300000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"us.amazon.nova-micro-v1:0": {
id: "us.amazon.nova-micro-v1:0",
name: "Nova Micro",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.035,
output: 0.14,
cacheRead: 0.00875,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"us.amazon.nova-premier-v1:0": {
id: "us.amazon.nova-premier-v1:0",
name: "Nova Premier",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 2.5,
output: 12.5,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 1000000,
maxTokens: 16384,
} satisfies Model<"bedrock-converse-stream">,
"us.amazon.nova-pro-v1:0": {
id: "us.amazon.nova-pro-v1:0",
name: "Nova Pro",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.8,
output: 3.2,
cacheRead: 0.2,
cacheWrite: 0,
},
contextWindow: 300000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"us.anthropic.claude-3-7-sonnet-20250219-v1:0": {
id: "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
name: "Claude Sonnet 3.7",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 3,
output: 15,
cacheRead: 0.3,
cacheWrite: 3.75,
},
contextWindow: 200000,
maxTokens: 8192,
} satisfies Model<"bedrock-converse-stream">,
"us.anthropic.claude-opus-4-1-20250805-v1:0": {
id: "us.anthropic.claude-opus-4-1-20250805-v1:0",
name: "Claude Opus 4.1",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 15,
output: 75,
cacheRead: 1.5,
cacheWrite: 18.75,
},
contextWindow: 200000,
maxTokens: 32000,
} satisfies Model<"bedrock-converse-stream">,
"us.anthropic.claude-opus-4-20250514-v1:0": {
id: "us.anthropic.claude-opus-4-20250514-v1:0",
name: "Claude Opus 4",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text", "image"],
cost: {
input: 15,
output: 75,
cacheRead: 1.5,
cacheWrite: 18.75,
},
contextWindow: 200000,
maxTokens: 32000,
} satisfies Model<"bedrock-converse-stream">,
"us.deepseek.r1-v1:0": {
id: "us.deepseek.r1-v1:0",
name: "DeepSeek-R1",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: true,
input: ["text"],
cost: {
input: 1.35,
output: 5.4,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 32768,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama3-2-11b-instruct-v1:0": {
id: "us.meta.llama3-2-11b-instruct-v1:0",
name: "Llama 3.2 11B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.16,
output: 0.16,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama3-2-1b-instruct-v1:0": {
id: "us.meta.llama3-2-1b-instruct-v1:0",
name: "Llama 3.2 1B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.1,
output: 0.1,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 131000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama3-2-3b-instruct-v1:0": {
id: "us.meta.llama3-2-3b-instruct-v1:0",
name: "Llama 3.2 3B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.15,
output: 0.15,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 131000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama3-2-90b-instruct-v1:0": {
id: "us.meta.llama3-2-90b-instruct-v1:0",
name: "Llama 3.2 90B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.72,
output: 0.72,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama3-3-70b-instruct-v1:0": {
id: "us.meta.llama3-3-70b-instruct-v1:0",
name: "Llama 3.3 70B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text"],
cost: {
input: 0.72,
output: 0.72,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 128000,
maxTokens: 4096,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama4-maverick-17b-instruct-v1:0": {
id: "us.meta.llama4-maverick-17b-instruct-v1:0",
name: "Llama 4 Maverick 17B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.24,
output: 0.97,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 1000000,
maxTokens: 16384,
} satisfies Model<"bedrock-converse-stream">,
"us.meta.llama4-scout-17b-instruct-v1:0": {
id: "us.meta.llama4-scout-17b-instruct-v1:0",
name: "Llama 4 Scout 17B Instruct",
api: "bedrock-converse-stream",
provider: "amazon-bedrock",
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
reasoning: false,
input: ["text", "image"],
cost: {
input: 0.17,
output: 0.66,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 3500000,
maxTokens: 16384,
} satisfies Model<"bedrock-converse-stream">,
},
"anthropic": {
"claude-3-5-haiku-20241022": {
id: "claude-3-5-haiku-20241022",
@ -3660,7 +4546,7 @@ export const MODELS = {
cacheWrite: 6.25,
},
contextWindow: 200000,
maxTokens: 32000,
maxTokens: 64000,
} satisfies Model<"openai-completions">,
"anthropic/claude-sonnet-4": {
id: "anthropic/claude-sonnet-4",
@ -3977,13 +4863,13 @@ export const MODELS = {
reasoning: true,
input: ["text"],
cost: {
input: 0.39999999999999997,
output: 1.75,
input: 0.44999999999999996,
output: 2.1500000000000004,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 163840,
maxTokens: 65536,
contextWindow: 131072,
maxTokens: 32768,
} satisfies Model<"openai-completions">,
"deepseek/deepseek-r1-distill-llama-70b": {
id: "deepseek/deepseek-r1-distill-llama-70b",