use crate::types::base_types::{
MessageType, ModelAPI, ModelProviderDescriptor, ModelProviders, ModelUsageCosting,
};
pub static MODELS: &[ModelProviderDescriptor] = &[
ModelProviderDescriptor {
id: "alibaba/qwen-3-14b",
name: "Qwen3-14B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.12,
output: 0.24,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 40_960,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "alibaba/qwen-3-235b",
name: "Qwen3 235B A22b Instruct 2507",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 1.2,
cache_read: 0.6,
cache_write: 0.0,
},
context_window: 131_000,
max_tokens: 40_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen-3-30b",
name: "Qwen3-30B-A3B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.08,
output: 0.29,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 40_960,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "alibaba/qwen-3-32b",
name: "Qwen 3 32B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.16,
output: 0.64,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "alibaba/qwen-3.6-max-preview",
name: "Qwen 3.6 Max Preview",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.3,
output: 7.8,
cache_read: 0.26,
cache_write: 1.625,
},
context_window: 240_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-235b-a22b-thinking",
name: "Qwen3 VL 235B A22B Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 4.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-coder",
name: "Qwen3 Coder 480B A35B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.5,
output: 7.5,
cache_read: 0.3,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-coder-30b-a3b",
name: "Qwen 3 Coder 30B A3B Instruct",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.15,
output: 0.6,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-coder-next",
name: "Qwen3 Coder Next",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.5,
output: 1.2,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-coder-plus",
name: "Qwen3 Coder Plus",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.0,
output: 5.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-max",
name: "Qwen3 Max",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.2,
output: 6.0,
cache_read: 0.24,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-max-preview",
name: "Qwen3 Max Preview",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.2,
output: 6.0,
cache_read: 0.24,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-max-thinking",
name: "Qwen 3 Max Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.2,
output: 6.0,
cache_read: 0.24,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "alibaba/qwen3-vl-thinking",
name: "Qwen3 VL 235B A22B Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 4.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "alibaba/qwen3.5-flash",
name: "Qwen 3.5 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.399_999_999_999_999_97,
cache_read: 0.001,
cache_write: 0.125,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen3.5-plus",
name: "Qwen 3.5 Plus",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 2.4,
cache_read: 0.04,
cache_write: 0.5,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen3.6-27b",
name: "Qwen 3.6 27B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.6,
output: 3.599_999_999_999_999_6,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "alibaba/qwen3.6-plus",
name: "Qwen 3.6 Plus",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.5,
output: 3.0,
cache_read: 0.099_999_999_999_999_99,
cache_write: 0.625,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-3-haiku",
name: "Claude 3 Haiku",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.25,
output: 1.25,
cache_read: 0.03,
cache_write: 0.3,
},
context_window: 200_000,
max_tokens: 4096,
},
ModelProviderDescriptor {
id: "anthropic/claude-3.5-haiku",
name: "Claude 3.5 Haiku",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.799_999_999_999_999_9,
output: 4.0,
cache_read: 0.08,
cache_write: 1.0,
},
context_window: 200_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "anthropic/claude-3.7-sonnet",
name: "Claude 3.7 Sonnet",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.3,
cache_write: 3.75,
},
context_window: 200_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "anthropic/claude-haiku-4.5",
name: "Claude Haiku 4.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.0,
output: 5.0,
cache_read: 0.099_999_999_999_999_99,
cache_write: 1.25,
},
context_window: 200_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-opus-4",
name: "Claude Opus 4",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 15.0,
output: 75.0,
cache_read: 1.5,
cache_write: 18.75,
},
context_window: 200_000,
max_tokens: 32_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-opus-4.1",
name: "Claude Opus 4.1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 15.0,
output: 75.0,
cache_read: 1.5,
cache_write: 18.75,
},
context_window: 200_000,
max_tokens: 32_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-opus-4.5",
name: "Claude Opus 4.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 5.0,
output: 25.0,
cache_read: 0.5,
cache_write: 6.25,
},
context_window: 200_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-opus-4.6",
name: "Claude Opus 4.6",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 5.0,
output: 25.0,
cache_read: 0.5,
cache_write: 6.25,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-opus-4.7",
name: "Claude Opus 4.7",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 5.0,
output: 25.0,
cache_read: 0.5,
cache_write: 6.25,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-sonnet-4",
name: "Claude Sonnet 4",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.3,
cache_write: 3.75,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-sonnet-4.5",
name: "Claude Sonnet 4.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.3,
cache_write: 3.75,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "anthropic/claude-sonnet-4.6",
name: "Claude Sonnet 4.6",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.3,
cache_write: 3.75,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "arcee-ai/trinity-large-preview",
name: "Trinity Large Preview",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.25,
output: 1.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_000,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "arcee-ai/trinity-large-thinking",
name: "Trinity Large Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.25,
output: 0.899_999_999_999_999_9,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 262_100,
max_tokens: 80_000,
},
ModelProviderDescriptor {
id: "bytedance/seed-1.6",
name: "Seed 1.6",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.25,
output: 2.0,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 32_000,
},
ModelProviderDescriptor {
id: "cohere/command-a",
name: "Command A",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 2.5,
output: 10.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 8000,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-r1",
name: "DeepSeek-R1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.35,
output: 5.4,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v3",
name: "DeepSeek V3 0324",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.77,
output: 0.77,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 163_840,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v3.1",
name: "DeepSeek-V3.1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.56,
output: 1.68,
cache_read: 0.28,
cache_write: 0.0,
},
context_window: 163_840,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v3.1-terminus",
name: "DeepSeek V3.1 Terminus",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.27,
output: 1.0,
cache_read: 0.135,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v3.2",
name: "DeepSeek V3.2",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.28,
output: 0.42,
cache_read: 0.028,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8000,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v3.2-thinking",
name: "DeepSeek V3.2 Thinking",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.62,
output: 1.85,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8000,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v4-flash",
name: "DeepSeek V4 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.14,
output: 0.28,
cache_read: 0.0028,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 384_000,
},
ModelProviderDescriptor {
id: "deepseek/deepseek-v4-pro",
name: "DeepSeek V4 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.435,
output: 0.87,
cache_read: 0.0036,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 384_000,
},
ModelProviderDescriptor {
id: "google/gemini-2.0-flash",
name: "Gemini 2.0 Flash",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.15,
output: 0.6,
cache_read: 0.024_999_999_999_999_998,
cache_write: 0.0,
},
context_window: 1_048_576,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "google/gemini-2.0-flash-lite",
name: "Gemini 2.0 Flash Lite",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.075,
output: 0.3,
cache_read: 0.02,
cache_write: 0.0,
},
context_window: 1_048_576,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "google/gemini-2.5-flash",
name: "Gemini 2.5 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.3,
output: 2.5,
cache_read: 0.03,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "google/gemini-2.5-flash-lite",
name: "Gemini 2.5 Flash Lite",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.399_999_999_999_999_97,
cache_read: 0.01,
cache_write: 0.0,
},
context_window: 1_048_576,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "google/gemini-2.5-pro",
name: "Gemini 2.5 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 1_048_576,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "google/gemini-3-flash",
name: "Gemini 3 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.5,
output: 3.0,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 65_000,
},
ModelProviderDescriptor {
id: "google/gemini-3-pro-preview",
name: "Gemini 3 Pro Preview",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 12.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "google/gemini-3.1-flash-lite-preview",
name: "Gemini 3.1 Flash Lite Preview",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.25,
output: 1.5,
cache_read: 0.03,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 65_000,
},
ModelProviderDescriptor {
id: "google/gemini-3.1-pro-preview",
name: "Gemini 3.1 Pro Preview",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 12.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "google/gemma-4-26b-a4b-it",
name: "Gemma 4 26B A4B IT",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.13,
output: 0.399_999_999_999_999_97,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "google/gemma-4-31b-it",
name: "Gemma 4 31B IT",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.14,
output: 0.399_999_999_999_999_97,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "inception/mercury-2",
name: "Mercury 2",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.25,
output: 0.75,
cache_read: 0.024_999_999_999_999_998,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "inception/mercury-coder-small",
name: "Mercury Coder Small Beta",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.25,
output: 1.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 32_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "kwaipilot/kat-coder-pro-v2",
name: "Kat Coder Pro V2",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 1.2,
cache_read: 0.06,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "meituan/longcat-flash-chat",
name: "LongCat Flash Chat",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.0,
output: 0.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "meta/llama-3.1-70b",
name: "Llama 3.1 70B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.72,
output: 0.72,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-3.1-8b",
name: "Llama 3.1 8B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.22,
output: 0.22,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-3.2-11b",
name: "Llama 3.2 11B Vision Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.16,
output: 0.16,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-3.2-90b",
name: "Llama 3.2 90B Vision Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.72,
output: 0.72,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-3.3-70b",
name: "Llama 3.3 70B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.72,
output: 0.72,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-4-maverick",
name: "Llama 4 Maverick 17B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.24,
output: 0.970_000_000_000_000_1,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "meta/llama-4-scout",
name: "Llama 4 Scout 17B Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.169_999_999_999_999_98,
output: 0.66,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2",
name: "MiniMax M2",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 1.2,
cache_read: 0.03,
cache_write: 0.375,
},
context_window: 205_000,
max_tokens: 205_000,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.1",
name: "MiniMax M2.1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 1.2,
cache_read: 0.03,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.1-lightning",
name: "MiniMax M2.1 Lightning",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 2.4,
cache_read: 0.03,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.5",
name: "MiniMax M2.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 1.2,
cache_read: 0.03,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.5-highspeed",
name: "MiniMax M2.5 High Speed",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 2.4,
cache_read: 0.03,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.7",
name: "Minimax M2.7",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.3,
output: 1.2,
cache_read: 0.06,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "minimax/minimax-m2.7-highspeed",
name: "MiniMax M2.7 High Speed",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.6,
output: 2.4,
cache_read: 0.06,
cache_write: 0.375,
},
context_window: 204_800,
max_tokens: 131_100,
},
ModelProviderDescriptor {
id: "mistral/codestral",
name: "Mistral Codestral",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 0.899_999_999_999_999_9,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "mistral/devstral-2",
name: "Devstral 2",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 2.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "mistral/devstral-small",
name: "Devstral Small 1.1",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.3,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "mistral/devstral-small-2",
name: "Devstral Small 2",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.3,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "mistral/ministral-3b",
name: "Ministral 3B",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.099_999_999_999_999_99,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "mistral/ministral-8b",
name: "Ministral 8B",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.15,
output: 0.15,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "mistral/mistral-medium",
name: "Mistral Medium 3.1",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 2.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "mistral/mistral-small",
name: "Mistral Small",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.3,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 32_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "mistral/pixtral-12b",
name: "Pixtral 12B 2409",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.15,
output: 0.15,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "mistral/pixtral-large",
name: "Pixtral Large",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4000,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2",
name: "Kimi K2 Instruct",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.570_000_000_000_000_1,
output: 2.3,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2-0905",
name: "Kimi K2 0905",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 2.5,
cache_read: 0.3,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2-thinking",
name: "Kimi K2 Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 2.5,
cache_read: 0.15,
cache_write: 0.0,
},
context_window: 262_114,
max_tokens: 262_114,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2-thinking-turbo",
name: "Kimi K2 Thinking Turbo",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.15,
output: 8.0,
cache_read: 0.15,
cache_write: 0.0,
},
context_window: 262_114,
max_tokens: 262_114,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2-turbo",
name: "Kimi K2 Turbo",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.15,
output: 8.0,
cache_read: 0.15,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2.5",
name: "Kimi K2.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.6,
output: 3.0,
cache_read: 0.099_999_999_999_999_99,
cache_write: 0.0,
},
context_window: 262_114,
max_tokens: 262_114,
},
ModelProviderDescriptor {
id: "moonshotai/kimi-k2.6",
name: "Kimi K2.6",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.95,
output: 4.0,
cache_read: 0.16,
cache_write: 0.0,
},
context_window: 262_000,
max_tokens: 262_000,
},
ModelProviderDescriptor {
id: "nvidia/nemotron-nano-12b-v2-vl",
name: "Nvidia Nemotron Nano 12B V2 VL",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 0.6,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "nvidia/nemotron-nano-9b-v2",
name: "Nvidia Nemotron Nano 9B V2",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.06,
output: 0.229_999_999_999_999_98,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "openai/gpt-4-turbo",
name: "GPT-4 Turbo",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 10.0,
output: 30.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 4096,
},
ModelProviderDescriptor {
id: "openai/gpt-4.1",
name: "GPT-4.1",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 8.0,
cache_read: 0.5,
cache_write: 0.0,
},
context_window: 1_047_576,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "openai/gpt-4.1-mini",
name: "GPT-4.1 mini",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 1.599_999_999_999_999_9,
cache_read: 0.099_999_999_999_999_99,
cache_write: 0.0,
},
context_window: 1_047_576,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "openai/gpt-4.1-nano",
name: "GPT-4.1 nano",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.399_999_999_999_999_97,
cache_read: 0.024_999_999_999_999_998,
cache_write: 0.0,
},
context_window: 1_047_576,
max_tokens: 32_768,
},
ModelProviderDescriptor {
id: "openai/gpt-4o",
name: "GPT-4o",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.5,
output: 10.0,
cache_read: 1.25,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-4o-mini",
name: "GPT-4o mini",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.15,
output: 0.6,
cache_read: 0.075,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-5",
name: "GPT-5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5-chat",
name: "GPT 5 Chat",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-5-codex",
name: "GPT-5-Codex",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5-mini",
name: "GPT-5 mini",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.25,
output: 2.0,
cache_read: 0.024_999_999_999_999_998,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5-nano",
name: "GPT-5 nano",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.049_999_999_999_999_996,
output: 0.399_999_999_999_999_97,
cache_read: 0.005,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5-pro",
name: "GPT-5 pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 15.0,
output: 120.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 272_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.1-codex",
name: "GPT-5.1-Codex",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.1-codex-max",
name: "GPT 5.1 Codex Max",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.1-codex-mini",
name: "GPT 5.1 Codex Mini",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.25,
output: 2.0,
cache_read: 0.024_999_999_999_999_998,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.1-instant",
name: "GPT-5.1 Instant",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-5.1-thinking",
name: "GPT 5.1 Thinking",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 10.0,
cache_read: 0.125,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.2",
name: "GPT 5.2",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.75,
output: 14.0,
cache_read: 0.175,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.2-chat",
name: "GPT 5.2 Chat",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.75,
output: 14.0,
cache_read: 0.175,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-5.2-codex",
name: "GPT 5.2 Codex",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.75,
output: 14.0,
cache_read: 0.175,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.2-pro",
name: "GPT 5.2 ",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 21.0,
output: 168.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.3-chat",
name: "GPT-5.3 Chat",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.75,
output: 14.0,
cache_read: 0.175,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 16_384,
},
ModelProviderDescriptor {
id: "openai/gpt-5.3-codex",
name: "GPT 5.3 Codex",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.75,
output: 14.0,
cache_read: 0.175,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.4",
name: "GPT 5.4",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.5,
output: 15.0,
cache_read: 0.25,
cache_write: 0.0,
},
context_window: 1_050_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.4-mini",
name: "GPT 5.4 Mini",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.75,
output: 4.5,
cache_read: 0.075,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.4-nano",
name: "GPT 5.4 Nano",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 1.25,
cache_read: 0.02,
cache_write: 0.0,
},
context_window: 400_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.4-pro",
name: "GPT 5.4 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 30.0,
output: 180.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 1_050_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.5",
name: "GPT 5.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 5.0,
output: 30.0,
cache_read: 0.5,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-5.5-pro",
name: "GPT 5.5 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 30.0,
output: 180.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "openai/gpt-oss-20b",
name: "GPT OSS 120B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.049_999_999_999_999_996,
output: 0.199_999_999_999_999_98,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 8192,
},
ModelProviderDescriptor {
id: "openai/gpt-oss-safeguard-20b",
name: "GPT OSS Safeguard 20B",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.075,
output: 0.3,
cache_read: 0.037,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 65_536,
},
ModelProviderDescriptor {
id: "openai/o1",
name: "o1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 15.0,
output: 60.0,
cache_read: 7.5,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "openai/o3",
name: "o3",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 8.0,
cache_read: 0.5,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "openai/o3-deep-research",
name: "o3-deep-research",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 10.0,
output: 40.0,
cache_read: 2.5,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "openai/o3-mini",
name: "o3-mini",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.1,
output: 4.4,
cache_read: 0.55,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "openai/o3-pro",
name: "o3 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 20.0,
output: 80.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "openai/o4-mini",
name: "o4-mini",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.1,
output: 4.4,
cache_read: 0.275,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 100_000,
},
ModelProviderDescriptor {
id: "perplexity/sonar",
name: "Sonar",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.0,
output: 0.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 127_000,
max_tokens: 8000,
},
ModelProviderDescriptor {
id: "perplexity/sonar-pro",
name: "Sonar Pro",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.0,
output: 0.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 8000,
},
ModelProviderDescriptor {
id: "xai/grok-3",
name: "Grok 3 Beta",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.75,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "xai/grok-3-fast",
name: "Grok 3 Fast Beta",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 5.0,
output: 25.0,
cache_read: 1.25,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "xai/grok-3-mini",
name: "Grok 3 Mini Beta",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.3,
output: 0.5,
cache_read: 0.075,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "xai/grok-3-mini-fast",
name: "Grok 3 Mini Fast Beta",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 4.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 131_072,
max_tokens: 131_072,
},
ModelProviderDescriptor {
id: "xai/grok-4",
name: "Grok 4",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 3.0,
output: 15.0,
cache_read: 0.75,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "xai/grok-4-fast-non-reasoning",
name: "Grok 4 Fast Non-Reasoning",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 0.5,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "xai/grok-4-fast-reasoning",
name: "Grok 4 Fast Reasoning",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 0.5,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.1-fast-non-reasoning",
name: "Grok 4.1 Fast Non-Reasoning",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 0.5,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 30_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.1-fast-reasoning",
name: "Grok 4.1 Fast Reasoning",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 0.5,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 30_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-multi-agent",
name: "Grok 4.20 Multi-Agent",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-multi-agent-beta",
name: "Grok 4.20 Multi Agent Beta",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-non-reasoning",
name: "Grok 4.20 Non-Reasoning",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-non-reasoning-beta",
name: "Grok 4.20 Beta Non-Reasoning",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-reasoning",
name: "Grok 4.20 Reasoning",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.20-reasoning-beta",
name: "Grok 4.20 Beta Reasoning",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 2.0,
output: 6.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 2_000_000,
max_tokens: 2_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-4.3",
name: "Grok 4.3",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.25,
output: 2.5,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 1_000_000,
},
ModelProviderDescriptor {
id: "xai/grok-code-fast-1",
name: "Grok Code Fast 1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 1.5,
cache_read: 0.02,
cache_write: 0.0,
},
context_window: 256_000,
max_tokens: 256_000,
},
ModelProviderDescriptor {
id: "xiaomi/mimo-v2-flash",
name: "MiMo V2 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.099_999_999_999_999_99,
output: 0.3,
cache_read: 0.01,
cache_write: 0.0,
},
context_window: 262_144,
max_tokens: 32_000,
},
ModelProviderDescriptor {
id: "xiaomi/mimo-v2-pro",
name: "MiMo V2 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.0,
output: 3.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_000_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "xiaomi/mimo-v2.5",
name: "MiMo M2.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.399_999_999_999_999_97,
output: 2.0,
cache_read: 0.08,
cache_write: 0.0,
},
context_window: 1_050_000,
max_tokens: 131_100,
},
ModelProviderDescriptor {
id: "xiaomi/mimo-v2.5-pro",
name: "MiMo V2.5 Pro",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.0,
output: 3.0,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 1_050_000,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.5",
name: "GLM-4.5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 2.2,
cache_read: 0.11,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 96_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.5-air",
name: "GLM 4.5 Air",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.199_999_999_999_999_98,
output: 1.1,
cache_read: 0.03,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 96_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.5v",
name: "GLM 4.5V",
reasoning: false,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.6,
output: 1.799_999_999_999_999_8,
cache_read: 0.11,
cache_write: 0.0,
},
context_window: 66_000,
max_tokens: 16_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.6",
name: "GLM 4.6",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.6,
output: 2.2,
cache_read: 0.11,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 96_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.6v",
name: "GLM-4.6V",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.3,
output: 0.899_999_999_999_999_9,
cache_read: 0.049_999_999_999_999_996,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 24_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.6v-flash",
name: "GLM-4.6V-Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 0.0,
output: 0.0,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 128_000,
max_tokens: 24_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.7",
name: "GLM 4.7",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 2.25,
output: 2.75,
cache_read: 2.25,
cache_write: 0.0,
},
context_window: 131_000,
max_tokens: 40_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.7-flash",
name: "GLM 4.7 Flash",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.07,
output: 0.399_999_999_999_999_97,
cache_read: 0.0,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 131_000,
},
ModelProviderDescriptor {
id: "zai/glm-4.7-flashx",
name: "GLM 4.7 FlashX",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 0.06,
output: 0.399_999_999_999_999_97,
cache_read: 0.01,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 128_000,
},
ModelProviderDescriptor {
id: "zai/glm-5",
name: "GLM 5",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.0,
output: 3.199_999_999_999_999_7,
cache_read: 0.199_999_999_999_999_98,
cache_write: 0.0,
},
context_window: 202_800,
max_tokens: 131_100,
},
ModelProviderDescriptor {
id: "zai/glm-5-turbo",
name: "GLM 5 Turbo",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.2,
output: 4.0,
cache_read: 0.24,
cache_write: 0.0,
},
context_window: 202_800,
max_tokens: 131_100,
},
ModelProviderDescriptor {
id: "zai/glm-5.1",
name: "GLM 5.1",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::Text,
cost: ModelUsageCosting {
input: 1.4,
output: 4.4,
cache_read: 0.26,
cache_write: 0.0,
},
context_window: 202_800,
max_tokens: 64_000,
},
ModelProviderDescriptor {
id: "zai/glm-5v-turbo",
name: "GLM 5V Turbo",
reasoning: true,
api: ModelAPI::AnthropicMessages,
provider: ModelProviders::VERCELAIGATEWAY,
base_url: Some("https://ai-gateway.vercel.sh"),
inputs: MessageType::TextAndImages,
cost: ModelUsageCosting {
input: 1.2,
output: 4.0,
cache_read: 0.24,
cache_write: 0.0,
},
context_window: 200_000,
max_tokens: 128_000,
},
];