// This file is auto-generated by scripts/generate-models.ts // Do not edit manually - run 'npm run generate-models' to update import type { Model } from "./types.js"; export const PROVIDERS = { groq: { models: { "llama-3.1-8b-instant": { 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: { input: 0.05, output: 0.08, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 8192, } satisfies Model, "qwen-qwq-32b": { id: "qwen-qwq-32b", name: "Qwen QwQ 32B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { input: 0.29, output: 0.39, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "llama3-70b-8192": { id: "llama3-70b-8192", name: "Llama 3 70B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { input: 0.59, output: 0.79, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8192, maxTokens: 8192, } satisfies Model, "deepseek-r1-distill-llama-70b": { 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: { input: 0.75, output: 0.99, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 8192, } satisfies Model, "llama3-8b-8192": { id: "llama3-8b-8192", name: "Llama 3 8B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { input: 0.05, output: 0.08, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8192, maxTokens: 8192, } satisfies Model, "gemma2-9b-it": { id: "gemma2-9b-it", name: "Gemma 2 9B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { input: 0.2, output: 0.2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8192, maxTokens: 8192, } satisfies Model, "llama-3.3-70b-versatile": { 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: { input: 0.59, output: 0.79, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 32768, } satisfies Model, "mistral-saba-24b": { id: "mistral-saba-24b", name: "Mistral Saba 24B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { input: 0.79, output: 0.79, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 32768, } satisfies Model, "openai/gpt-oss-20b": { id: "openai/gpt-oss-20b", name: "GPT OSS 20B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { input: 0.1, output: 0.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 32768, } satisfies Model, "openai/gpt-oss-120b": { id: "openai/gpt-oss-120b", name: "GPT OSS 120B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { input: 0.15, output: 0.75, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 32768, } satisfies Model, "meta-llama/llama-4-maverick-17b-128e-instruct": { 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: { input: 0.2, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 8192, } satisfies Model, "meta-llama/llama-4-scout-17b-16e-instruct": { 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: { input: 0.11, output: 0.34, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 8192, } satisfies Model, "qwen/qwen3-32b": { id: "qwen/qwen3-32b", name: "Qwen3 32B", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: true, input: ["text"], cost: { input: 0.29, output: 0.59, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "moonshotai/kimi-k2-instruct": { id: "moonshotai/kimi-k2-instruct", name: "Kimi K2 Instruct", provider: "groq", baseUrl: "https://api.groq.com/openai/v1", reasoning: false, input: ["text"], cost: { input: 1, output: 3, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, }, }, cerebras: { models: { "qwen-3-235b-a22b-instruct-2507": { 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: { input: 0.6, output: 1.2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131000, maxTokens: 32000, } satisfies Model, "gpt-oss-120b": { id: "gpt-oss-120b", name: "GPT OSS 120B", provider: "cerebras", baseUrl: "https://api.cerebras.ai/v1", reasoning: true, input: ["text"], cost: { input: 0.25, output: 0.69, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 32768, } satisfies Model, "qwen-3-coder-480b": { id: "qwen-3-coder-480b", name: "Qwen 3 Coder 480B", provider: "cerebras", baseUrl: "https://api.cerebras.ai/v1", reasoning: false, input: ["text"], cost: { input: 2, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131000, maxTokens: 32000, } satisfies Model, }, }, openrouter: { models: { "qwen/qwen3-30b-a3b-thinking-2507": { 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: { input: 0.0713, output: 0.2852, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 262144, } satisfies Model, "nousresearch/hermes-4-70b": { id: "nousresearch/hermes-4-70b", name: "Nous: Hermes 4 70B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.09329544, output: 0.3733632, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "nousresearch/hermes-4-405b": { id: "nousresearch/hermes-4-405b", name: "Nous: Hermes 4 405B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.1999188, output: 0.800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-chat-v3.1:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 64000, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-chat-v3.1": { id: "deepseek/deepseek-chat-v3.1", name: "DeepSeek: DeepSeek V3.1", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.19999999999999998, output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 4096, } satisfies Model, "mistralai/mistral-medium-3.1": { 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: { input: 0.39999999999999997, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "z-ai/glm-4.5v": { 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: { input: 0.5, output: 1.7999999999999998, cacheRead: 0, cacheWrite: 0, }, contextWindow: 65536, maxTokens: 65536, } satisfies Model, "ai21/jamba-mini-1.7": { 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: { input: 0.19999999999999998, output: 0.39999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 256000, maxTokens: 4096, } satisfies Model, "ai21/jamba-large-1.7": { 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: { input: 2, output: 8, cacheRead: 0, cacheWrite: 0, }, contextWindow: 256000, maxTokens: 4096, } satisfies Model, "mistralai/codestral-2508": { id: "mistralai/codestral-2508", name: "Mistral: Codestral 2508", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.3, output: 0.8999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 256000, maxTokens: 4096, } satisfies Model, "qwen/qwen3-coder-30b-a3b-instruct": { 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: { input: 0.051830799999999996, output: 0.207424, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "qwen/qwen3-30b-a3b-instruct-2507": { 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: { input: 0.051830799999999996, output: 0.207424, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "z-ai/glm-4.5": { 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: { input: 0.1999188, output: 0.800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "z-ai/glm-4.5-air:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "z-ai/glm-4.5-air": { 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: { input: 0.14, output: 0.86, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 131072, } satisfies Model, "qwen/qwen3-235b-a22b-thinking-2507": { 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: { input: 0.077968332, output: 0.31202496, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "z-ai/glm-4-32b": { 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: { input: 0.09999999999999999, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "qwen/qwen3-coder:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "qwen/qwen3-coder": { id: "qwen/qwen3-coder", name: "Qwen: Qwen3 Coder 480B A35B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.19999999999999998, output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "qwen/qwen3-235b-a22b-2507": { 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: { input: 0.077968332, output: 0.31202496, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "moonshotai/kimi-k2:free": { id: "moonshotai/kimi-k2:free", name: "MoonshotAI: Kimi K2 (free)", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "moonshotai/kimi-k2": { id: "moonshotai/kimi-k2", name: "MoonshotAI: Kimi K2", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.14, output: 2.4899999999999998, cacheRead: 0, cacheWrite: 0, }, contextWindow: 63000, maxTokens: 63000, } satisfies Model, "mistralai/devstral-medium": { id: "mistralai/devstral-medium", name: "Mistral: Devstral Medium", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.39999999999999997, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "mistralai/devstral-small": { id: "mistralai/devstral-small", name: "Mistral: Devstral Small 1.1", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.07, output: 0.28, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "inception/mercury": { id: "inception/mercury", name: "Inception: Mercury", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.25, output: 1, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "mistralai/mistral-small-3.2-24b-instruct:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "mistralai/mistral-small-3.2-24b-instruct": { 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: { input: 0.049999999999999996, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "minimax/minimax-m1": { id: "minimax/minimax-m1", name: "MiniMax: MiniMax M1", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.3, output: 1.6500000000000001, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1000000, maxTokens: 40000, } satisfies Model, "mistralai/magistral-small-2506": { id: "mistralai/magistral-small-2506", name: "Mistral: Magistral Small 2506", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40000, maxTokens: 40000, } satisfies Model, "mistralai/magistral-medium-2506": { id: "mistralai/magistral-medium-2506", name: "Mistral: Magistral Medium 2506", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 2, output: 5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 40000, } satisfies Model, "mistralai/magistral-medium-2506:thinking": { 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: { input: 2, output: 5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 40000, } satisfies Model, "deepseek/deepseek-r1-0528": { id: "deepseek/deepseek-r1-0528", name: "DeepSeek: R1 0528", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.1999188, output: 0.800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 4096, } satisfies Model, "mistralai/devstral-small-2505:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "mistralai/devstral-small-2505": { id: "mistralai/devstral-small-2505", name: "Mistral: Devstral Small 2505", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.01999188, output: 0.0800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3.3-8b-instruct:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4028, } satisfies Model, "mistralai/mistral-medium-3": { id: "mistralai/mistral-medium-3", name: "Mistral: Mistral Medium 3", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { input: 0.39999999999999997, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "arcee-ai/virtuoso-large": { id: "arcee-ai/virtuoso-large", name: "Arcee AI: Virtuoso Large", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.75, output: 1.2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 64000, } satisfies Model, "inception/mercury-coder": { id: "inception/mercury-coder", name: "Inception: Mercury Coder", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.25, output: 1, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "qwen/qwen3-4b:free": { id: "qwen/qwen3-4b:free", name: "Qwen: Qwen3 4B (free)", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 4096, } satisfies Model, "qwen/qwen3-30b-a3b": { id: "qwen/qwen3-30b-a3b", name: "Qwen: Qwen3 30B A3B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.01999188, output: 0.0800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 4096, } satisfies Model, "qwen/qwen3-14b": { id: "qwen/qwen3-14b", name: "Qwen: Qwen3 14B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.06, output: 0.24, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 40960, } satisfies Model, "qwen/qwen3-32b": { id: "qwen/qwen3-32b", name: "Qwen: Qwen3 32B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.017992691999999998, output: 0.07200576, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 4096, } satisfies Model, "qwen/qwen3-235b-a22b:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "qwen/qwen3-235b-a22b": { id: "qwen/qwen3-235b-a22b", name: "Qwen: Qwen3 235B A22B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.13, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 40960, maxTokens: 40960, } satisfies Model, "meta-llama/llama-4-maverick:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4028, } satisfies Model, "meta-llama/llama-4-maverick": { 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: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 16384, } satisfies Model, "meta-llama/llama-4-scout:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4028, } satisfies Model, "meta-llama/llama-4-scout": { 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: { input: 0.08, output: 0.3, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 1048576, } satisfies Model, "deepseek/deepseek-chat-v3-0324:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-chat-v3-0324": { id: "deepseek/deepseek-chat-v3-0324", name: "DeepSeek: DeepSeek V3 0324", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.1999188, output: 0.800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 4096, } satisfies Model, "mistralai/mistral-small-3.1-24b-instruct:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "mistralai/mistral-small-3.1-24b-instruct": { 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: { input: 0.01999188, output: 0.0800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 96000, } satisfies Model, "qwen/qwq-32b": { id: "qwen/qwq-32b", name: "Qwen: QwQ 32B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.075, output: 0.15, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "mistralai/mistral-saba": { id: "mistralai/mistral-saba", name: "Mistral: Saba", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.19999999999999998, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "qwen/qwen-turbo": { id: "qwen/qwen-turbo", name: "Qwen: Qwen-Turbo", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.049999999999999996, output: 0.19999999999999998, cacheRead: 0.02, cacheWrite: 0, }, contextWindow: 1000000, maxTokens: 8192, } satisfies Model, "qwen/qwen-plus": { id: "qwen/qwen-plus", name: "Qwen: Qwen-Plus", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.39999999999999997, output: 1.2, cacheRead: 0.16, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 8192, } satisfies Model, "qwen/qwen-max": { id: "qwen/qwen-max", name: "Qwen: Qwen-Max ", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 1.5999999999999999, output: 6.3999999999999995, cacheRead: 0.64, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 8192, } satisfies Model, "mistralai/mistral-small-24b-instruct-2501": { 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: { input: 0.01999188, output: 0.0800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-r1-distill-llama-70b": { 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: { input: 0.025915399999999998, output: 0.103712, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-r1": { id: "deepseek/deepseek-r1", name: "DeepSeek: R1", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: true, input: ["text"], cost: { input: 0.39999999999999997, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 163840, } satisfies Model, "mistralai/codestral-2501": { id: "mistralai/codestral-2501", name: "Mistral: Codestral 2501", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.3, output: 0.8999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, maxTokens: 4096, } satisfies Model, "deepseek/deepseek-chat": { id: "deepseek/deepseek-chat", name: "DeepSeek: DeepSeek V3", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.1999188, output: 0.800064, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3.3-70b-instruct:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 65536, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3.3-70b-instruct": { 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: { input: 0.038000000000000006, output: 0.12, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "amazon/nova-lite-v1": { 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: { input: 0.06, output: 0.24, cacheRead: 0, cacheWrite: 0, }, contextWindow: 300000, maxTokens: 5120, } satisfies Model, "amazon/nova-micro-v1": { id: "amazon/nova-micro-v1", name: "Amazon: Nova Micro 1.0", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.035, output: 0.14, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 5120, } satisfies Model, "amazon/nova-pro-v1": { 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: { input: 0.7999999999999999, output: 3.1999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 300000, maxTokens: 5120, } satisfies Model, "mistralai/mistral-large-2411": { id: "mistralai/mistral-large-2411", name: "Mistral Large 2411", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "mistralai/mistral-large-2407": { id: "mistralai/mistral-large-2407", name: "Mistral Large 2407", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "mistralai/pixtral-large-2411": { id: "mistralai/pixtral-large-2411", name: "Mistral: Pixtral Large 2411", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "thedrummer/unslopnemo-12b": { id: "thedrummer/unslopnemo-12b", name: "TheDrummer: UnslopNemo 12B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.39999999999999997, output: 0.39999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "mistralai/ministral-8b": { id: "mistralai/ministral-8b", name: "Mistral: Ministral 8B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.09999999999999999, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "nvidia/llama-3.1-nemotron-70b-instruct": { 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: { input: 0.12, output: 0.3, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "thedrummer/rocinante-12b": { id: "thedrummer/rocinante-12b", name: "TheDrummer: Rocinante 12B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.16999999999999998, output: 0.43, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3.2-3b-instruct": { 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: { input: 0.003, output: 0.006, cacheRead: 0, cacheWrite: 0, }, contextWindow: 20000, maxTokens: 20000, } satisfies Model, "qwen/qwen-2.5-72b-instruct": { 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: { input: 0.051830799999999996, output: 0.207424, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "mistralai/pixtral-12b": { id: "mistralai/pixtral-12b", name: "Mistral: Pixtral 12B", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "cohere/command-r-plus-08-2024": { 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: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "cohere/command-r-08-2024": { 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: { input: 0.15, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "microsoft/phi-3.5-mini-128k-instruct": { 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: { input: 0.09999999999999999, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "nousresearch/hermes-3-llama-3.1-70b": { 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: { input: 0.09999999999999999, output: 0.28, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3.1-8b-instruct": { 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: { input: 0.015, output: 0.02, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "meta-llama/llama-3.1-70b-instruct": { 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: { input: 0.09999999999999999, output: 0.28, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 16384, } satisfies Model, "meta-llama/llama-3.1-405b-instruct": { 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: { input: 0.7999999999999999, output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 16384, } satisfies Model, "mistralai/mistral-nemo": { id: "mistralai/mistral-nemo", name: "Mistral: Mistral Nemo", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.0075, output: 0.049999999999999996, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32000, maxTokens: 4096, } satisfies Model, "mistralai/mistral-7b-instruct-v0.3": { 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: { input: 0.028, output: 0.054, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 16384, } satisfies Model, "mistralai/mistral-7b-instruct:free": { 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: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 16384, } satisfies Model, "mistralai/mistral-7b-instruct": { id: "mistralai/mistral-7b-instruct", name: "Mistral: Mistral 7B Instruct", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.028, output: 0.054, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 16384, } satisfies Model, "microsoft/phi-3-mini-128k-instruct": { 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: { input: 0.09999999999999999, output: 0.09999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "microsoft/phi-3-medium-128k-instruct": { 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: { input: 1, output: 1, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "meta-llama/llama-3-70b-instruct": { 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: { input: 0.3, output: 0.39999999999999997, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8192, maxTokens: 16384, } satisfies Model, "meta-llama/llama-3-8b-instruct": { 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: { input: 0.03, output: 0.06, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8192, maxTokens: 16384, } satisfies Model, "mistralai/mixtral-8x22b-instruct": { id: "mistralai/mixtral-8x22b-instruct", name: "Mistral: Mixtral 8x22B Instruct", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.8999999999999999, output: 0.8999999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 65536, maxTokens: 4096, } satisfies Model, "cohere/command-r-plus": { id: "cohere/command-r-plus", name: "Cohere: Command R+", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "cohere/command-r-plus-04-2024": { 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: { input: 3, output: 15, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "cohere/command-r": { id: "cohere/command-r", name: "Cohere: Command R", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "cohere/command-r-03-2024": { 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: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4000, } satisfies Model, "mistralai/mistral-large": { id: "mistralai/mistral-large", name: "Mistral Large", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 2, output: 6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "mistralai/mistral-tiny": { id: "mistralai/mistral-tiny", name: "Mistral Tiny", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.25, output: 0.25, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "mistralai/mistral-small": { id: "mistralai/mistral-small", name: "Mistral Small", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.19999999999999998, output: 0.6, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 4096, } satisfies Model, "mistralai/mixtral-8x7b-instruct": { id: "mistralai/mixtral-8x7b-instruct", name: "Mistral: Mixtral 8x7B Instruct", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", reasoning: false, input: ["text"], cost: { input: 0.08, output: 0.24, cacheRead: 0, cacheWrite: 0, }, contextWindow: 32768, maxTokens: 16384, } satisfies Model, "mistralai/mistral-7b-instruct-v0.1": { 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: { input: 0.11, output: 0.19, cacheRead: 0, cacheWrite: 0, }, contextWindow: 2824, maxTokens: 4096, } satisfies Model, }, }, xai: { models: { "grok-code-fast-1": { id: "grok-code-fast-1", name: "xAI: Grok Code Fast 1", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { input: 0.19999999999999998, output: 1.5, cacheRead: 0.02, cacheWrite: 0, }, contextWindow: 256000, maxTokens: 10000, } satisfies Model, "grok-4": { id: "grok-4", name: "xAI: Grok 4", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.75, cacheWrite: 0, }, contextWindow: 256000, maxTokens: 4096, } satisfies Model, "grok-3-mini": { id: "grok-3-mini", name: "xAI: Grok 3 Mini", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { input: 0.3, output: 0.5, cacheRead: 0.075, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "grok-3": { id: "grok-3", name: "xAI: Grok 3", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { input: 3, output: 15, cacheRead: 0.75, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "grok-3-mini-beta": { id: "grok-3-mini-beta", name: "xAI: Grok 3 Mini Beta", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: true, input: ["text"], cost: { input: 0.3, output: 0.5, cacheRead: 0.075, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "grok-3-beta": { id: "grok-3-beta", name: "xAI: Grok 3 Beta", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { input: 3, output: 15, cacheRead: 0.75, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, "grok-2-1212": { id: "grok-2-1212", name: "xAI: Grok 2 1212", provider: "xai", baseUrl: "https://api.x.ai/v1", reasoning: false, input: ["text"], cost: { input: 2, output: 10, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, maxTokens: 4096, } satisfies Model, }, }, openai: { models: { "gpt-4o-audio-preview": { id: "gpt-4o-audio-preview", name: "OpenAI: GPT-4o Audio", provider: "openai", reasoning: false, input: ["text"], cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-5": { id: "gpt-5", name: "OpenAI: GPT-5", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 0, }, contextWindow: 400000, maxTokens: 128000, } satisfies Model, "gpt-5-mini": { id: "gpt-5-mini", name: "OpenAI: GPT-5 Mini", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 0.25, output: 2, cacheRead: 0.024999999999999998, cacheWrite: 0, }, contextWindow: 400000, maxTokens: 128000, } satisfies Model, "gpt-5-nano": { id: "gpt-5-nano", name: "OpenAI: GPT-5 Nano", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 0.049999999999999996, output: 0.39999999999999997, cacheRead: 0.005, cacheWrite: 0, }, contextWindow: 400000, maxTokens: 128000, } satisfies Model, "gpt-oss-120b": { id: "gpt-oss-120b", name: "OpenAI: gpt-oss-120b", provider: "openai", reasoning: true, input: ["text"], cost: { input: 0.072, output: 0.28, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131000, maxTokens: 131000, } satisfies Model, "gpt-oss-20b": { id: "gpt-oss-20b", name: "OpenAI: gpt-oss-20b", provider: "openai", reasoning: true, input: ["text"], cost: { input: 0.04, output: 0.15, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131000, maxTokens: 131000, } satisfies Model, "o3-pro": { id: "o3-pro", name: "OpenAI: o3 Pro", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 20, output: 80, cacheRead: 0, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "codex-mini": { id: "codex-mini", name: "OpenAI: Codex Mini", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 1.5, output: 6, cacheRead: 0.375, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "o4-mini-high": { id: "o4-mini-high", name: "OpenAI: o4 Mini High", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, o3: { id: "o3", name: "OpenAI: o3", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "o4-mini": { id: "o4-mini", name: "OpenAI: o4 Mini", provider: "openai", reasoning: true, input: ["text", "image"], cost: { input: 1.1, output: 4.4, cacheRead: 0.275, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "gpt-4.1": { id: "gpt-4.1", name: "OpenAI: GPT-4.1", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0, }, contextWindow: 1047576, maxTokens: 32768, } satisfies Model, "gpt-4.1-mini": { id: "gpt-4.1-mini", name: "OpenAI: GPT-4.1 Mini", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 0.39999999999999997, output: 1.5999999999999999, cacheRead: 0.09999999999999999, cacheWrite: 0, }, contextWindow: 1047576, maxTokens: 32768, } satisfies Model, "gpt-4.1-nano": { id: "gpt-4.1-nano", name: "OpenAI: GPT-4.1 Nano", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.39999999999999997, cacheRead: 0.024999999999999998, cacheWrite: 0, }, contextWindow: 1047576, maxTokens: 32768, } satisfies Model, "o3-mini-high": { id: "o3-mini-high", name: "OpenAI: o3 Mini High", provider: "openai", reasoning: false, input: ["text"], cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "o3-mini": { id: "o3-mini", name: "OpenAI: o3 Mini", provider: "openai", reasoning: false, input: ["text"], cost: { input: 1.1, output: 4.4, cacheRead: 0.55, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, o1: { id: "o1", name: "OpenAI: o1", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 15, output: 60, cacheRead: 7.5, cacheWrite: 0, }, contextWindow: 200000, maxTokens: 100000, } satisfies Model, "gpt-4o-2024-11-20": { id: "gpt-4o-2024-11-20", name: "OpenAI: GPT-4o (2024-11-20)", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-4o-2024-08-06": { id: "gpt-4o-2024-08-06", name: "OpenAI: GPT-4o (2024-08-06)", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-4o-mini": { id: "gpt-4o-mini", name: "OpenAI: GPT-4o-mini", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-4o-mini-2024-07-18": { id: "gpt-4o-mini-2024-07-18", name: "OpenAI: GPT-4o-mini (2024-07-18)", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 0.15, output: 0.6, cacheRead: 0.075, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-4o": { id: "gpt-4o", name: "OpenAI: GPT-4o", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 2.5, output: 10, cacheRead: 1.25, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 16384, } satisfies Model, "gpt-4o:extended": { id: "gpt-4o:extended", name: "OpenAI: GPT-4o (extended)", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 6, output: 18, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 64000, } satisfies Model, "gpt-4o-2024-05-13": { id: "gpt-4o-2024-05-13", name: "OpenAI: GPT-4o (2024-05-13)", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 5, output: 15, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "gpt-4-turbo": { id: "gpt-4-turbo", name: "OpenAI: GPT-4 Turbo", provider: "openai", reasoning: false, input: ["text", "image"], cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "gpt-3.5-turbo-0613": { id: "gpt-3.5-turbo-0613", name: "OpenAI: GPT-3.5 Turbo (older v0613)", provider: "openai", reasoning: false, input: ["text"], cost: { input: 1, output: 2, cacheRead: 0, cacheWrite: 0, }, contextWindow: 4095, maxTokens: 4096, } satisfies Model, "gpt-4-turbo-preview": { id: "gpt-4-turbo-preview", name: "OpenAI: GPT-4 Turbo Preview", provider: "openai", reasoning: false, input: ["text"], cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "gpt-4-1106-preview": { id: "gpt-4-1106-preview", name: "OpenAI: GPT-4 Turbo (older v1106)", provider: "openai", reasoning: false, input: ["text"], cost: { input: 10, output: 30, cacheRead: 0, cacheWrite: 0, }, contextWindow: 128000, maxTokens: 4096, } satisfies Model, "gpt-3.5-turbo-16k": { id: "gpt-3.5-turbo-16k", name: "OpenAI: GPT-3.5 Turbo 16k", provider: "openai", reasoning: false, input: ["text"], cost: { input: 3, output: 4, cacheRead: 0, cacheWrite: 0, }, contextWindow: 16385, maxTokens: 4096, } satisfies Model, "gpt-4": { id: "gpt-4", name: "OpenAI: GPT-4", provider: "openai", reasoning: false, input: ["text"], cost: { input: 30, output: 60, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8191, maxTokens: 4096, } satisfies Model, "gpt-4-0314": { id: "gpt-4-0314", name: "OpenAI: GPT-4 (older v0314)", provider: "openai", reasoning: false, input: ["text"], cost: { input: 30, output: 60, cacheRead: 0, cacheWrite: 0, }, contextWindow: 8191, maxTokens: 4096, } satisfies Model, "gpt-3.5-turbo": { id: "gpt-3.5-turbo", name: "OpenAI: GPT-3.5 Turbo", provider: "openai", reasoning: false, input: ["text"], cost: { input: 0.5, output: 1.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 16385, maxTokens: 4096, } satisfies Model, }, }, anthropic: { models: { "claude-opus-4-1": { id: "claude-opus-4-1", name: "Anthropic: Claude Opus 4.1", provider: "anthropic", reasoning: true, input: ["text", "image"], cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75, }, contextWindow: 200000, maxTokens: 32000, } satisfies Model, "claude-opus-4-0": { id: "claude-opus-4-0", name: "Anthropic: Claude Opus 4", provider: "anthropic", reasoning: true, input: ["text", "image"], cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75, }, contextWindow: 200000, maxTokens: 32000, } satisfies Model, "claude-sonnet-4-0": { id: "claude-sonnet-4-0", name: "Anthropic: Claude Sonnet 4", provider: "anthropic", reasoning: true, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75, }, contextWindow: 1000000, maxTokens: 64000, } satisfies Model, "claude-3-7-sonnet-latest": { id: "claude-3-7-sonnet-latest", name: "Anthropic: Claude 3.7 Sonnet", provider: "anthropic", reasoning: true, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75, }, contextWindow: 200000, maxTokens: 64000, } satisfies Model, "claude-3-7-sonnet-latest:thinking": { id: "claude-3-7-sonnet-latest:thinking", name: "Anthropic: Claude 3.7 Sonnet (thinking)", provider: "anthropic", reasoning: true, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75, }, 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", 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-sonnet-latest": { id: "claude-3-5-sonnet-latest", name: "Anthropic: Claude 3.5 Sonnet", provider: "anthropic", reasoning: false, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75, }, contextWindow: 200000, maxTokens: 8192, } satisfies Model, "claude-3-5-sonnet-20240620": { id: "claude-3-5-sonnet-20240620", name: "Anthropic: Claude 3.5 Sonnet (2024-06-20)", provider: "anthropic", reasoning: false, input: ["text", "image"], cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75, }, contextWindow: 200000, maxTokens: 8192, } satisfies Model, "claude-3-haiku-20240307": { id: "claude-3-haiku-20240307", name: "Anthropic: Claude 3 Haiku", provider: "anthropic", reasoning: false, input: ["text", "image"], cost: { input: 0.25, output: 1.25, cacheRead: 0.03, cacheWrite: 0.3, }, contextWindow: 200000, maxTokens: 4096, } satisfies Model, "claude-3-opus-20240229": { id: "claude-3-opus-20240229", name: "Anthropic: Claude 3 Opus", provider: "anthropic", reasoning: false, input: ["text", "image"], cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75, }, contextWindow: 200000, maxTokens: 4096, } satisfies Model, }, }, google: { models: { "gemini-2.5-flash-lite": { id: "gemini-2.5-flash-lite", name: "Google: Gemini 2.5 Flash Lite", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.39999999999999997, cacheRead: 0.024999999999999998, cacheWrite: 0.18330000000000002, }, contextWindow: 1048576, maxTokens: 65535, } satisfies Model, "gemini-2.5-flash-lite-preview-06-17": { id: "gemini-2.5-flash-lite-preview-06-17", name: "Google: Gemini 2.5 Flash Lite Preview 06-17", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.39999999999999997, cacheRead: 0.024999999999999998, cacheWrite: 0.18330000000000002, }, contextWindow: 1048576, maxTokens: 65535, } satisfies Model, "gemini-2.5-flash": { id: "gemini-2.5-flash", name: "Google: Gemini 2.5 Flash", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 0.3, output: 2.5, cacheRead: 0.075, cacheWrite: 0.3833, }, contextWindow: 1048576, maxTokens: 65535, } satisfies Model, "gemini-2.5-pro": { id: "gemini-2.5-pro", name: "Google: Gemini 2.5 Pro", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 1.25, output: 10, cacheRead: 0.31, cacheWrite: 1.625, }, contextWindow: 1048576, maxTokens: 65536, } satisfies Model, "gemini-2.5-pro-preview": { id: "gemini-2.5-pro-preview", name: "Google: Gemini 2.5 Pro Preview 06-05", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 1.25, output: 10, cacheRead: 0.31, cacheWrite: 1.625, }, contextWindow: 1048576, maxTokens: 65536, } satisfies Model, "gemini-2.5-pro-preview-05-06": { id: "gemini-2.5-pro-preview-05-06", name: "Google: Gemini 2.5 Pro Preview 05-06", provider: "google", reasoning: true, input: ["text", "image"], cost: { input: 1.25, output: 10, cacheRead: 0.31, cacheWrite: 1.625, }, contextWindow: 1048576, maxTokens: 65535, } satisfies Model, "gemini-2.5-pro-exp-03-25": { id: "gemini-2.5-pro-exp-03-25", name: "Google: Gemini 2.5 Pro Experimental", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 65535, } satisfies Model, "gemini-2.0-flash-lite-001": { id: "gemini-2.0-flash-lite-001", name: "Google: Gemini 2.0 Flash Lite", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0.075, output: 0.3, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 8192, } satisfies Model, "gemini-2.0-flash-001": { id: "gemini-2.0-flash-001", name: "Google: Gemini 2.0 Flash", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0.09999999999999999, output: 0.39999999999999997, cacheRead: 0.024999999999999998, cacheWrite: 0.18330000000000002, }, contextWindow: 1048576, maxTokens: 8192, } satisfies Model, "gemini-2.0-flash-exp:free": { id: "gemini-2.0-flash-exp:free", name: "Google: Gemini 2.0 Flash Experimental (free)", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, maxTokens: 8192, } satisfies Model, "gemini-flash-1.5-8b": { id: "gemini-flash-1.5-8b", name: "Google: Gemini 1.5 Flash 8B", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0.0375, output: 0.15, cacheRead: 0.01, cacheWrite: 0.0583, }, contextWindow: 1000000, maxTokens: 8192, } satisfies Model, "gemini-flash-1.5": { id: "gemini-flash-1.5", name: "Google: Gemini 1.5 Flash ", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 0.075, output: 0.3, cacheRead: 0.01875, cacheWrite: 0.1583, }, contextWindow: 1000000, maxTokens: 8192, } satisfies Model, "gemini-pro-1.5": { id: "gemini-pro-1.5", name: "Google: Gemini 1.5 Pro", provider: "google", reasoning: false, input: ["text", "image"], cost: { input: 1.25, output: 5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 2000000, maxTokens: 8192, } satisfies Model, }, }, } as const; // Helper type to extract models for each provider export type ProviderModels = { [K in keyof typeof PROVIDERS]: (typeof PROVIDERS)[K]["models"]; };