From f9d688d57766f3c4d72b592cc25ea3881bebf46d Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Sat, 30 Aug 2025 00:21:03 +0200 Subject: [PATCH] refactor(ai): Update LLM implementations to use Model objects - LLM constructors now take Model objects instead of string IDs - Added provider field to AssistantMessage interface - Updated getModel function with type-safe model ID autocomplete - Fixed Anthropic model ID mapping for proper API aliases - Added baseUrl to Model interface for provider-specific endpoints - Updated all tests to use getModel for model instantiation - Removed deprecated models.json in favor of generated models --- packages/ai/scripts/generate-models.ts | 95 +- packages/ai/src/index.ts | 2 +- packages/ai/src/models.generated.ts | 146 +- packages/ai/src/models.json | 8314 ----------------- packages/ai/src/models.ts | 31 +- packages/ai/src/providers/anthropic.ts | 26 +- .../ai/src/providers/{gemini.ts => google.ts} | 21 +- .../ai/src/providers/openai-completions.ts | 40 +- packages/ai/src/providers/openai-responses.ts | 38 +- packages/ai/src/types.ts | 26 +- packages/ai/test/providers.test.ts | 42 +- 11 files changed, 334 insertions(+), 8447 deletions(-) delete mode 100644 packages/ai/src/models.json rename packages/ai/src/providers/{gemini.ts => google.ts} (95%) diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 79d8a103..338f282e 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -1,7 +1,12 @@ #!/usr/bin/env tsx import { readFileSync, writeFileSync } from "fs"; -import { join } from "path"; +import { join, dirname } from "path"; +import { fileURLToPath } from "url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); +const packageRoot = join(__dirname, ".."); interface ModelsDevModel { id: string; @@ -27,6 +32,7 @@ interface NormalizedModel { id: string; name: string; provider: string; + baseUrl?: string; reasoning: boolean; input: ("text" | "image")[]; cost: { @@ -41,7 +47,7 @@ interface NormalizedModel { async function fetchOpenRouterModels(): Promise { try { - console.log("🌐 Fetching models from OpenRouter API..."); + console.log("Fetching models from OpenRouter API..."); const response = await fetch("https://openrouter.ai/api/v1/models"); const data = await response.json(); @@ -65,22 +71,39 @@ async function fetchOpenRouterModels(): Promise { modelKey = model.id.replace("openai/", ""); } else if (model.id.startsWith("anthropic/")) { provider = "anthropic"; - const fullKey = model.id.replace("anthropic/", ""); - // Map to Anthropic's preferred aliases - const anthropicAliases: Record = { - "claude-opus-4.1": "claude-opus-4-1", - "claude-opus-4": "claude-opus-4-0", - "claude-sonnet-4": "claude-sonnet-4-0", - "claude-3.7-sonnet": "claude-3-7-sonnet-latest", - "claude-3.7-sonnet:thinking": "claude-3-7-sonnet-latest:thinking", - "claude-3.5-haiku": "claude-3-5-haiku-latest", - "claude-3.5-haiku-20241022": "claude-3-5-haiku-latest", - "claude-3-haiku": "claude-3-haiku-20240307", - "claude-3-sonnet": "claude-3-sonnet-20240229", - "claude-3-opus": "claude-3-opus-20240229", - "claude-3.5-sonnet": "claude-3-5-sonnet-latest" - }; - modelKey = anthropicAliases[fullKey] || fullKey; + modelKey = model.id.replace("anthropic/", ""); + + // Fix dot notation to dash notation for ALL Anthropic models + modelKey = modelKey.replace(/\./g, "-"); + + // Map version-less models to -latest aliases + if (modelKey === "claude-3-5-haiku") { + modelKey = "claude-3-5-haiku-latest"; + } else if (modelKey === "claude-3-5-sonnet") { + modelKey = "claude-3-5-sonnet-latest"; + } else if (modelKey === "claude-3-7-sonnet") { + modelKey = "claude-3-7-sonnet-latest"; + } else if (modelKey === "claude-3-7-sonnet:thinking") { + modelKey = "claude-3-7-sonnet-latest:thinking"; + } + // Map numbered versions to proper format + else if (modelKey === "claude-opus-4-1") { + modelKey = "claude-opus-4-1"; + } else if (modelKey === "claude-opus-4") { + modelKey = "claude-opus-4-0"; + } else if (modelKey === "claude-sonnet-4") { + modelKey = "claude-sonnet-4-0"; + } + // Map old 3.x models to their specific dates + else if (modelKey === "claude-3-haiku") { + modelKey = "claude-3-haiku-20240307"; + } else if (modelKey === "claude-3-sonnet") { + modelKey = "claude-3-sonnet-20240229"; + } else if (modelKey === "claude-3-opus") { + modelKey = "claude-3-opus-20240229"; + } else { + modelKey = modelKey.replace("\.", "-"); + } } else if (model.id.startsWith("x-ai/")) { provider = "xai"; modelKey = model.id.replace("x-ai/", ""); @@ -107,7 +130,7 @@ async function fetchOpenRouterModels(): Promise { const cacheReadCost = parseFloat(model.pricing?.input_cache_read || "0") * 1_000_000; const cacheWriteCost = parseFloat(model.pricing?.input_cache_write || "0") * 1_000_000; - models.push({ + const normalizedModel: NormalizedModel = { id: modelKey, name: model.name, provider, @@ -121,21 +144,30 @@ async function fetchOpenRouterModels(): Promise { }, contextWindow: model.context_length || 4096, maxTokens: model.top_provider?.max_completion_tokens || 4096, - }); + }; + + // Add baseUrl for providers that need it + if (provider === "xai") { + normalizedModel.baseUrl = "https://api.x.ai/v1"; + } else if (provider === "openrouter") { + normalizedModel.baseUrl = "https://openrouter.ai/api/v1"; + } + + models.push(normalizedModel); } - console.log(`āœ… Fetched ${models.length} tool-capable models from OpenRouter`); + console.log(`Fetched ${models.length} tool-capable models from OpenRouter`); return models; } catch (error) { - console.error("āŒ Failed to fetch OpenRouter models:", error); + console.error("Failed to fetch OpenRouter models:", error); return []; } } function loadModelsDevData(): NormalizedModel[] { try { - console.log("šŸ“ Loading models from models.json..."); - const data = JSON.parse(readFileSync(join(process.cwd(), "src/models.json"), "utf-8")); + console.log("Loading models from models.json..."); + const data = JSON.parse(readFileSync(join(packageRoot, "src/models.json"), "utf-8")); const models: NormalizedModel[] = []; @@ -149,6 +181,7 @@ function loadModelsDevData(): NormalizedModel[] { id: modelId, name: m.name || modelId, provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: m.reasoning === true, input: m.modalities?.input?.includes("image") ? ["text", "image"] : ["text"], cost: { @@ -173,6 +206,7 @@ function loadModelsDevData(): NormalizedModel[] { id: modelId, name: m.name || modelId, provider: "cerebras", + baseUrl: "https://api.cerebras.ai/v1", reasoning: m.reasoning === true, input: m.modalities?.input?.includes("image") ? ["text", "image"] : ["text"], cost: { @@ -187,10 +221,10 @@ function loadModelsDevData(): NormalizedModel[] { } } - console.log(`āœ… Loaded ${models.length} tool-capable models from models.dev`); + console.log(`Loaded ${models.length} tool-capable models from models.dev`); return models; } catch (error) { - console.error("āŒ Failed to load models.dev data:", error); + console.error("Failed to load models.dev data:", error); return []; } } @@ -235,6 +269,9 @@ export const PROVIDERS = { output += `\t\t\t\tid: "${model.id}",\n`; output += `\t\t\t\tname: "${model.name}",\n`; output += `\t\t\t\tprovider: "${model.provider}",\n`; + if (model.baseUrl) { + output += `\t\t\t\tbaseUrl: "${model.baseUrl}",\n`; + } output += `\t\t\t\treasoning: ${model.reasoning},\n`; output += `\t\t\t\tinput: ${JSON.stringify(model.input)},\n`; output += `\t\t\t\tcost: {\n`; @@ -261,14 +298,14 @@ export type ProviderModels = { `; // Write file - writeFileSync(join(process.cwd(), "src/models.generated.ts"), output); - console.log("āœ… Generated src/models.generated.ts"); + writeFileSync(join(packageRoot, "src/models.generated.ts"), output); + console.log("Generated src/models.generated.ts"); // Print statistics const totalModels = allModels.length; const reasoningModels = allModels.filter(m => m.reasoning).length; - console.log(`\nšŸ“Š Model Statistics:`); + console.log(`\nModel Statistics:`); console.log(` Total tool-capable models: ${totalModels}`); console.log(` Reasoning-capable models: ${reasoningModels}`); diff --git a/packages/ai/src/index.ts b/packages/ai/src/index.ts index 77953ce9..8a457b0c 100644 --- a/packages/ai/src/index.ts +++ b/packages/ai/src/index.ts @@ -24,7 +24,7 @@ export { // Export providers export { AnthropicLLM } from "./providers/anthropic.js"; -export { GoogleLLM } from "./providers/gemini.js"; +export { GoogleLLM } from "./providers/google.js"; export { OpenAICompletionsLLM } from "./providers/openai-completions.js"; export { OpenAIResponsesLLM } from "./providers/openai-responses.js"; diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index e54feae8..12955330 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -10,6 +10,7 @@ export const PROVIDERS = { id: "deepseek-r1-distill-llama-70b", name: "DeepSeek R1 Distill Llama 70B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { @@ -25,6 +26,7 @@ export const PROVIDERS = { id: "llama3-70b-8192", name: "Llama 3 70B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -40,6 +42,7 @@ export const PROVIDERS = { id: "llama-3.3-70b-versatile", name: "Llama 3.3 70B Versatile", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -55,6 +58,7 @@ export const PROVIDERS = { id: "llama-3.1-8b-instant", name: "Llama 3.1 8B Instant", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -70,6 +74,7 @@ export const PROVIDERS = { id: "qwen-qwq-32b", name: "Qwen QwQ 32B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { @@ -85,6 +90,7 @@ export const PROVIDERS = { id: "gemma2-9b-it", name: "Gemma 2 9B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -100,6 +106,7 @@ export const PROVIDERS = { id: "mistral-saba-24b", name: "Mistral Saba 24B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -115,6 +122,7 @@ export const PROVIDERS = { id: "llama3-8b-8192", name: "Llama 3 8B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -130,6 +138,7 @@ export const PROVIDERS = { id: "openai/gpt-oss-120b", name: "GPT OSS 120B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { @@ -145,6 +154,7 @@ export const PROVIDERS = { id: "openai/gpt-oss-20b", name: "GPT OSS 20B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { @@ -160,6 +170,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-maverick-17b-128e-instruct", name: "Llama 4 Maverick 17B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text", "image"], cost: { @@ -175,6 +186,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-scout-17b-16e-instruct", name: "Llama 4 Scout 17B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text", "image"], cost: { @@ -190,6 +202,7 @@ export const PROVIDERS = { id: "qwen/qwen3-32b", name: "Qwen3 32B", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { @@ -205,6 +218,7 @@ export const PROVIDERS = { id: "moonshotai/kimi-k2-instruct", name: "Kimi K2 Instruct", provider: "groq", + baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { @@ -224,6 +238,7 @@ export const PROVIDERS = { id: "qwen-3-235b-a22b-instruct-2507", name: "Qwen 3 235B Instruct", provider: "cerebras", + baseUrl: "https://api.cerebras.ai/v1", reasoning: false, input: ["text"], cost: { @@ -239,6 +254,7 @@ export const PROVIDERS = { id: "gpt-oss-120b", name: "GPT OSS 120B", provider: "cerebras", + baseUrl: "https://api.cerebras.ai/v1", reasoning: true, input: ["text"], cost: { @@ -254,6 +270,7 @@ export const PROVIDERS = { id: "qwen-3-coder-480b", name: "Qwen 3 Coder 480B", provider: "cerebras", + baseUrl: "https://api.cerebras.ai/v1", reasoning: false, input: ["text"], cost: { @@ -273,6 +290,7 @@ export const PROVIDERS = { id: "qwen/qwen3-30b-a3b-thinking-2507", name: "Qwen: Qwen3 30B A3B Thinking 2507", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -288,6 +306,7 @@ export const PROVIDERS = { id: "nousresearch/hermes-4-70b", name: "Nous: Hermes 4 70B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -303,6 +322,7 @@ export const PROVIDERS = { id: "nousresearch/hermes-4-405b", name: "Nous: Hermes 4 405B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -318,6 +338,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-chat-v3.1:free", name: "DeepSeek: DeepSeek V3.1 (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -333,6 +354,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-chat-v3.1", name: "DeepSeek: DeepSeek V3.1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -348,6 +370,7 @@ export const PROVIDERS = { id: "mistralai/mistral-medium-3.1", name: "Mistral: Mistral Medium 3.1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -363,6 +386,7 @@ export const PROVIDERS = { id: "z-ai/glm-4.5v", name: "Z.AI: GLM 4.5V", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text", "image"], cost: { @@ -378,6 +402,7 @@ export const PROVIDERS = { id: "ai21/jamba-mini-1.7", name: "AI21: Jamba Mini 1.7", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -393,6 +418,7 @@ export const PROVIDERS = { id: "ai21/jamba-large-1.7", name: "AI21: Jamba Large 1.7", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -408,6 +434,7 @@ export const PROVIDERS = { id: "mistralai/codestral-2508", name: "Mistral: Codestral 2508", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -423,6 +450,7 @@ export const PROVIDERS = { id: "qwen/qwen3-coder-30b-a3b-instruct", name: "Qwen: Qwen3 Coder 30B A3B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -438,6 +466,7 @@ export const PROVIDERS = { id: "qwen/qwen3-30b-a3b-instruct-2507", name: "Qwen: Qwen3 30B A3B Instruct 2507", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -453,6 +482,7 @@ export const PROVIDERS = { id: "z-ai/glm-4.5", name: "Z.AI: GLM 4.5", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -468,6 +498,7 @@ export const PROVIDERS = { id: "z-ai/glm-4.5-air:free", name: "Z.AI: GLM 4.5 Air (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -483,6 +514,7 @@ export const PROVIDERS = { id: "z-ai/glm-4.5-air", name: "Z.AI: GLM 4.5 Air", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -498,6 +530,7 @@ export const PROVIDERS = { id: "qwen/qwen3-235b-a22b-thinking-2507", name: "Qwen: Qwen3 235B A22B Thinking 2507", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -513,6 +546,7 @@ export const PROVIDERS = { id: "z-ai/glm-4-32b", name: "Z.AI: GLM 4 32B ", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -528,6 +562,7 @@ export const PROVIDERS = { id: "qwen/qwen3-coder:free", name: "Qwen: Qwen3 Coder 480B A35B (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -543,6 +578,7 @@ export const PROVIDERS = { id: "qwen/qwen3-coder", name: "Qwen: Qwen3 Coder 480B A35B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -558,6 +594,7 @@ export const PROVIDERS = { id: "qwen/qwen3-235b-a22b-2507", name: "Qwen: Qwen3 235B A22B Instruct 2507", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -573,6 +610,7 @@ export const PROVIDERS = { id: "moonshotai/kimi-k2:free", name: "MoonshotAI: Kimi K2 (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -588,6 +626,7 @@ export const PROVIDERS = { id: "moonshotai/kimi-k2", name: "MoonshotAI: Kimi K2", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -603,6 +642,7 @@ export const PROVIDERS = { id: "mistralai/devstral-medium", name: "Mistral: Devstral Medium", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -618,6 +658,7 @@ export const PROVIDERS = { id: "mistralai/devstral-small", name: "Mistral: Devstral Small 1.1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -633,6 +674,7 @@ export const PROVIDERS = { id: "inception/mercury", name: "Inception: Mercury", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -648,6 +690,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small-3.2-24b-instruct:free", name: "Mistral: Mistral Small 3.2 24B (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -663,6 +706,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small-3.2-24b-instruct", name: "Mistral: Mistral Small 3.2 24B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -678,6 +722,7 @@ export const PROVIDERS = { id: "minimax/minimax-m1", name: "MiniMax: MiniMax M1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -693,6 +738,7 @@ export const PROVIDERS = { id: "mistralai/magistral-small-2506", name: "Mistral: Magistral Small 2506", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -708,6 +754,7 @@ export const PROVIDERS = { id: "mistralai/magistral-medium-2506", name: "Mistral: Magistral Medium 2506", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -723,6 +770,7 @@ export const PROVIDERS = { id: "mistralai/magistral-medium-2506:thinking", name: "Mistral: Magistral Medium 2506 (thinking)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -738,6 +786,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-r1-0528", name: "DeepSeek: R1 0528", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -753,6 +802,7 @@ export const PROVIDERS = { id: "mistralai/devstral-small-2505:free", name: "Mistral: Devstral Small 2505 (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -768,6 +818,7 @@ export const PROVIDERS = { id: "mistralai/devstral-small-2505", name: "Mistral: Devstral Small 2505", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -783,6 +834,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.3-8b-instruct:free", name: "Meta: Llama 3.3 8B Instruct (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -798,6 +850,7 @@ export const PROVIDERS = { id: "mistralai/mistral-medium-3", name: "Mistral: Mistral Medium 3", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -813,6 +866,7 @@ export const PROVIDERS = { id: "arcee-ai/virtuoso-large", name: "Arcee AI: Virtuoso Large", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -828,6 +882,7 @@ export const PROVIDERS = { id: "inception/mercury-coder", name: "Inception: Mercury Coder", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -843,6 +898,7 @@ export const PROVIDERS = { id: "qwen/qwen3-4b:free", name: "Qwen: Qwen3 4B (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -858,6 +914,7 @@ export const PROVIDERS = { id: "qwen/qwen3-30b-a3b", name: "Qwen: Qwen3 30B A3B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -873,6 +930,7 @@ export const PROVIDERS = { id: "qwen/qwen3-14b", name: "Qwen: Qwen3 14B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -888,6 +946,7 @@ export const PROVIDERS = { id: "qwen/qwen3-32b", name: "Qwen: Qwen3 32B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -903,6 +962,7 @@ export const PROVIDERS = { id: "qwen/qwen3-235b-a22b:free", name: "Qwen: Qwen3 235B A22B (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -918,6 +978,7 @@ export const PROVIDERS = { id: "qwen/qwen3-235b-a22b", name: "Qwen: Qwen3 235B A22B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -933,6 +994,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-maverick:free", name: "Meta: Llama 4 Maverick (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -948,6 +1010,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-maverick", name: "Meta: Llama 4 Maverick", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -963,6 +1026,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-scout:free", name: "Meta: Llama 4 Scout (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -978,6 +1042,7 @@ export const PROVIDERS = { id: "meta-llama/llama-4-scout", name: "Meta: Llama 4 Scout", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -993,6 +1058,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-chat-v3-0324:free", name: "DeepSeek: DeepSeek V3 0324 (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1008,6 +1074,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-chat-v3-0324", name: "DeepSeek: DeepSeek V3 0324", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1023,6 +1090,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small-3.1-24b-instruct:free", name: "Mistral: Mistral Small 3.1 24B (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1038,6 +1106,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small-3.1-24b-instruct", name: "Mistral: Mistral Small 3.1 24B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1053,6 +1122,7 @@ export const PROVIDERS = { id: "mistralai/mistral-saba", name: "Mistral: Saba", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1068,6 +1138,7 @@ export const PROVIDERS = { id: "qwen/qwen-turbo", name: "Qwen: Qwen-Turbo", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1083,6 +1154,7 @@ export const PROVIDERS = { id: "qwen/qwen-plus", name: "Qwen: Qwen-Plus", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1098,6 +1170,7 @@ export const PROVIDERS = { id: "qwen/qwen-max", name: "Qwen: Qwen-Max ", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1113,6 +1186,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small-24b-instruct-2501", name: "Mistral: Mistral Small 3", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1128,6 +1202,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-r1-distill-llama-70b", name: "DeepSeek: R1 Distill Llama 70B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -1143,6 +1218,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-r1", name: "DeepSeek: R1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { @@ -1158,6 +1234,7 @@ export const PROVIDERS = { id: "mistralai/codestral-2501", name: "Mistral: Codestral 2501", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1173,6 +1250,7 @@ export const PROVIDERS = { id: "deepseek/deepseek-chat", name: "DeepSeek: DeepSeek V3", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1188,6 +1266,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.3-70b-instruct:free", name: "Meta: Llama 3.3 70B Instruct (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1203,6 +1282,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.3-70b-instruct", name: "Meta: Llama 3.3 70B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1218,6 +1298,7 @@ export const PROVIDERS = { id: "amazon/nova-lite-v1", name: "Amazon: Nova Lite 1.0", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1233,6 +1314,7 @@ export const PROVIDERS = { id: "amazon/nova-micro-v1", name: "Amazon: Nova Micro 1.0", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1248,6 +1330,7 @@ export const PROVIDERS = { id: "amazon/nova-pro-v1", name: "Amazon: Nova Pro 1.0", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1263,6 +1346,7 @@ export const PROVIDERS = { id: "mistralai/mistral-large-2411", name: "Mistral Large 2411", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1278,6 +1362,7 @@ export const PROVIDERS = { id: "mistralai/mistral-large-2407", name: "Mistral Large 2407", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1293,6 +1378,7 @@ export const PROVIDERS = { id: "mistralai/pixtral-large-2411", name: "Mistral: Pixtral Large 2411", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1308,6 +1394,7 @@ export const PROVIDERS = { id: "thedrummer/unslopnemo-12b", name: "TheDrummer: UnslopNemo 12B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1323,6 +1410,7 @@ export const PROVIDERS = { id: "mistralai/ministral-8b", name: "Mistral: Ministral 8B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1338,6 +1426,7 @@ export const PROVIDERS = { id: "nvidia/llama-3.1-nemotron-70b-instruct", name: "NVIDIA: Llama 3.1 Nemotron 70B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1353,6 +1442,7 @@ export const PROVIDERS = { id: "thedrummer/rocinante-12b", name: "TheDrummer: Rocinante 12B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1368,6 +1458,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.2-3b-instruct", name: "Meta: Llama 3.2 3B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1383,6 +1474,7 @@ export const PROVIDERS = { id: "qwen/qwen-2.5-72b-instruct", name: "Qwen2.5 72B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1398,6 +1490,7 @@ export const PROVIDERS = { id: "mistralai/pixtral-12b", name: "Mistral: Pixtral 12B", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { @@ -1413,6 +1506,7 @@ export const PROVIDERS = { id: "cohere/command-r-plus-08-2024", name: "Cohere: Command R+ (08-2024)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1428,6 +1522,7 @@ export const PROVIDERS = { id: "cohere/command-r-08-2024", name: "Cohere: Command R (08-2024)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1443,6 +1538,7 @@ export const PROVIDERS = { id: "microsoft/phi-3.5-mini-128k-instruct", name: "Microsoft: Phi-3.5 Mini 128K Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1458,6 +1554,7 @@ export const PROVIDERS = { id: "nousresearch/hermes-3-llama-3.1-70b", name: "Nous: Hermes 3 70B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1473,6 +1570,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.1-8b-instruct", name: "Meta: Llama 3.1 8B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1488,6 +1586,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.1-70b-instruct", name: "Meta: Llama 3.1 70B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1503,6 +1602,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3.1-405b-instruct", name: "Meta: Llama 3.1 405B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1518,6 +1618,7 @@ export const PROVIDERS = { id: "mistralai/mistral-nemo", name: "Mistral: Mistral Nemo", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1533,6 +1634,7 @@ export const PROVIDERS = { id: "mistralai/mistral-7b-instruct-v0.3", name: "Mistral: Mistral 7B Instruct v0.3", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1548,6 +1650,7 @@ export const PROVIDERS = { id: "mistralai/mistral-7b-instruct:free", name: "Mistral: Mistral 7B Instruct (free)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1563,6 +1666,7 @@ export const PROVIDERS = { id: "mistralai/mistral-7b-instruct", name: "Mistral: Mistral 7B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1578,6 +1682,7 @@ export const PROVIDERS = { id: "microsoft/phi-3-mini-128k-instruct", name: "Microsoft: Phi-3 Mini 128K Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1593,6 +1698,7 @@ export const PROVIDERS = { id: "microsoft/phi-3-medium-128k-instruct", name: "Microsoft: Phi-3 Medium 128K Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1608,6 +1714,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3-70b-instruct", name: "Meta: Llama 3 70B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1623,6 +1730,7 @@ export const PROVIDERS = { id: "meta-llama/llama-3-8b-instruct", name: "Meta: Llama 3 8B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1638,6 +1746,7 @@ export const PROVIDERS = { id: "mistralai/mixtral-8x22b-instruct", name: "Mistral: Mixtral 8x22B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1653,6 +1762,7 @@ export const PROVIDERS = { id: "cohere/command-r-plus", name: "Cohere: Command R+", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1668,6 +1778,7 @@ export const PROVIDERS = { id: "cohere/command-r-plus-04-2024", name: "Cohere: Command R+ (04-2024)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1683,6 +1794,7 @@ export const PROVIDERS = { id: "cohere/command-r", name: "Cohere: Command R", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1698,6 +1810,7 @@ export const PROVIDERS = { id: "cohere/command-r-03-2024", name: "Cohere: Command R (03-2024)", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1713,6 +1826,7 @@ export const PROVIDERS = { id: "mistralai/mistral-large", name: "Mistral Large", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1728,6 +1842,7 @@ export const PROVIDERS = { id: "mistralai/mistral-tiny", name: "Mistral Tiny", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1743,6 +1858,7 @@ export const PROVIDERS = { id: "mistralai/mistral-small", name: "Mistral Small", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1758,6 +1874,7 @@ export const PROVIDERS = { id: "mistralai/mixtral-8x7b-instruct", name: "Mistral: Mixtral 8x7B Instruct", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1773,6 +1890,7 @@ export const PROVIDERS = { id: "mistralai/mistral-7b-instruct-v0.1", name: "Mistral: Mistral 7B Instruct v0.1", provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { @@ -1792,6 +1910,7 @@ export const PROVIDERS = { id: "grok-code-fast-1", name: "xAI: Grok Code Fast 1", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { @@ -1807,6 +1926,7 @@ export const PROVIDERS = { id: "grok-4", name: "xAI: Grok 4", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text", "image"], cost: { @@ -1822,6 +1942,7 @@ export const PROVIDERS = { id: "grok-3-mini", name: "xAI: Grok 3 Mini", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { @@ -1837,6 +1958,7 @@ export const PROVIDERS = { id: "grok-3", name: "xAI: Grok 3", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { @@ -1852,6 +1974,7 @@ export const PROVIDERS = { id: "grok-3-mini-beta", name: "xAI: Grok 3 Mini Beta", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { @@ -1867,6 +1990,7 @@ export const PROVIDERS = { id: "grok-3-beta", name: "xAI: Grok 3 Beta", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { @@ -1882,6 +2006,7 @@ export const PROVIDERS = { id: "grok-2-1212", name: "xAI: Grok 2 1212", provider: "xai", + baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { @@ -2456,9 +2581,24 @@ export const PROVIDERS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model, + "claude-3-5-haiku-20241022": { + id: "claude-3-5-haiku-20241022", + name: "Anthropic: Claude 3.5 Haiku (2024-10-22)", + provider: "anthropic", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.7999999999999999, + output: 4, + cacheRead: 0.08, + cacheWrite: 1, + }, + contextWindow: 200000, + maxTokens: 8192, + } satisfies Model, "claude-3-5-haiku-latest": { id: "claude-3-5-haiku-latest", - name: "Anthropic: Claude 3.5 Haiku (2024-10-22)", + name: "Anthropic: Claude 3.5 Haiku", provider: "anthropic", reasoning: false, input: ["text", "image"], @@ -2486,8 +2626,8 @@ export const PROVIDERS = { contextWindow: 200000, maxTokens: 8192, } satisfies Model, - "claude-3.5-sonnet-20240620": { - id: "claude-3.5-sonnet-20240620", + "claude-3-5-sonnet-20240620": { + id: "claude-3-5-sonnet-20240620", name: "Anthropic: Claude 3.5 Sonnet (2024-06-20)", provider: "anthropic", reasoning: false, diff --git a/packages/ai/src/models.json b/packages/ai/src/models.json deleted file mode 100644 index a5fdd4d8..00000000 --- a/packages/ai/src/models.json +++ /dev/null @@ -1,8314 +0,0 @@ -{ - "xai": { - "id": "xai", - "env": ["XAI_API_KEY"], - "npm": "@ai-sdk/xai", - "name": "xAI", - "doc": "https://docs.x.ai/docs/models", - "models": { - "grok-3-mini-latest": { - "id": "grok-3-mini-latest", - "name": "Grok 3 Mini Latest", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-vision-latest": { - "id": "grok-2-vision-latest", - "name": "Grok 2 Vision Latest", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-2-vision": { - "id": "grok-2-vision", - "name": "Grok 2 Vision", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-2": { - "id": "grok-2", - "name": "Grok 2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini-fast": { - "id": "grok-3-mini-fast", - "name": "Grok 3 Mini Fast", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "cache_read": 0.15, "cache_write": 4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-fast": { - "id": "grok-3-fast", - "name": "Grok 3 Fast", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25, "cache_write": 25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-vision-1212": { - "id": "grok-2-vision-1212", - "name": "Grok 2 Vision (1212)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-3-fast-latest": { - "id": "grok-3-fast-latest", - "name": "Grok 3 Fast Latest", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25, "cache_write": 25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini": { - "id": "grok-3-mini", - "name": "Grok 3 Mini", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-latest": { - "id": "grok-2-latest", - "name": "Grok 2 Latest", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-beta": { - "id": "grok-beta", - "name": "Grok Beta", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15, "cache_read": 5, "cache_write": 15 }, - "limit": { "context": 131072, "output": 4096 } - }, - "grok-vision-beta": { - "id": "grok-vision-beta", - "name": "Grok Vision Beta", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15, "cache_read": 5, "cache_write": 15 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-3-mini-fast-latest": { - "id": "grok-3-mini-fast-latest", - "name": "Grok 3 Mini Fast Latest", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "cache_read": 0.15, "cache_write": 4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-1212": { - "id": "grok-2-1212", - "name": "Grok 2 (1212)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-12-12", - "last_updated": "2024-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3": { - "id": "grok-3", - "name": "Grok 3", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-latest": { - "id": "grok-3-latest", - "name": "Grok 3 Latest", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-4": { - "id": "grok-4", - "name": "Grok 4", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 256000, "output": 64000 } - } - } - }, - "google-vertex-anthropic": { - "id": "google-vertex-anthropic", - "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], - "npm": "@ai-sdk/google-vertex", - "name": "Vertex", - "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude", - "models": { - "claude-opus-4@20250514": { - "id": "claude-opus-4@20250514", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-sonnet-4@20250514": { - "id": "claude-sonnet-4@20250514", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-5-haiku@20241022": { - "id": "claude-3-5-haiku@20241022", - "name": "Claude Haiku 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-3-7-sonnet@20250219": { - "id": "claude-3-7-sonnet@20250219", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-1@20250805": { - "id": "claude-opus-4-1@20250805", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-3-5-sonnet@20241022": { - "id": "claude-3-5-sonnet@20241022", - "name": "Claude Sonnet 3.5 v2", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - } - } - }, - "llama": { - "id": "llama", - "env": ["LLAMA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.llama.com/compat/v1/", - "name": "Llama", - "doc": "https://llama.developer.meta.com/docs/models", - "models": { - "llama-4-maverick-17b-128e-instruct-fp8": { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-4-scout-17b-16e-instruct-fp8": { - "id": "llama-4-scout-17b-16e-instruct-fp8", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cerebras-llama-4-maverick-17b-128e-instruct": { - "id": "cerebras-llama-4-maverick-17b-128e-instruct", - "name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cerebras-llama-4-scout-17b-16e-instruct": { - "id": "cerebras-llama-4-scout-17b-16e-instruct", - "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-3.3-8b-instruct": { - "id": "llama-3.3-8b-instruct", - "name": "Llama-3.3-8B-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "groq-llama-4-maverick-17b-128e-instruct": { - "id": "groq-llama-4-maverick-17b-128e-instruct", - "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - } - } - }, - "github-models": { - "id": "github-models", - "env": ["GITHUB_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://models.github.ai/inference", - "name": "GitHub Models", - "doc": "https://docs.github.com/en/github-models", - "models": { - "xai/grok-3-mini": { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "xai/grok-3": { - "id": "xai/grok-3", - "name": "Grok 3", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/o1-preview": { - "id": "openai/o1-preview", - "name": "OpenAI o1-preview", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1-nano", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o1-mini": { - "id": "openai/o1-mini", - "name": "OpenAI o1-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 65536 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1-mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "OpenAI o3", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "OpenAI o1", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "OpenAI o3-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "OpenAI o4-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "mistral-ai/mistral-small-2503": { - "id": "mistral-ai/mistral-small-2503", - "name": "Mistral Small 3.1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/mistral-large-2411": { - "id": "mistral-ai/mistral-large-2411", - "name": "Mistral Large 24.11", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/ministral-3b": { - "id": "mistral-ai/ministral-3b", - "name": "Ministral 3B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistral-ai/mistral-medium-2505": { - "id": "mistral-ai/mistral-medium-2505", - "name": "Mistral Medium 3 (25.05)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/mistral-nemo": { - "id": "mistral-ai/mistral-nemo", - "name": "Mistral Nemo", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistral-ai/codestral-2501": { - "id": "mistral-ai/codestral-2501", - "name": "Codestral 25.01", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32000, "output": 8192 } - }, - "core42/jais-30b-chat": { - "id": "core42/jais-30b-chat", - "name": "JAIS 30b Chat", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-03", - "release_date": "2023-08-30", - "last_updated": "2023-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "cohere/cohere-command-r-plus": { - "id": "cohere/cohere-command-r-plus", - "name": "Cohere Command R+", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-04-04", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-a": { - "id": "cohere/cohere-command-a", - "name": "Cohere Command A", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r-plus-08-2024": { - "id": "cohere/cohere-command-r-plus-08-2024", - "name": "Cohere Command R+ 08-2024", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r": { - "id": "cohere/cohere-command-r", - "name": "Cohere Command R", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-03-11", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r-08-2024": { - "id": "cohere/cohere-command-r-08-2024", - "name": "Cohere Command R 08-2024", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "deepseek/deepseek-v3-0324": { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek/deepseek-r1-0528": { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "deepseek/deepseek-r1": { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "ai21-labs/ai21-jamba-1.5-large": { - "id": "ai21-labs/ai21-jamba-1.5-large", - "name": "AI21 Jamba 1.5 Large", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 4096 } - }, - "ai21-labs/ai21-jamba-1.5-mini": { - "id": "ai21-labs/ai21-jamba-1.5-mini", - "name": "AI21 Jamba 1.5 Mini", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 4096 } - }, - "meta/llama-3.2-90b-vision-instruct": { - "id": "meta/llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/meta-llama-3-8b-instruct": { - "id": "meta/meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "meta/llama-4-maverick-17b-128e-instruct-fp8": { - "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/meta-llama-3-70b-instruct": { - "id": "meta/meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "meta/meta-llama-3.1-405b-instruct": { - "id": "meta/meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/meta-llama-3.1-8b-instruct": { - "id": "meta/meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/meta-llama-3.1-70b-instruct": { - "id": "meta/meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/llama-3.2-11b-vision-instruct": { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/llama-3.3-70b-instruct": { - "id": "meta/llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/llama-4-scout-17b-16e-instruct": { - "id": "meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "microsoft/phi-3-medium-128k-instruct": { - "id": "microsoft/phi-3-medium-128k-instruct", - "name": "Phi-3-medium instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/mai-ds-r1": { - "id": "microsoft/mai-ds-r1", - "name": "MAI-DS-R1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "microsoft/phi-3.5-vision-instruct": { - "id": "microsoft/phi-3.5-vision-instruct", - "name": "Phi-3.5-vision instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-reasoning": { - "id": "microsoft/phi-4-reasoning", - "name": "Phi-4-Reasoning", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-small-128k-instruct": { - "id": "microsoft/phi-3-small-128k-instruct", - "name": "Phi-3-small instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-small-8k-instruct": { - "id": "microsoft/phi-3-small-8k-instruct", - "name": "Phi-3-small instruct (8k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "microsoft/phi-4": { - "id": "microsoft/phi-4", - "name": "Phi-4", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16000, "output": 4096 } - }, - "microsoft/phi-4-mini-reasoning": { - "id": "microsoft/phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-mini-instruct": { - "id": "microsoft/phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3.5-mini-instruct": { - "id": "microsoft/phi-3.5-mini-instruct", - "name": "Phi-3.5-mini instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-multimodal-instruct": { - "id": "microsoft/phi-4-multimodal-instruct", - "name": "Phi-4-multimodal-instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-mini-128k-instruct": { - "id": "microsoft/phi-3-mini-128k-instruct", - "name": "Phi-3-mini instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-medium-4k-instruct": { - "id": "microsoft/phi-3-medium-4k-instruct", - "name": "Phi-3-medium instruct (4k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 1024 } - }, - "microsoft/phi-3-mini-4k-instruct": { - "id": "microsoft/phi-3-mini-4k-instruct", - "name": "Phi-3-mini instruct (4k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 1024 } - }, - "microsoft/phi-3.5-moe-instruct": { - "id": "microsoft/phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE instruct (128k)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - } - } - }, - "deepinfra": { - "id": "deepinfra", - "env": ["DEEPINFRA_API_KEY"], - "npm": "@ai-sdk/deepinfra", - "name": "Deep Infra", - "doc": "https://deepinfra.com/models", - "models": { - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 98304 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", - "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.6 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi K2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - } - } - }, - "moonshotai-cn": { - "id": "moonshotai-cn", - "env": ["MOONSHOT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.moonshot.cn/v1", - "name": "Moonshot AI (China)", - "doc": "https://platform.moonshot.cn/docs/api/chat", - "models": { - "kimi-k2-turbo-preview": { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, - "limit": { "context": 131072, "output": 16384 } - }, - "kimi-k2-0711-preview": { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 16384 } - } - } - }, - "zai": { - "id": "zai", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.z.ai/api/paas/v4", - "name": "Z.AI", - "doc": "https://docs.z.ai/guides/overview/pricing", - "models": { - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM 4.5V", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - } - } - }, - "anthropic": { - "id": "anthropic", - "env": ["ANTHROPIC_API_KEY"], - "npm": "@ai-sdk/anthropic", - "name": "Anthropic", - "doc": "https://docs.anthropic.com/en/docs/about-claude/models", - "models": { - "claude-3-7-sonnet-20250219": { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-5-haiku-20241022": { - "id": "claude-3-5-haiku-20241022", - "name": "Claude Haiku 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-3-opus-20240229": { - "id": "claude-3-opus-20240229", - "name": "Claude Opus 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-3-5-sonnet-20240620": { - "id": "claude-3-5-sonnet-20240620", - "name": "Claude Sonnet 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04-30", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-3-haiku-20240307": { - "id": "claude-3-haiku-20240307", - "name": "Claude Haiku 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-sonnet-20240229": { - "id": "claude-3-sonnet-20240229", - "name": "Claude Sonnet 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-3-5-sonnet-20241022": { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude Sonnet 3.5 v2", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - } - } - }, - "openai": { - "id": "openai", - "env": ["OPENAI_API_KEY"], - "npm": "@ai-sdk/openai", - "name": "OpenAI", - "doc": "https://platform.openai.com/docs/models", - "models": { - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8192, "output": 8192 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o1-preview": { - "id": "o1-preview", - "name": "o1-preview", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "codex-mini-latest": { - "id": "codex-mini-latest", - "name": "Codex Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-3.5-turbo": { - "id": "gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5, "cache_read": 1.25 }, - "limit": { "context": 16385, "output": 4096 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-5-chat-latest": { - "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o4-mini-deep-research": { - "id": "o4-mini-deep-research", - "name": "o4-mini-deep-research", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o1-mini": { - "id": "o1-mini", - "name": "o1-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "o3": { - "id": "o3", - "name": "o3", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o1-pro": { - "id": "o1-pro", - "name": "o1-pro", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2025-03-19", - "last_updated": "2025-03-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 150, "output": 600 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3-deep-research": { - "id": "o3-deep-research", - "name": "o3-deep-research", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 40, "cache_read": 2.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3-pro": { - "id": "o3-pro", - "name": "o3-pro", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - } - } - }, - "openrouter": { - "id": "openrouter", - "env": ["OPENROUTER_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://openrouter.ai/api/v1", - "name": "OpenRouter", - "doc": "https://openrouter.ai/models", - "models": { - "rekaai/reka-flash-3": { - "id": "rekaai/reka-flash-3", - "name": "Reka Flash 3", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "cognitivecomputations/dolphin3.0-mistral-24b": { - "id": "cognitivecomputations/dolphin3.0-mistral-24b", - "name": "Dolphin3.0 Mistral 24B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-02-13", - "last_updated": "2025-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "cognitivecomputations/dolphin3.0-r1-mistral-24b": { - "id": "cognitivecomputations/dolphin3.0-r1-mistral-24b", - "name": "Dolphin3.0 R1 Mistral 24B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-02-13", - "last_updated": "2025-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "tngtech/deepseek-r1t2-chimera:free": { - "id": "tngtech/deepseek-r1t2-chimera:free", - "name": "DeepSeek R1T2 Chimera (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2025-07", - "release_date": "2025-07-08", - "last_updated": "2025-07-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 163840 } - }, - "x-ai/grok-3-beta": { - "id": "x-ai/grok-3-beta", - "name": "Grok 3 Beta", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3-mini": { - "id": "x-ai/grok-3-mini", - "name": "Grok 3 Mini", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3-mini-beta": { - "id": "x-ai/grok-3-mini-beta", - "name": "Grok 3 Mini Beta", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3": { - "id": "x-ai/grok-3", - "name": "Grok 3", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-4": { - "id": "x-ai/grok-4", - "name": "Grok 4", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 256000, "output": 64000 } - }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-01", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 128000 } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude Haiku 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "featherless/qwerky-72b": { - "id": "featherless/qwerky-72b", - "name": "Qwerky 72B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-03-20", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o-mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat (latest)", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4 Mini", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "thudm/glm-z1-32b:free": { - "id": "thudm/glm-z1-32b:free", - "name": "GLM Z1 32B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "openrouter/cypher-alpha:free": { - "id": "openrouter/cypher-alpha:free", - "name": "Cypher Alpha (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1000000, "output": 1000000 } - }, - "openrouter/horizon-beta": { - "id": "openrouter/horizon-beta", - "name": "Horizon Beta", - "attachment": true, - "reasoning": false, - "temperature": false, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 128000 } - }, - "openrouter/horizon-alpha": { - "id": "openrouter/horizon-alpha", - "name": "Horizon Alpha", - "attachment": true, - "reasoning": false, - "temperature": false, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 128000 } - }, - "google/gemma-3n-e4b-it": { - "id": "google/gemma-3n-e4b-it", - "name": "Gemma 3n E4B IT", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-3n-e4b-it:free": { - "id": "google/gemma-3n-e4b-it:free", - "name": "Gemma 3n 4B (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "google/gemini-2.0-flash-exp:free": { - "id": "google/gemini-2.0-flash-exp:free", - "name": "Gemini 2.0 Flash Experimental (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1048576, "output": 1048576 } - }, - "google/gemma-2-9b-it:free": { - "id": "google/gemma-2-9b-it:free", - "name": "Gemma 2 9B (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-06-28", - "last_updated": "2024-06-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "google/gemma-3-12b-it": { - "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B IT", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } - }, - "google/gemini-2.0-flash-001": { - "id": "google/gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-07-17", - "last_updated": "2025-07-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro-preview-06-05": { - "id": "google/gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro-preview-05-06": { - "id": "google/gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "meta-llama/llama-4-scout:free": { - "id": "meta-llama/llama-4-scout:free", - "name": "Llama 4 Scout (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 64000, "output": 64000 } - }, - "meta-llama/llama-3.3-70b-instruct:free": { - "id": "meta-llama/llama-3.3-70b-instruct:free", - "name": "Llama 3.3 70B Instruct (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 65536 } - }, - "meta-llama/llama-3.2-11b-vision-instruct": { - "id": "meta-llama/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "z-ai/glm-4.5-air:free": { - "id": "z-ai/glm-4.5-air:free", - "name": "GLM 4.5 Air (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 96000 } - }, - "z-ai/glm-4.5": { - "id": "z-ai/glm-4.5", - "name": "GLM 4.5", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 96000 } - }, - "z-ai/glm-4.5v": { - "id": "z-ai/glm-4.5v", - "name": "GLM 4.5V", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "z-ai/glm-4.5-air": { - "id": "z-ai/glm-4.5-air", - "name": "GLM 4.5 Air", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 128000, "output": 96000 } - }, - "qwen/qwen3-30b-a3b:free": { - "id": "qwen/qwen3-30b-a3b:free", - "name": "Qwen3 30B A3B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-235b-a22b:free": { - "id": "qwen/qwen3-235b-a22b:free", - "name": "Qwen3 235B A22B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen/qwq-32b:free": { - "id": "qwen/qwq-32b:free", - "name": "QwQ 32B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "qwen/qwen-2.5-coder-32b-instruct": { - "id": "qwen/qwen-2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2024-11-11", - "last_updated": "2024-11-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen2.5-vl-72b-instruct": { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen3-14b:free": { - "id": "qwen/qwen3-14b:free", - "name": "Qwen3 14B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-32b:free": { - "id": "qwen/qwen3-32b:free", - "name": "Qwen3 32B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-coder": { - "id": "qwen/qwen3-coder", - "name": "Qwen3 Coder", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "qwen/qwen3-coder:free": { - "id": "qwen/qwen3-coder:free", - "name": "Qwen3 Coder 480B A35B Instruct (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 66536 } - }, - "qwen/qwen3-235b-a22b-07-25:free": { - "id": "qwen/qwen3-235b-a22b-07-25:free", - "name": "Qwen3 235B A22B Instruct 2507 (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } - }, - "qwen/qwen3-8b:free": { - "id": "qwen/qwen3-8b:free", - "name": "Qwen3 8B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-235b-a22b-thinking-2507": { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.078, "output": 0.312 }, - "limit": { "context": 262144, "output": 81920 } - }, - "qwen/qwen2.5-vl-72b-instruct:free": { - "id": "qwen/qwen2.5-vl-72b-instruct:free", - "name": "Qwen2.5 VL 72B Instruct (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-02", - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "qwen/qwen3-235b-a22b-07-25": { - "id": "qwen/qwen3-235b-a22b-07-25", - "name": "Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.85 }, - "limit": { "context": 262144, "output": 131072 } - }, - "qwen/qwen3-30b-a3b-instruct-2507": { - "id": "qwen/qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "output": 33000 } - }, - "qwen/qwen2.5-vl-32b-instruct:free": { - "id": "qwen/qwen2.5-vl-32b-instruct:free", - "name": "Qwen2.5 VL 32B Instruct (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-r1-0528-qwen3-8b:free": { - "id": "deepseek/deepseek-r1-0528-qwen3-8b:free", - "name": "Deepseek R1 0528 Qwen3 8B (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-29", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-01-23", - "last_updated": "2025-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-r1:free": { - "id": "deepseek/deepseek-r1:free", - "name": "R1 (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-chat-v3.1": { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek-V3.1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-r1-0528:free": { - "id": "deepseek/deepseek-r1-0528:free", - "name": "R1 0528 (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-r1-distill-qwen-14b": { - "id": "deepseek/deepseek-r1-distill-qwen-14b", - "name": "DeepSeek R1 Distill Qwen 14B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-01-29", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 64000, "output": 8192 } - }, - "deepseek/deepseek-v3-base:free": { - "id": "deepseek/deepseek-v3-base:free", - "name": "DeepSeek V3 Base (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2025-03", - "release_date": "2025-03-29", - "last_updated": "2025-03-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-chat-v3-0324": { - "id": "deepseek/deepseek-chat-v3-0324", - "name": "DeepSeek V3 0324", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16384, "output": 8192 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "moonshotai/kimi-k2:free": { - "id": "moonshotai/kimi-k2:free", - "name": "Kimi K2 (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32800, "output": 32800 } - }, - "moonshotai/kimi-dev-72b:free": { - "id": "moonshotai/kimi-dev-72b:free", - "name": "Kimi Dev 72b (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "sarvamai/sarvam-m:free": { - "id": "sarvamai/sarvam-m:free", - "name": "Sarvam-M (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-25", - "last_updated": "2025-05-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "microsoft/mai-ds-r1:free": { - "id": "microsoft/mai-ds-r1:free", - "name": "MAI DS R1 (free)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-21", - "last_updated": "2025-04-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 163840 } - }, - "mistralai/mistral-nemo:free": { - "id": "mistralai/mistral-nemo:free", - "name": "Mistral Nemo (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2024-07-19", - "last_updated": "2024-07-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/mistral-medium-3.1": { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral Medium 3.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/codestral-2508": { - "id": "mistralai/codestral-2508", - "name": "Codestral 2508", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistralai/devstral-small-2507": { - "id": "mistralai/devstral-small-2507", - "name": "Devstral Small 1.1", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/mistral-small-3.1-24b-instruct": { - "id": "mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral Small 3.1 24B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistralai/devstral-medium-2507": { - "id": "mistralai/devstral-medium-2507", - "name": "Devstral Medium", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/mistral-small-3.2-24b-instruct:free": { - "id": "mistralai/mistral-small-3.2-24b-instruct:free", - "name": "Mistral Small 3.2 24B (free)", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 96000 } - }, - "mistralai/devstral-small-2505:free": { - "id": "mistralai/devstral-small-2505:free", - "name": "Devstral Small 2505 (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistralai/mistral-medium-3": { - "id": "mistralai/mistral-medium-3", - "name": "Mistral Medium 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/mistral-7b-instruct:free": { - "id": "mistralai/mistral-7b-instruct:free", - "name": "Mistral 7B Instruct (free)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-05-27", - "last_updated": "2024-05-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistralai/devstral-small-2505": { - "id": "mistralai/devstral-small-2505", - "name": "Devstral Small", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.12 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistralai/mistral-small-3.2-24b-instruct": { - "id": "mistralai/mistral-small-3.2-24b-instruct", - "name": "Mistral Small 3.2 24B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } - }, - "nousresearch/deephermes-3-llama-3-8b-preview": { - "id": "nousresearch/deephermes-3-llama-3-8b-preview", - "name": "DeepHermes 3 Llama 3 8B Preview", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-02-28", - "last_updated": "2025-02-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - } - } - }, - "google": { - "id": "google", - "env": ["GOOGLE_GENERATIVE_AI_API_KEY"], - "npm": "@ai-sdk/google", - "name": "Google", - "doc": "https://ai.google.dev/gemini-api/docs/pricing", - "models": { - "gemini-1.5-pro": { - "id": "gemini-1.5-pro", - "name": "Gemini 1.5 Pro", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-02-15", - "last_updated": "2024-02-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 5, "cache_read": 0.3125 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-1.5-flash": { - "id": "gemini-1.5-flash", - "name": "Gemini 1.5 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-05-14", - "last_updated": "2024-05-14", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3, "cache_read": 0.01875 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash Preview 05-20", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-1.5-flash-8b": { - "id": "gemini-1.5-flash-8b", - "name": "Gemini 1.5 Flash-8B", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-10-03", - "last_updated": "2024-10-03", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0375, "output": 0.15, "cache_read": 0.01 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-2.5-pro-preview-05-06": { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-04-17": { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview 04-17", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview 06-17", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 65536, "output": 65536 } - } - } - }, - "amazon-bedrock": { - "id": "amazon-bedrock", - "env": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION"], - "npm": "@ai-sdk/amazon-bedrock", - "name": "Amazon Bedrock", - "doc": "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html", - "models": { - "anthropic.claude-3-5-haiku-20241022-v1:0": { - "id": "anthropic.claude-3-5-haiku-20241022-v1:0", - "name": "Claude Haiku 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic.claude-3-7-sonnet-20250219-v1:0": { - "id": "anthropic.claude-3-7-sonnet-20250219-v1:0", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "amazon.nova-pro-v1:0": { - "id": "amazon.nova-pro-v1:0", - "name": "Nova Pro", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 300000, "output": 8192 } - }, - "meta.llama3-2-1b-instruct-v1:0": { - "id": "meta.llama3-2-1b-instruct-v1:0", - "name": "Llama 3.2 1B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131000, "output": 4096 } - }, - "cohere.command-light-text-v14": { - "id": "cohere.command-light-text-v14", - "name": "Command Light", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-08", - "release_date": "2023-11-01", - "last_updated": "2023-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.6 }, - "limit": { "context": 4096, "output": 4096 } - }, - "meta.llama3-2-3b-instruct-v1:0": { - "id": "meta.llama3-2-3b-instruct-v1:0", - "name": "Llama 3.2 3B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 131000, "output": 4096 } - }, - "anthropic.claude-v2:1": { - "id": "anthropic.claude-v2:1", - "name": "Claude 2.1", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-08", - "release_date": "2023-11-21", - "last_updated": "2023-11-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 8, "output": 24 }, - "limit": { "context": 200000, "output": 4096 } - }, - "ai21.jamba-1-5-mini-v1:0": { - "id": "ai21.jamba-1-5-mini-v1:0", - "name": "Jamba 1.5 Mini", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.4 }, - "limit": { "context": 256000, "output": 4096 } - }, - "anthropic.claude-opus-4-20250514-v1:0": { - "id": "anthropic.claude-opus-4-20250514-v1:0", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "meta.llama4-maverick-17b-instruct-v1:0": { - "id": "meta.llama4-maverick-17b-instruct-v1:0", - "name": "Llama 4 Maverick 17B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.24, "output": 0.97 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "anthropic.claude-instant-v1": { - "id": "anthropic.claude-instant-v1", - "name": "Claude Instant", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 2.4 }, - "limit": { "context": 100000, "output": 4096 } - }, - "meta.llama3-1-70b-instruct-v1:0": { - "id": "meta.llama3-1-70b-instruct-v1:0", - "name": "Llama 3.1 70B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta.llama3-1-8b-instruct-v1:0": { - "id": "meta.llama3-1-8b-instruct-v1:0", - "name": "Llama 3.1 8B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.22 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-3-5-sonnet-20241022-v2:0": { - "id": "anthropic.claude-3-5-sonnet-20241022-v2:0", - "name": "Claude Sonnet 3.5 v2", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "amazon.nova-lite-v1:0": { - "id": "amazon.nova-lite-v1:0", - "name": "Nova Lite", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.015 }, - "limit": { "context": 300000, "output": 8192 } - }, - "deepseek.r1-v1:0": { - "id": "deepseek.r1-v1:0", - "name": "DeepSeek-R1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 32768 } - }, - "anthropic.claude-3-haiku-20240307-v1:0": { - "id": "anthropic.claude-3-haiku-20240307-v1:0", - "name": "Claude Haiku 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-02", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25 }, - "limit": { "context": 200000, "output": 4096 } - }, - "amazon.nova-premier-v1:0": { - "id": "amazon.nova-premier-v1:0", - "name": "Nova Premier", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 12.5 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "meta.llama3-8b-instruct-v1:0": { - "id": "meta.llama3-8b-instruct-v1:0", - "name": "Llama 3 8B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-03", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.6 }, - "limit": { "context": 8192, "output": 2048 } - }, - "cohere.command-r-v1:0": { - "id": "cohere.command-r-v1:0", - "name": "Command R", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-03-11", - "last_updated": "2024-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-3-sonnet-20240229-v1:0": { - "id": "anthropic.claude-3-sonnet-20240229-v1:0", - "name": "Claude Sonnet 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 4096 } - }, - "meta.llama4-scout-17b-instruct-v1:0": { - "id": "meta.llama4-scout-17b-instruct-v1:0", - "name": "Llama 4 Scout 17B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 3500000, "output": 16384 } - }, - "meta.llama3-70b-instruct-v1:0": { - "id": "meta.llama3-70b-instruct-v1:0", - "name": "Llama 3 70B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.65, "output": 3.5 }, - "limit": { "context": 8192, "output": 2048 } - }, - "cohere.command-r-plus-v1:0": { - "id": "cohere.command-r-plus-v1:0", - "name": "Command R+", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-04-04", - "last_updated": "2024-04-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta.llama3-2-90b-instruct-v1:0": { - "id": "meta.llama3-2-90b-instruct-v1:0", - "name": "Llama 3.2 90B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "ai21.jamba-1-5-large-v1:0": { - "id": "ai21.jamba-1-5-large-v1:0", - "name": "Jamba 1.5 Large", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 256000, "output": 4096 } - }, - "anthropic.claude-v2": { - "id": "anthropic.claude-v2", - "name": "Claude 2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-08", - "release_date": "2023-07-11", - "last_updated": "2023-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 8, "output": 24 }, - "limit": { "context": 100000, "output": 4096 } - }, - "anthropic.claude-3-opus-20240229-v1:0": { - "id": "anthropic.claude-3-opus-20240229-v1:0", - "name": "Claude Opus 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic.claude-3-5-sonnet-20240620-v1:0": { - "id": "anthropic.claude-3-5-sonnet-20240620-v1:0", - "name": "Claude Sonnet 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "meta.llama3-3-70b-instruct-v1:0": { - "id": "meta.llama3-3-70b-instruct-v1:0", - "name": "Llama 3.3 70B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-sonnet-4-20250514-v1:0": { - "id": "anthropic.claude-sonnet-4-20250514-v1:0", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "cohere.command-text-v14": { - "id": "cohere.command-text-v14", - "name": "Command", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-08", - "release_date": "2023-11-01", - "last_updated": "2023-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "anthropic.claude-opus-4-1-20250805-v1:0": { - "id": "anthropic.claude-opus-4-1-20250805-v1:0", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "meta.llama3-2-11b-instruct-v1:0": { - "id": "meta.llama3-2-11b-instruct-v1:0", - "name": "Llama 3.2 11B Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.16, "output": 0.16 }, - "limit": { "context": 128000, "output": 4096 } - }, - "amazon.nova-micro-v1:0": { - "id": "amazon.nova-micro-v1:0", - "name": "Nova Micro", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.14, "cache_read": 0.00875 }, - "limit": { "context": 128000, "output": 8192 } - } - } - }, - "chutes": { - "id": "chutes", - "env": ["CHUTES_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://llm.chutes.ai/v1", - "name": "Chutes", - "doc": "https://llm.chutes.ai/v1/models", - "models": { - "tngtech/DeepSeek-TNG-R1T2-Chimera": { - "id": "tngtech/DeepSeek-TNG-R1T2-Chimera", - "name": "DeepSeek TNG R1T2 Chimera", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2025-07", - "release_date": "2025-07-08", - "last_updated": "2025-07-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 163840 } - }, - "tngtech/DeepSeek-R1T-Chimera": { - "id": "tngtech/DeepSeek-R1T-Chimera", - "name": "DeepSeek R1T Chimera", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2025-04", - "release_date": "2025-04-26", - "last_updated": "2025-04-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.72 }, - "limit": { "context": 163840, "output": 163840 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.41 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 (0528)", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.72 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B": { - "id": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", - "name": "DeepSeek R1 0528 Qwen3 8B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-29", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.07 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "name": "DeepSeek R1 Distill Llama 70B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-01-23", - "last_updated": "2025-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.14 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 (0324)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.72 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3.1:THINKING": { - "id": "deepseek-ai/DeepSeek-V3.1:THINKING", - "name": "DeepSeek V3.1 Reasoning", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 163840 } - }, - "zai-org/GLM-4.5-FP8": { - "id": "zai-org/GLM-4.5-FP8", - "name": "GLM 4.5 FP8", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.078, "output": 0.312 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct (FP8)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.078, "output": 0.312 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-30B-A3B": { - "id": "Qwen/Qwen3-30B-A3B", - "name": "Qwen3 30B A3B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.08 }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "chutesai/Devstral-Small-2505": { - "id": "chutesai/Devstral-Small-2505", - "name": "Devstral Small (2505)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.08 }, - "limit": { "context": 32768, "output": 32768 } - }, - "chutesai/Mistral-Small-3.2-24B-Instruct-2506": { - "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct (2506)", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.08 }, - "limit": { "context": 131072, "output": 131072 } - }, - "moonshotai/Kimi-K2-Instruct-75k": { - "id": "moonshotai/Kimi-K2-Instruct-75k", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.59 }, - "limit": { "context": 75000, "output": 75000 } - } - } - }, - "opencode": { - "id": "opencode", - "env": ["OPENCODE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://gateway.opencode.ai/v1", - "name": "opencode", - "doc": "https://opencode.ai/docs", - "models": { - "sonic": { - "id": "sonic", - "name": "SONIC", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-20", - "last_updated": "2025-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 256000, "output": 32000 } - } - } - }, - "v0": { - "id": "v0", - "env": ["V0_API_KEY"], - "npm": "@ai-sdk/vercel", - "name": "v0", - "doc": "https://sdk.vercel.ai/providers/ai-sdk-providers/vercel", - "models": { - "v0-1.0-md": { - "id": "v0-1.0-md", - "name": "v0-1.0-md", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "v0-1.5-md": { - "id": "v0-1.5-md", - "name": "v0-1.5-md", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "v0-1.5-lg": { - "id": "v0-1.5-lg", - "name": "v0-1.5-lg", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 512000, "output": 32000 } - } - } - }, - "venice": { - "id": "venice", - "env": ["VENICE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.venice.ai/api/v1", - "name": "Venice AI", - "doc": "https://docs.venice.ai", - "models": { - "qwen3-4b": { - "id": "qwen3-4b", - "name": "Venice Small", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 32768, "output": 8192 } - }, - "mistral-31-24b": { - "id": "mistral-31-24b", - "name": "Venice Medium", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "deepseek-coder-v2-lite": { - "id": "deepseek-coder-v2-lite", - "name": "DeepSeek Coder V2 Lite", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-09", - "release_date": "2025-06-22", - "last_updated": "2025-06-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-235b": { - "id": "qwen3-235b", - "name": "Venice Large", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.5, "output": 6 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-2.5-qwq-32b": { - "id": "qwen-2.5-qwq-32b", - "name": "Venice Reasoning", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2025-07-08", - "last_updated": "2025-07-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen-2.5-vl": { - "id": "qwen-2.5-vl", - "name": "Qwen 2.5 VL 72B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 32768, "output": 8192 } - }, - "llama-3.2-3b": { - "id": "llama-3.2-3b", - "name": "Llama 3.2 3B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-05-23", - "last_updated": "2025-05-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 8192 } - }, - "llama-3.1-405b": { - "id": "llama-3.1-405b", - "name": "Llama 3.1 405B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-12", - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.5, "output": 6 }, - "limit": { "context": 65536, "output": 8192 } - }, - "llama-3.3-70b": { - "id": "llama-3.3-70b", - "name": "Llama 3.3 70B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 65536, "output": 8192 } - }, - "venice-uncensored": { - "id": "venice-uncensored", - "name": "Venice Uncensored 1.1", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen-2.5-coder-32b": { - "id": "qwen-2.5-coder-32b", - "name": "Qwen 2.5 Coder 32B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2025-06-14", - "last_updated": "2025-06-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 32768, "output": 8192 } - }, - "dolphin-2.9.2-qwen2-72b": { - "id": "dolphin-2.9.2-qwen2-72b", - "name": "Dolphin 72B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-09", - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 32768, "output": 8192 } - }, - "deepseek-r1-671b": { - "id": "deepseek-r1-671b", - "name": "DeepSeek R1 671B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2023-10", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3.5, "output": 14 }, - "limit": { "context": 131072, "output": 8192 } - } - } - }, - "inception": { - "id": "inception", - "env": ["INCEPTION_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.inceptionlabs.ai/v1/", - "name": "Inception", - "doc": "https://platform.inceptionlabs.ai/docs", - "models": { - "mercury-coder": { - "id": "mercury-coder", - "name": "Mercury Coder", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2025-02-26", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1, "cache_read": 0.25, "cache_write": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mercury": { - "id": "mercury", - "name": "Mercury", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2025-06-26", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1, "cache_read": 0.25, "cache_write": 1 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "morph": { - "id": "morph", - "env": ["MORPH_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.morphllm.com/v1", - "name": "Morph", - "doc": "https://docs.morphllm.com/api-reference/introduction", - "models": { - "morph-v3-fast": { - "id": "morph-v3-fast", - "name": "Morph v3 Fast", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 16000, "output": 16000 } - }, - "morph-v3-large": { - "id": "morph-v3-large", - "name": "Morph v3 Large", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 1.9 }, - "limit": { "context": 32000, "output": 32000 } - }, - "auto": { - "id": "auto", - "name": "Auto", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 1.55 }, - "limit": { "context": 32000, "output": 32000 } - } - } - }, - "azure": { - "id": "azure", - "env": ["AZURE_RESOURCE_NAME", "AZURE_API_KEY"], - "npm": "@ai-sdk/azure", - "name": "Azure", - "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", - "models": { - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 8192, "output": 8192 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 272000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 272000, "output": 128000 } - }, - "codex-mini": { - "id": "codex-mini", - "name": "Codex Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-4-turbo-vision": { - "id": "gpt-4-turbo-vision", - "name": "GPT-4 Turbo Vision", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-3.5-turbo-0613": { - "id": "gpt-3.5-turbo-0613", - "name": "GPT-3.5 Turbo 0613", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-08", - "release_date": "2023-06-13", - "last_updated": "2023-06-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 4 }, - "limit": { "context": 16384, "output": 16384 } - }, - "o1-preview": { - "id": "o1-preview", - "name": "o1-preview", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 16.5, "output": 66, "cache_read": 8.25 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-4-32k": { - "id": "gpt-4-32k", - "name": "GPT-4 32K", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 32768, "output": 32768 } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 272000, "output": 128000 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-3.5-turbo-0125": { - "id": "gpt-3.5-turbo-0125", - "name": "GPT-3.5 Turbo 0125", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-08", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16384, "output": 16384 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-3.5-turbo-instruct": { - "id": "gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-08", - "release_date": "2023-09-21", - "last_updated": "2023-09-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "o1-mini": { - "id": "o1-mini", - "name": "o1-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5-chat": { - "id": "gpt-5-chat", - "name": "GPT-5 Chat", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 272000, "output": 128000 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "o3": { - "id": "o3", - "name": "o3", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-3.5-turbo-0301": { - "id": "gpt-3.5-turbo-0301", - "name": "GPT-3.5 Turbo 0301", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-3.5-turbo-1106": { - "id": "gpt-3.5-turbo-1106", - "name": "GPT-3.5 Turbo 1106", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "knowledge": "2021-08", - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2 }, - "limit": { "context": 16384, "output": 16384 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - } - } - }, - "requesty": { - "id": "requesty", - "env": ["REQUESTY_API_KEY"], - "npm": "@requesty/ai-sdk", - "name": "Requesty", - "doc": "https://requesty.ai/solution/llm-routing/models", - "models": { - "anthropic/claude-3-7-sonnet": { - "id": "anthropic/claude-3-7-sonnet", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-01", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-4-sonnet-20250522": { - "id": "anthropic/claude-4-sonnet-20250522", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-opus-4-1-20250805": { - "id": "anthropic/claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "audio", "image", "video"], "output": ["text", "audio", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 128000, "output": 32000 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 16000, "output": 4000 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o Mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4 Mini", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31, "cache_write": 2.375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.55 }, - "limit": { "context": 1048576, "output": 65536 } - } - } - }, - "upstage": { - "id": "upstage", - "env": ["UPSTAGE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.upstage.ai", - "name": "Upstage", - "doc": "https://developers.upstage.ai/docs/apis/chat", - "models": { - "solar-pro2": { - "id": "solar-pro2", - "name": "solar-pro2", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.25 }, - "limit": { "context": 65536, "output": 8192 } - }, - "solar-mini": { - "id": "solar-mini", - "name": "solar-mini", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2024-06-12", - "last_updated": "2025-04-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 32768, "output": 4096 } - } - } - }, - "modelscope": { - "id": "modelscope", - "env": ["MODELSCOPE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api-inference.modelscope.cn/v1", - "name": "ModelScope", - "doc": "https://modelscope.cn/docs/model-service/API-Inference/intro", - "models": { - "ZhipuAI/GLM-4.5": { - "id": "ZhipuAI/GLM-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } - }, - "Qwen/Qwen3-30B-A3B-Thinking-2507": { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 32768 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "github-copilot": { - "id": "github-copilot", - "env": ["GITHUB_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.githubcopilot.com", - "name": "GitHub Copilot", - "doc": "https://docs.github.com/en/copilot", - "models": { - "claude-3.7-sonnet": { - "id": "claude-3.7-sonnet", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8192 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5-mini", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 128000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 65536 } - }, - "claude-3.5-sonnet": { - "id": "claude-3.5-sonnet", - "name": "Claude Sonnet 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-opus-4": { - "id": "claude-opus-4", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 80000, "output": 16000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16384 } - }, - "claude-opus-41": { - "id": "claude-opus-41", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 32000 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16384 } - }, - "o3": { - "id": "o3", - "name": "o3 (Preview)", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-2.0-flash-001": { - "id": "gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 8192 } - }, - "claude-3.7-sonnet-thought": { - "id": "claude-3.7-sonnet-thought", - "name": "Claude Sonnet 3.7 Thinking", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8192 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 65536 } - }, - "claude-sonnet-4": { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8192 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini (Preview)", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": false, - "knowledge": "2024-10", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 65536 } - } - } - }, - "wandb": { - "id": "wandb", - "env": ["WANDB_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.inference.wandb.ai/v1", - "name": "Weights & Biases", - "doc": "https://weave-docs.wandb.ai/guides/integrations/inference/", - "models": { - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 161000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek-V3-0324", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.14, "output": 2.75 }, - "limit": { "context": 161000, "output": 8192 } - }, - "meta-llama/Llama-4-Scout-17B-16E-Instruct": { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 64000, "output": 8192 } - }, - "meta-llama/Llama-3.1-8B-Instruct": { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.22 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama-3.3-70B-Instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.71, "output": 0.71 }, - "limit": { "context": 128000, "output": 32768 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 1.5 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.35, "output": 4 }, - "limit": { "context": 128000, "output": 16384 } - }, - "microsoft/Phi-4-mini-instruct": { - "id": "microsoft/Phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.35 }, - "limit": { "context": 128000, "output": 4096 } - } - } - }, - "lmstudio": { - "id": "lmstudio", - "env": ["LMSTUDIO_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "http://127.0.0.1:1234/v1", - "name": "LMStudio", - "doc": "https://lmstudio.ai/models", - "models": { - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-coder-30b": { - "id": "qwen/qwen3-coder-30b", - "name": "Qwen3 Coder 30B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-30b-a3b-2507": { - "id": "qwen/qwen3-30b-a3b-2507", - "name": "Qwen3 30B A3B 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } - } - } - }, - "inference": { - "id": "inference", - "env": ["INFERENCE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://inference.net/v1", - "name": "Inference", - "doc": "https://inference.net/models", - "models": { - "google/gemma-3": { - "id": "google/gemma-3", - "name": "Google Gemma 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.3 }, - "limit": { "context": 125000, "output": 4096 } - }, - "osmosis/osmosis-structure-0.6b": { - "id": "osmosis/osmosis-structure-0.6b", - "name": "Osmosis Structure 0.6B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 4000, "output": 2048 } - }, - "qwen/qwen3-embedding-4b": { - "id": "qwen/qwen3-embedding-4b", - "name": "Qwen 3 Embedding 4B", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32000, "output": 2048 } - }, - "qwen/qwen-2.5-7b-vision-instruct": { - "id": "qwen/qwen-2.5-7b-vision-instruct", - "name": "Qwen 2.5 7B Vision Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 125000, "output": 4096 } - }, - "meta/llama-3.2-1b-instruct": { - "id": "meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.1-8b-instruct": { - "id": "meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.025, "output": 0.025 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.2-3b-instruct": { - "id": "meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.02 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.2-11b-vision-instruct": { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.055, "output": 0.055 }, - "limit": { "context": 16000, "output": 4096 } - }, - "mistral/mistral-nemo-12b-instruct": { - "id": "mistral/mistral-nemo-12b-instruct", - "name": "Mistral Nemo 12B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.038, "output": 0.1 }, - "limit": { "context": 16000, "output": 4096 } - } - } - }, - "deepseek": { - "id": "deepseek", - "env": ["DEEPSEEK_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.deepseek.com", - "name": "DeepSeek", - "doc": "https://platform.deepseek.com/api-docs/pricing", - "models": { - "deepseek-chat": { - "id": "deepseek-chat", - "name": "DeepSeek Chat", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.57, "output": 1.68, "cache_read": 0.07 }, - "limit": { "context": 128000, "output": 128000 } - }, - "deepseek-reasoner": { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.57, "output": 1.68, "cache_read": 0.07 }, - "limit": { "context": 128000, "output": 128000 } - } - } - }, - "moonshotai": { - "id": "moonshotai", - "env": ["MOONSHOT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.moonshot.ai/v1", - "name": "Moonshot AI", - "doc": "https://platform.moonshot.ai/docs/api/chat", - "models": { - "kimi-k2-0711-preview": { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 16384 } - }, - "kimi-k2-turbo-preview": { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, - "limit": { "context": 131072, "output": 16384 } - } - } - }, - "huggingface": { - "id": "huggingface", - "env": ["HF_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://router.huggingface.co/v1", - "name": "Hugging Face", - "doc": "https://huggingface.co/docs/inference-providers", - "models": { - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 5 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek-ai/Deepseek-V3-0324": { - "id": "deepseek-ai/Deepseek-V3-0324", - "name": "DeepSeek-V3-0324", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 16384, "output": 8192 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM-4.5-Air", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 128000, "output": 96000 } - }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 98304 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 3 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 } - } - } - }, - "cerebras": { - "id": "cerebras", - "env": ["CEREBRAS_API_KEY"], - "npm": "@ai-sdk/cerebras", - "name": "Cerebras", - "doc": "https://inference-docs.cerebras.ai/models/overview", - "models": { - "qwen-3-235b-a22b-instruct-2507": { - "id": "qwen-3-235b-a22b-instruct-2507", - "name": "Qwen 3 235B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.2 }, - "limit": { "context": 131000, "output": 32000 } - }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.69 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen-3-coder-480b": { - "id": "qwen-3-coder-480b", - "name": "Qwen 3 Coder 480B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 131000, "output": 32000 } - } - } - }, - "zhipuai": { - "id": "zhipuai", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://open.bigmodel.cn/api/paas/v4", - "name": "Zhipu AI", - "doc": "https://docs.z.ai/guides/overview/pricing", - "models": { - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM 4.5V", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - } - } - }, - "fireworks-ai": { - "id": "fireworks-ai", - "env": ["FIREWORKS_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.fireworks.ai/inference/v1/", - "name": "Fireworks AI", - "doc": "https://fireworks.ai/docs/", - "models": { - "accounts/fireworks/gpt-oss-120b": { - "id": "accounts/fireworks/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "accounts/fireworks/gpt-oss-20b": { - "id": "accounts/fireworks/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "accounts/fireworks/models/deepseek-v3-0324": { - "id": "accounts/fireworks/models/deepseek-v3-0324", - "name": "Deepseek V3 03-24", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 160000, "output": 16384 } - }, - "accounts/fireworks/models/deepseek-r1-0528": { - "id": "accounts/fireworks/models/deepseek-r1-0528", - "name": "Deepseek R1 05/28", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 8 }, - "limit": { "context": 160000, "output": 16384 } - }, - "accounts/fireworks/models/kimi-k2-instruct": { - "id": "accounts/fireworks/models/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "accounts/fireworks/models/qwen3-235b-a22b": { - "id": "accounts/fireworks/models/qwen3-235b-a22b", - "name": "Qwen3 235B-A22B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.88 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "vercel": { - "id": "vercel", - "env": ["AI_GATEWAY_API_KEY"], - "npm": "@ai-sdk/gateway", - "name": "Vercel AI Gateway", - "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "models": { - "xai/grok-4": { - "id": "xai/grok-4", - "name": "Grok 4", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 256000, "output": 64000 } - }, - "xai/grok-3": { - "id": "xai/grok-3", - "name": "Grok 3", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-3-mini": { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-3-fast": { - "id": "xai/grok-3-fast", - "name": "Grok 3 Fast", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25, "cache_write": 25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-3-mini-fast": { - "id": "xai/grok-3-mini-fast", - "name": "Grok 3 Mini Fast", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "cache_read": 0.15, "cache_write": 4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-2": { - "id": "xai/grok-2", - "name": "Grok 2", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-2-vision": { - "id": "xai/grok-2-vision", - "name": "Grok 2 Vision", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2, "cache_write": 10 }, - "limit": { "context": 8192, "output": 4096 } - }, - "anthropic/claude-4-opus": { - "id": "anthropic/claude-4-opus", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3-haiku": { - "id": "anthropic/claude-3-haiku", - "name": "Claude Haiku 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-4-1-opus": { - "id": "anthropic/claude-4-1-opus", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3.5-sonnet": { - "id": "anthropic/claude-3.5-sonnet", - "name": "Claude Sonnet 3.5 v2", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-4-sonnet": { - "id": "anthropic/claude-4-sonnet", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", - "name": "Claude Sonnet 3.7", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3-opus": { - "id": "anthropic/claude-3-opus", - "name": "Claude Opus 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-3-5-haiku": { - "id": "anthropic/claude-3-5-haiku", - "name": "Claude Haiku 3.5", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "amazon/nova-micro": { - "id": "amazon/nova-micro", - "name": "Nova Micro", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.14, "cache_read": 0.00875 }, - "limit": { "context": 128000, "output": 8192 } - }, - "amazon/nova-pro": { - "id": "amazon/nova-pro", - "name": "Nova Pro", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 300000, "output": 8192 } - }, - "amazon/nova-lite": { - "id": "amazon/nova-lite", - "name": "Nova Lite", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.015 }, - "limit": { "context": 300000, "output": 8192 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4-mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "o3-mini", - "attachment": false, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "o1", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "o3", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1 nano", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "temperature": false, - "tool_call": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "google/gemini-2.0-flash": { - "id": "google/gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.0-flash-lite": { - "id": "google/gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "morph/morph-v3-large": { - "id": "morph/morph-v3-large", - "name": "Morph v3 Large", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 1.9 }, - "limit": { "context": 32000, "output": 32000 } - }, - "morph/morph-v3-fast": { - "id": "morph/morph-v3-fast", - "name": "Morph v3 Fast", - "attachment": false, - "reasoning": false, - "temperature": false, - "tool_call": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 16000, "output": 16000 } - }, - "deepseek/deepseek-r1": { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 32768 } - }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 0.99 }, - "limit": { "context": 131072, "output": 8192 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta/llama-3.3-70b": { - "id": "meta/llama-3.3-70b", - "name": "Llama-3.3-70B-Instruct", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-4-maverick": { - "id": "meta/llama-4-maverick", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-4-scout": { - "id": "meta/llama-4-scout", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cerebras/qwen3-coder": { - "id": "cerebras/qwen3-coder", - "name": "Qwen 3 Coder 480B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 131000, "output": 32000 } - }, - "vercel/v0-1.5-md": { - "id": "vercel/v0-1.5-md", - "name": "v0-1.5-md", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "vercel/v0-1.0-md": { - "id": "vercel/v0-1.0-md", - "name": "v0-1.0-md", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "mistral/mistral-large": { - "id": "mistral/mistral-large", - "name": "Mistral Large", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 16384 } - }, - "mistral/ministral-3b": { - "id": "mistral/ministral-3b", - "name": "Ministral 3B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/pixtral-12b": { - "id": "mistral/pixtral-12b", - "name": "Pixtral 12B", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/magistral-medium": { - "id": "mistral/magistral-medium", - "name": "Magistral Medium", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mistral/mixtral-8x22b-instruct": { - "id": "mistral/mixtral-8x22b-instruct", - "name": "Mixtral 8x22B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 64000, "output": 64000 } - }, - "mistral/ministral-8b": { - "id": "mistral/ministral-8b", - "name": "Ministral 8B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/magistral-small": { - "id": "mistral/magistral-small", - "name": "Magistral Small", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/pixtral-large": { - "id": "mistral/pixtral-large", - "name": "Pixtral Large", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/codestral": { - "id": "mistral/codestral", - "name": "Codestral", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 4096 } - }, - "mistral/mistral-small": { - "id": "mistral/mistral-small", - "name": "Mistral Small", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03", - "release_date": "2024-09-01", - "last_updated": "2024-09-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "submodel": { - "id": "submodel", - "env": ["SUBMODEL_INSTAGEN_ACCESS_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://llm.submodel.ai/v1", - "name": "submodel", - "doc": "https://submodel.gitbook.io", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.15 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 0324", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 75000, "output": 163840 } - }, - "zai-org/GLM-4.5-FP8": { - "id": "zai-org/GLM-4.5-FP8", - "name": "GLM 4.5 FP8", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 131072 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.3 }, - "limit": { "context": 262144, "output": 131072 } - } - } - }, - "google-vertex": { - "id": "google-vertex", - "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], - "npm": "@ai-sdk/google-vertex", - "name": "Vertex", - "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/models", - "models": { - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.383 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash Preview 05-20", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro-preview-05-06": { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-04-17": { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview 04-17", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview 06-17", - "attachment": true, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 65536, "output": 65536 } - } - } - }, - "groq": { - "id": "groq", - "env": ["GROQ_API_KEY"], - "npm": "@ai-sdk/groq", - "name": "Groq", - "doc": "https://console.groq.com/docs/models", - "models": { - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 0.99 }, - "limit": { "context": 131072, "output": 8192 } - }, - "llama-guard-3-8b": { - "id": "llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 8192, "output": 8192 } - }, - "llama3-70b-8192": { - "id": "llama3-70b-8192", - "name": "Llama 3 70B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-03", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 0.79 }, - "limit": { "context": 8192, "output": 8192 } - }, - "llama-3.3-70b-versatile": { - "id": "llama-3.3-70b-versatile", - "name": "Llama 3.3 70B Versatile", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 0.79 }, - "limit": { "context": 131072, "output": 32768 } - }, - "llama-3.1-8b-instant": { - "id": "llama-3.1-8b-instant", - "name": "Llama 3.1 8B Instant", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.08 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-qwq-32b": { - "id": "qwen-qwq-32b", - "name": "Qwen QwQ 32B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2024-11-27", - "last_updated": "2024-11-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 0.39 }, - "limit": { "context": 131072, "output": 16384 } - }, - "gemma2-9b-it": { - "id": "gemma2-9b-it", - "name": "Gemma 2 9B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-06", - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 8192, "output": 8192 } - }, - "mistral-saba-24b": { - "id": "mistral-saba-24b", - "name": "Mistral Saba 24B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-02-06", - "last_updated": "2025-02-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.79, "output": 0.79 }, - "limit": { "context": 32768, "output": 32768 } - }, - "llama3-8b-8192": { - "id": "llama3-8b-8192", - "name": "Llama 3 8B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-03", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.08 }, - "limit": { "context": 8192, "output": 8192 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.75 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "meta-llama/llama-guard-4-12b": { - "id": "meta-llama/llama-guard-4-12b", - "name": "Llama Guard 4 12B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": false, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 131072, "output": 128 } - }, - "meta-llama/llama-4-maverick-17b-128e-instruct": { - "id": "meta-llama/llama-4-maverick-17b-128e-instruct", - "name": "Llama 4 Maverick 17B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 131072, "output": 8192 } - }, - "meta-llama/llama-4-scout-17b-16e-instruct": { - "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.34 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen/qwen3-32b": { - "id": "qwen/qwen3-32b", - "name": "Qwen3 32B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11-08", - "release_date": "2024-12-23", - "last_updated": "2024-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 0.59 }, - "limit": { "context": 131072, "output": 16384 } - }, - "moonshotai/kimi-k2-instruct": { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 } - } - } - }, - "alibaba": { - "id": "alibaba", - "env": ["DASHSCOPE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", - "name": "Alibaba", - "doc": "https://www.alibabacloud.com/help/en/model-studio/models", - "models": { - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 1048576, "output": 65536 } - } - } - }, - "mistral": { - "id": "mistral", - "env": ["MISTRAL_API_KEY"], - "npm": "@ai-sdk/mistral", - "name": "Mistral", - "doc": "https://docs.mistral.ai/getting-started/models/", - "models": { - "codestral-latest": { - "id": "codestral-latest", - "name": "Codestral", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 4096 } - }, - "mistral-medium-2508": { - "id": "mistral-medium-2508", - "name": "Mistral Medium 3.1", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "magistral-medium-latest": { - "id": "magistral-medium-latest", - "name": "Magistral Medium", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "open-mixtral-8x7b": { - "id": "open-mixtral-8x7b", - "name": "Mixtral 8x7B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-01", - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32000, "output": 32000 } - }, - "magistral-small": { - "id": "magistral-small", - "name": "Magistral Small", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 128000 } - }, - "pixtral-12b": { - "id": "pixtral-12b", - "name": "Pixtral 12B", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "devstral-small-2507": { - "id": "devstral-small-2507", - "name": "Devstral Small", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 128000 } - }, - "ministral-3b-latest": { - "id": "ministral-3b-latest", - "name": "Ministral 3B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 128000 } - }, - "ministral-8b-latest": { - "id": "ministral-8b-latest", - "name": "Ministral 8B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 128000 } - }, - "devstral-medium-2507": { - "id": "devstral-medium-2507", - "name": "Devstral Medium", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-medium-2505": { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "open-mistral-7b": { - "id": "open-mistral-7b", - "name": "Mistral 7B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2023-09-27", - "last_updated": "2023-09-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.25 }, - "limit": { "context": 8000, "output": 8000 } - }, - "mistral-large-latest": { - "id": "mistral-large-latest", - "name": "Mistral Large", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 16384 } - }, - "open-mixtral-8x22b": { - "id": "open-mixtral-8x22b", - "name": "Mixtral 8x22B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-04", - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 64000, "output": 64000 } - }, - "mistral-nemo": { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-medium-latest": { - "id": "mistral-medium-latest", - "name": "Mistral Medium", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 16384 } - }, - "pixtral-large-latest": { - "id": "pixtral-large-latest", - "name": "Pixtral Large", - "attachment": true, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-small-latest": { - "id": "mistral-small-latest", - "name": "Mistral Small", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-03", - "release_date": "2024-09-01", - "last_updated": "2024-09-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "devstral-small-2505": { - "id": "devstral-small-2505", - "name": "Devstral Small 2505", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 128000 } - } - } - }, - "togetherai": { - "id": "togetherai", - "env": ["TOGETHER_API_KEY"], - "npm": "@ai-sdk/togetherai", - "name": "Together AI", - "doc": "https://docs.together.ai/docs/serverless-models", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3": { - "id": "deepseek-ai/DeepSeek-V3", - "name": "DeepSeek V3", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 131072, "output": 12288 } - }, - "deepseek-ai/DeepSeek-R1": { - "id": "deepseek-ai/DeepSeek-R1", - "name": "DeepSeek R1", - "attachment": false, - "reasoning": true, - "temperature": true, - "tool_call": false, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 7 }, - "limit": { "context": 163839, "output": 12288 } - }, - "meta-llama/Llama-3.3-70B-Instruct-Turbo": { - "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", - "name": "Llama 3.3 70B", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.88, "output": 0.88 }, - "limit": { "context": 131072, "output": 66536 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "temperature": true, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 32768 } - } - } - } -} diff --git a/packages/ai/src/models.ts b/packages/ai/src/models.ts index e22b671a..057795e3 100644 --- a/packages/ai/src/models.ts +++ b/packages/ai/src/models.ts @@ -1,6 +1,6 @@ import { PROVIDERS } from "./models.generated.js"; import { AnthropicLLM } from "./providers/anthropic.js"; -import { GoogleLLM } from "./providers/gemini.js"; +import { GoogleLLM } from "./providers/google.js"; import { OpenAICompletionsLLM } from "./providers/openai-completions.js"; import { OpenAIResponsesLLM } from "./providers/openai-responses.js"; import type { Model } from "./types.js"; @@ -9,33 +9,31 @@ import type { Model } from "./types.js"; export const PROVIDER_CONFIG = { google: { envKey: "GEMINI_API_KEY", - create: (model: string, apiKey: string) => new GoogleLLM(model, apiKey), + create: (model: Model, apiKey: string) => new GoogleLLM(model, apiKey), }, openai: { envKey: "OPENAI_API_KEY", - create: (model: string, apiKey: string) => new OpenAIResponsesLLM(model, apiKey), + create: (model: Model, apiKey: string) => new OpenAIResponsesLLM(model, apiKey), }, anthropic: { envKey: "ANTHROPIC_API_KEY", - create: (model: string, apiKey: string) => new AnthropicLLM(model, apiKey), + create: (model: Model, apiKey: string) => new AnthropicLLM(model, apiKey), }, xai: { envKey: "XAI_API_KEY", - create: (model: string, apiKey: string) => new OpenAICompletionsLLM(model, apiKey, "https://api.x.ai/v1"), + create: (model: Model, apiKey: string) => new OpenAICompletionsLLM(model, apiKey), }, groq: { envKey: "GROQ_API_KEY", - create: (model: string, apiKey: string) => - new OpenAICompletionsLLM(model, apiKey, "https://api.groq.com/openai/v1"), + create: (model: Model, apiKey: string) => new OpenAICompletionsLLM(model, apiKey), }, cerebras: { envKey: "CEREBRAS_API_KEY", - create: (model: string, apiKey: string) => new OpenAICompletionsLLM(model, apiKey, "https://api.cerebras.ai/v1"), + create: (model: Model, apiKey: string) => new OpenAICompletionsLLM(model, apiKey), }, openrouter: { envKey: "OPENROUTER_API_KEY", - create: (model: string, apiKey: string) => - new OpenAICompletionsLLM(model, apiKey, "https://openrouter.ai/api/v1"), + create: (model: Model, apiKey: string) => new OpenAICompletionsLLM(model, apiKey), }, } as const; @@ -90,7 +88,18 @@ export function createLLM

( + provider: P, + modelId: keyof (typeof PROVIDERS)[P]["models"], +): Model | undefined { + const providerData = PROVIDERS[provider]; + if (!providerData) return undefined; + const models = providerData.models as Record; + return models[modelId as string]; } // Re-export Model type for convenience diff --git a/packages/ai/src/providers/anthropic.ts b/packages/ai/src/providers/anthropic.ts index 2f0344e8..f0f05611 100644 --- a/packages/ai/src/providers/anthropic.ts +++ b/packages/ai/src/providers/anthropic.ts @@ -11,6 +11,7 @@ import type { LLM, LLMOptions, Message, + Model, StopReason, TokenUsage, ToolCall, @@ -26,10 +27,10 @@ export interface AnthropicLLMOptions extends LLMOptions { export class AnthropicLLM implements LLM { private client: Anthropic; - private model: string; + private modelInfo: Model; private isOAuthToken: boolean = false; - constructor(model: string, apiKey?: string, baseUrl?: string) { + constructor(model: Model, apiKey?: string) { if (!apiKey) { if (!process.env.ANTHROPIC_API_KEY) { throw new Error( @@ -45,13 +46,17 @@ export class AnthropicLLM implements LLM { }; process.env.ANTHROPIC_API_KEY = undefined; - this.client = new Anthropic({ apiKey: null, authToken: apiKey, baseURL: baseUrl, defaultHeaders }); + this.client = new Anthropic({ apiKey: null, authToken: apiKey, baseURL: model.baseUrl, defaultHeaders }); this.isOAuthToken = true; } else { - this.client = new Anthropic({ apiKey, baseURL: baseUrl }); + this.client = new Anthropic({ apiKey, baseURL: model.baseUrl }); this.isOAuthToken = false; } - this.model = model; + this.modelInfo = model; + } + + getModel(): Model { + return this.modelInfo; } async complete(context: Context, options?: AnthropicLLMOptions): Promise { @@ -59,7 +64,7 @@ export class AnthropicLLM implements LLM { const messages = this.convertMessages(context.messages); const params: MessageCreateParamsStreaming = { - model: this.model, + model: this.modelInfo.id, messages, max_tokens: options?.maxTokens || 4096, stream: true, @@ -97,7 +102,8 @@ export class AnthropicLLM implements LLM { params.tools = this.convertTools(context.tools); } - if (options?.thinking?.enabled) { + // Only enable thinking if the model supports it + if (options?.thinking?.enabled && this.modelInfo.reasoning) { params.thinking = { type: "enabled", budget_tokens: options.thinking.budgetTokens || 1024, @@ -194,14 +200,16 @@ export class AnthropicLLM implements LLM { thinking, thinkingSignature, toolCalls, - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage, stopReason: this.mapStopReason(msg.stop_reason), }; } catch (error) { return { role: "assistant", - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage: { input: 0, output: 0, diff --git a/packages/ai/src/providers/gemini.ts b/packages/ai/src/providers/google.ts similarity index 95% rename from packages/ai/src/providers/gemini.ts rename to packages/ai/src/providers/google.ts index c05d5267..16a9a8c5 100644 --- a/packages/ai/src/providers/gemini.ts +++ b/packages/ai/src/providers/google.ts @@ -11,6 +11,7 @@ import type { LLM, LLMOptions, Message, + Model, StopReason, TokenUsage, Tool, @@ -27,9 +28,9 @@ export interface GoogleLLMOptions extends LLMOptions { export class GoogleLLM implements LLM { private client: GoogleGenAI; - private model: string; + private model: Model; - constructor(model: string, apiKey?: string) { + constructor(model: Model, apiKey?: string) { if (!apiKey) { if (!process.env.GEMINI_API_KEY) { throw new Error( @@ -42,6 +43,10 @@ export class GoogleLLM implements LLM { this.model = model; } + getModel(): Model { + return this.model; + } + async complete(context: Context, options?: GoogleLLMOptions): Promise { try { const contents = this.convertMessages(context.messages); @@ -71,8 +76,8 @@ export class GoogleLLM implements LLM { }; } - // Add thinking config if enabled - if (options?.thinking?.enabled) { + // Add thinking config if enabled and model supports it + if (options?.thinking?.enabled && this.model.reasoning) { config.thinkingConfig = { includeThoughts: true, ...(options.thinking.budgetTokens !== undefined && { thinkingBudget: options.thinking.budgetTokens }), @@ -81,7 +86,7 @@ export class GoogleLLM implements LLM { // Build the request parameters const params: GenerateContentParameters = { - model: this.model, + model: this.model.id, contents, config, }; @@ -207,14 +212,16 @@ export class GoogleLLM implements LLM { thinking: thinking || undefined, thinkingSignature: thoughtSignature, toolCalls: toolCalls.length > 0 ? toolCalls : undefined, - model: this.model, + provider: this.model.provider, + model: this.model.id, usage, stopReason, }; } catch (error) { return { role: "assistant", - model: this.model, + provider: this.model.provider, + model: this.model.id, usage: { input: 0, output: 0, diff --git a/packages/ai/src/providers/openai-completions.ts b/packages/ai/src/providers/openai-completions.ts index 421eaa72..1b54890d 100644 --- a/packages/ai/src/providers/openai-completions.ts +++ b/packages/ai/src/providers/openai-completions.ts @@ -6,6 +6,7 @@ import type { LLM, LLMOptions, Message, + Model, StopReason, TokenUsage, Tool, @@ -19,9 +20,9 @@ export interface OpenAICompletionsLLMOptions extends LLMOptions { export class OpenAICompletionsLLM implements LLM { private client: OpenAI; - private model: string; + private modelInfo: Model; - constructor(model: string, apiKey?: string, baseUrl?: string) { + constructor(model: Model, apiKey?: string) { if (!apiKey) { if (!process.env.OPENAI_API_KEY) { throw new Error( @@ -30,8 +31,12 @@ export class OpenAICompletionsLLM implements LLM { } apiKey = process.env.OPENAI_API_KEY; } - this.client = new OpenAI({ apiKey, baseURL: baseUrl }); - this.model = model; + this.client = new OpenAI({ apiKey, baseURL: model.baseUrl }); + this.modelInfo = model; + } + + getModel(): Model { + return this.modelInfo; } async complete(request: Context, options?: OpenAICompletionsLLMOptions): Promise { @@ -39,14 +44,14 @@ export class OpenAICompletionsLLM implements LLM { const messages = this.convertMessages(request.messages, request.systemPrompt); const params: OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming = { - model: this.model, + model: this.modelInfo.id, messages, stream: true, stream_options: { include_usage: true }, }; // Cerebras/xAI dont like the "store" field - if (!this.client.baseURL?.includes("cerebras.ai") || this.client.baseURL?.includes("api.x.ai")) { + if (!this.modelInfo.baseUrl?.includes("cerebras.ai") && !this.modelInfo.baseUrl?.includes("api.x.ai")) { (params as any).store = false; } @@ -66,7 +71,11 @@ export class OpenAICompletionsLLM implements LLM { params.tool_choice = options.toolChoice; } - if (options?.reasoningEffort && this.isReasoningModel() && !this.model.toLowerCase().includes("grok")) { + if ( + options?.reasoningEffort && + this.modelInfo.reasoning && + !this.modelInfo.id.toLowerCase().includes("grok") + ) { params.reasoning_effort = options.reasoningEffort; } @@ -203,14 +212,16 @@ export class OpenAICompletionsLLM implements LLM { thinking: reasoningContent || undefined, thinkingSignature: reasoningField || undefined, toolCalls: toolCalls.length > 0 ? toolCalls : undefined, - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage, stopReason: this.mapStopReason(finishReason), }; } catch (error) { return { role: "assistant", - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage: { input: 0, output: 0, @@ -230,9 +241,9 @@ export class OpenAICompletionsLLM implements LLM { if (systemPrompt) { // Cerebras/xAi don't like the "developer" role const useDeveloperRole = - this.isReasoningModel() && - !this.client.baseURL?.includes("cerebras.ai") && - !this.client.baseURL?.includes("api.x.ai"); + this.modelInfo.reasoning && + !this.modelInfo.baseUrl?.includes("cerebras.ai") && + !this.modelInfo.baseUrl?.includes("api.x.ai"); const role = useDeveloperRole ? "developer" : "system"; params.push({ role: role, content: systemPrompt }); } @@ -305,9 +316,4 @@ export class OpenAICompletionsLLM implements LLM { return "stop"; } } - - private isReasoningModel(): boolean { - // TODO base on models.dev - return true; - } } diff --git a/packages/ai/src/providers/openai-responses.ts b/packages/ai/src/providers/openai-responses.ts index d2ad3510..7175e884 100644 --- a/packages/ai/src/providers/openai-responses.ts +++ b/packages/ai/src/providers/openai-responses.ts @@ -11,6 +11,7 @@ import type { LLM, LLMOptions, Message, + Model, StopReason, TokenUsage, Tool, @@ -24,9 +25,9 @@ export interface OpenAIResponsesLLMOptions extends LLMOptions { export class OpenAIResponsesLLM implements LLM { private client: OpenAI; - private model: string; + private modelInfo: Model; - constructor(model: string, apiKey?: string, baseUrl?: string) { + constructor(model: Model, apiKey?: string) { if (!apiKey) { if (!process.env.OPENAI_API_KEY) { throw new Error( @@ -35,8 +36,12 @@ export class OpenAIResponsesLLM implements LLM { } apiKey = process.env.OPENAI_API_KEY; } - this.client = new OpenAI({ apiKey, baseURL: baseUrl }); - this.model = model; + this.client = new OpenAI({ apiKey, baseURL: model.baseUrl }); + this.modelInfo = model; + } + + getModel(): Model { + return this.modelInfo; } async complete(request: Context, options?: OpenAIResponsesLLMOptions): Promise { @@ -44,7 +49,7 @@ export class OpenAIResponsesLLM implements LLM { const input = this.convertToInput(request.messages, request.systemPrompt); const params: ResponseCreateParamsStreaming = { - model: this.model, + model: this.modelInfo.id, input, stream: true, }; @@ -62,7 +67,7 @@ export class OpenAIResponsesLLM implements LLM { } // Add reasoning options for models that support it - if (this.supportsReasoning() && (options?.reasoningEffort || options?.reasoningSummary)) { + if (this.modelInfo?.reasoning && (options?.reasoningEffort || options?.reasoningSummary)) { params.reasoning = { effort: options?.reasoningEffort || "medium", summary: options?.reasoningSummary || "auto", @@ -145,7 +150,8 @@ export class OpenAIResponsesLLM implements LLM { else if (event.type === "error") { return { role: "assistant", - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage, stopReason: "error", error: `Code ${event.code}: ${event.message}` || "Unknown error", @@ -159,14 +165,16 @@ export class OpenAIResponsesLLM implements LLM { thinking: thinking || undefined, thinkingSignature: JSON.stringify(reasoningItems) || undefined, toolCalls: toolCalls.length > 0 ? toolCalls : undefined, - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage, stopReason, }; } catch (error) { return { role: "assistant", - model: this.model, + provider: this.modelInfo.provider, + model: this.modelInfo.id, usage: { input: 0, output: 0, @@ -184,7 +192,7 @@ export class OpenAIResponsesLLM implements LLM { // Add system prompt if provided if (systemPrompt) { - const role = this.supportsReasoning() ? "developer" : "system"; + const role = this.modelInfo?.reasoning ? "developer" : "system"; input.push({ role, content: systemPrompt, @@ -260,14 +268,4 @@ export class OpenAIResponsesLLM implements LLM { return "stop"; } } - - private supportsReasoning(): boolean { - // TODO base on models.dev - return ( - this.model.includes("o1") || - this.model.includes("o3") || - this.model.includes("gpt-5") || - this.model.includes("gpt-4o") - ); - } } diff --git a/packages/ai/src/types.ts b/packages/ai/src/types.ts index 40ccae21..c195dbec 100644 --- a/packages/ai/src/types.ts +++ b/packages/ai/src/types.ts @@ -8,29 +8,7 @@ export interface LLMOptions { export interface LLM { complete(request: Context, options?: T): Promise; -} - -export interface ModelInfo { - id: string; - name: string; - provider: string; - capabilities: { - reasoning: boolean; - toolCall: boolean; - vision: boolean; - audio?: boolean; - }; - cost: { - input: number; // per million tokens - output: number; // per million tokens - cacheRead?: number; - cacheWrite?: number; - }; - limits: { - context: number; - output: number; - }; - knowledge?: string; + getModel(): Model; } export interface UserMessage { @@ -48,6 +26,7 @@ export interface AssistantMessage { name: string; arguments: Record; }[]; + provider: string; model: string; usage: TokenUsage; @@ -112,6 +91,7 @@ export interface Model { id: string; name: string; provider: string; + baseUrl?: string; reasoning: boolean; input: ("text" | "image")[]; cost: { diff --git a/packages/ai/test/providers.test.ts b/packages/ai/test/providers.test.ts index 25893c20..8771e69b 100644 --- a/packages/ai/test/providers.test.ts +++ b/packages/ai/test/providers.test.ts @@ -1,11 +1,11 @@ import { describe, it, beforeAll, afterAll, expect } from "vitest"; -import { GoogleLLM } from "../src/providers/gemini.js"; +import { GoogleLLM } from "../src/providers/google.js"; import { OpenAICompletionsLLM } from "../src/providers/openai-completions.js"; import { OpenAIResponsesLLM } from "../src/providers/openai-responses.js"; import { AnthropicLLM } from "../src/providers/anthropic.js"; -import type { LLM, LLMOptions, Context, Tool, AssistantMessage } from "../src/types.js"; +import type { LLM, LLMOptions, Context, Tool, AssistantMessage, Model } from "../src/types.js"; import { spawn, ChildProcess, execSync } from "child_process"; -import { createLLM } from "../src/models.js"; +import { createLLM, getModel } from "../src/models.js"; // Calculator tool definition (same as examples) const calculatorTool: Tool = { @@ -176,7 +176,7 @@ async function multiTurn(llm: LLM, thinkingOptions: T) const response = await llm.complete(context, thinkingOptions); context.messages.push(response); - if (response.content) { + if (response.stopReason === "stop" && response.content) { finalResponse = response; break; } @@ -217,7 +217,7 @@ describe("AI Providers E2E Tests", () => { let llm: GoogleLLM; beforeAll(() => { - llm = new GoogleLLM("gemini-2.5-flash", process.env.GEMINI_API_KEY!); + llm = new GoogleLLM(getModel("google", "gemini-2.5-flash")!, process.env.GEMINI_API_KEY!); }); it("should complete basic text generation", async () => { @@ -245,7 +245,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAICompletionsLLM; beforeAll(() => { - llm = new OpenAICompletionsLLM("gpt-4o-mini", process.env.OPENAI_API_KEY!); + llm = new OpenAICompletionsLLM(getModel("openai", "gpt-4o-mini")!, process.env.OPENAI_API_KEY!); }); it("should complete basic text generation", async () => { @@ -265,7 +265,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAIResponsesLLM; beforeAll(() => { - llm = new OpenAIResponsesLLM("gpt-5-mini", process.env.OPENAI_API_KEY!); + llm = new OpenAIResponsesLLM(getModel("openai", "gpt-5-mini")!, process.env.OPENAI_API_KEY!); }); it("should complete basic text generation", async () => { @@ -293,7 +293,7 @@ describe("AI Providers E2E Tests", () => { let llm: AnthropicLLM; beforeAll(() => { - llm = new AnthropicLLM("claude-sonnet-4-0", process.env.ANTHROPIC_OAUTH_TOKEN!); + llm = new AnthropicLLM(getModel("anthropic", "claude-sonnet-4-0")!, process.env.ANTHROPIC_OAUTH_TOKEN!); }); it("should complete basic text generation", async () => { @@ -321,7 +321,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAICompletionsLLM; beforeAll(() => { - llm = new OpenAICompletionsLLM("grok-code-fast-1", process.env.XAI_API_KEY!, "https://api.x.ai/v1"); + llm = new OpenAICompletionsLLM(getModel("xai", "grok-code-fast-1")!, process.env.XAI_API_KEY!); }); it("should complete basic text generation", async () => { @@ -349,7 +349,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAICompletionsLLM; beforeAll(() => { - llm = new OpenAICompletionsLLM("openai/gpt-oss-20b", process.env.GROQ_API_KEY!, "https://api.groq.com/openai/v1"); + llm = new OpenAICompletionsLLM(getModel("groq", "openai/gpt-oss-20b")!, process.env.GROQ_API_KEY!); }); it("should complete basic text generation", async () => { @@ -377,7 +377,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAICompletionsLLM; beforeAll(() => { - llm = new OpenAICompletionsLLM("gpt-oss-120b", process.env.CEREBRAS_API_KEY!, "https://api.cerebras.ai/v1"); + llm = new OpenAICompletionsLLM(getModel("cerebras", "gpt-oss-120b")!, process.env.CEREBRAS_API_KEY!); }); it("should complete basic text generation", async () => { @@ -405,7 +405,7 @@ describe("AI Providers E2E Tests", () => { let llm: OpenAICompletionsLLM; beforeAll(() => { - llm = new OpenAICompletionsLLM("z-ai/glm-4.5", process.env.OPENROUTER_API_KEY!, "https://openrouter.ai/api/v1"); + llm = new OpenAICompletionsLLM(getModel("openrouter", "z-ai/glm-4.5")!, process.env.OPENROUTER_API_KEY!);; }); it("should complete basic text generation", async () => { @@ -479,7 +479,23 @@ describe("AI Providers E2E Tests", () => { setTimeout(checkServer, 1000); // Initial delay }); - llm = new OpenAICompletionsLLM("gpt-oss:20b", "dummy", "http://localhost:11434/v1"); + const model: Model = { + id: "gpt-oss:20b", + provider: "ollama", + baseUrl: "http://localhost:11434/v1", + reasoning: true, + input: ["text"], + contextWindow: 128000, + maxTokens: 16000, + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + name: "Ollama GPT-OSS 20B" + } + llm = new OpenAICompletionsLLM(model, "dummy"); }, 30000); // 30 second timeout for setup afterAll(() => {