3d6acb37b9
Includes updated Xiaomi MiMo pricing from models.dev. Closes #6138
4637 lines
121 KiB
TypeScript
4637 lines
121 KiB
TypeScript
// 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.ts";
|
|
|
|
export const OPENROUTER_MODELS = {
|
|
"ai21/jamba-large-1.7": {
|
|
id: "ai21/jamba-large-1.7",
|
|
name: "AI21: Jamba Large 1.7",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-2-lite-v1": {
|
|
id: "amazon/nova-2-lite-v1",
|
|
name: "Amazon: Nova 2 Lite",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-lite-v1": {
|
|
id: "amazon/nova-lite-v1",
|
|
name: "Amazon: Nova Lite 1.0",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.24,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 300000,
|
|
maxTokens: 5120,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-micro-v1": {
|
|
id: "amazon/nova-micro-v1",
|
|
name: "Amazon: Nova Micro 1.0",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.035,
|
|
output: 0.14,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 5120,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-premier-v1": {
|
|
id: "amazon/nova-premier-v1",
|
|
name: "Amazon: Nova Premier 1.0",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 12.5,
|
|
cacheRead: 0.625,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-pro-v1": {
|
|
id: "amazon/nova-pro-v1",
|
|
name: "Amazon: Nova Pro 1.0",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.8,
|
|
output: 3.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 300000,
|
|
maxTokens: 5120,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3-haiku": {
|
|
id: "anthropic/claude-3-haiku",
|
|
name: "Anthropic: Claude 3 Haiku",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"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<"openai-completions">,
|
|
"anthropic/claude-fable-5": {
|
|
id: "anthropic/claude-fable-5",
|
|
name: "Anthropic: Claude Fable 5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 50,
|
|
cacheRead: 1,
|
|
cacheWrite: 12.5,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-haiku-4.5": {
|
|
id: "anthropic/claude-haiku-4.5",
|
|
name: "Anthropic: Claude Haiku 4.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4": {
|
|
id: "anthropic/claude-opus-4",
|
|
name: "Anthropic: Claude Opus 4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.1": {
|
|
id: "anthropic/claude-opus-4.1",
|
|
name: "Anthropic: Claude Opus 4.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.5": {
|
|
id: "anthropic/claude-opus-4.5",
|
|
name: "Anthropic: Claude Opus 4.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.6": {
|
|
id: "anthropic/claude-opus-4.6",
|
|
name: "Anthropic: Claude Opus 4.6",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"max"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.7": {
|
|
id: "anthropic/claude-opus-4.7",
|
|
name: "Anthropic: Claude Opus 4.7",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.7-fast": {
|
|
id: "anthropic/claude-opus-4.7-fast",
|
|
name: "Anthropic: Claude Opus 4.7 (Fast)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 30,
|
|
output: 150,
|
|
cacheRead: 3,
|
|
cacheWrite: 37.5,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.8": {
|
|
id: "anthropic/claude-opus-4.8",
|
|
name: "Anthropic: Claude Opus 4.8",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-opus-4.8-fast": {
|
|
id: "anthropic/claude-opus-4.8-fast",
|
|
name: "Anthropic: Claude Opus 4.8 (Fast)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 50,
|
|
cacheRead: 1,
|
|
cacheWrite: 12.5,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-sonnet-4": {
|
|
id: "anthropic/claude-sonnet-4",
|
|
name: "Anthropic: Claude Sonnet 4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-sonnet-4.5": {
|
|
id: "anthropic/claude-sonnet-4.5",
|
|
name: "Anthropic: Claude Sonnet 4.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-sonnet-4.6": {
|
|
id: "anthropic/claude-sonnet-4.6",
|
|
name: "Anthropic: Claude Sonnet 4.6",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter","cacheControlFormat":"anthropic"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"arcee-ai/trinity-large-thinking": {
|
|
id: "arcee-ai/trinity-large-thinking",
|
|
name: "Arcee AI: Trinity Large Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 0.8,
|
|
cacheRead: 0.06,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 80000,
|
|
} satisfies Model<"openai-completions">,
|
|
"arcee-ai/trinity-mini": {
|
|
id: "arcee-ai/trinity-mini",
|
|
name: "Arcee AI: Trinity Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.045,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"arcee-ai/virtuoso-large": {
|
|
id: "arcee-ai/virtuoso-large",
|
|
name: "Arcee AI: Virtuoso Large",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"auto": {
|
|
id: "auto",
|
|
name: "Auto",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"bytedance-seed/seed-1.6": {
|
|
id: "bytedance-seed/seed-1.6",
|
|
name: "ByteDance Seed: Seed 1.6",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"bytedance-seed/seed-1.6-flash": {
|
|
id: "bytedance-seed/seed-1.6-flash",
|
|
name: "ByteDance Seed: Seed 1.6 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"bytedance-seed/seed-2.0-lite": {
|
|
id: "bytedance-seed/seed-2.0-lite",
|
|
name: "ByteDance Seed: Seed-2.0-Lite",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"bytedance-seed/seed-2.0-mini": {
|
|
id: "bytedance-seed/seed-2.0-mini",
|
|
name: "ByteDance Seed: Seed-2.0-Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"cohere/command-r-08-2024": {
|
|
id: "cohere/command-r-08-2024",
|
|
name: "Cohere: Command R (08-2024)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4000,
|
|
} satisfies Model<"openai-completions">,
|
|
"cohere/command-r-plus-08-2024": {
|
|
id: "cohere/command-r-plus-08-2024",
|
|
name: "Cohere: Command R+ (08-2024)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4000,
|
|
} satisfies Model<"openai-completions">,
|
|
"cohere/north-mini-code:free": {
|
|
id: "cohere/north-mini-code:free",
|
|
name: "Cohere: North Mini Code (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-chat": {
|
|
id: "deepseek/deepseek-chat",
|
|
name: "DeepSeek: DeepSeek V3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2002,
|
|
output: 0.8001,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-chat-v3-0324": {
|
|
id: "deepseek/deepseek-chat-v3-0324",
|
|
name: "DeepSeek: DeepSeek V3 0324",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.77,
|
|
cacheRead: 0.135,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-chat-v3.1": {
|
|
id: "deepseek/deepseek-chat-v3.1",
|
|
name: "DeepSeek: DeepSeek V3.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.21,
|
|
output: 0.79,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-r1": {
|
|
id: "deepseek/deepseek-r1",
|
|
name: "DeepSeek: R1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.7,
|
|
output: 2.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 16000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-r1-0528": {
|
|
id: "deepseek/deepseek-r1-0528",
|
|
name: "DeepSeek: R1 0528",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 2.15,
|
|
cacheRead: 0.35,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v3.1-terminus": {
|
|
id: "deepseek/deepseek-v3.1-terminus",
|
|
name: "DeepSeek: DeepSeek V3.1 Terminus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.27,
|
|
output: 0.95,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v3.2": {
|
|
id: "deepseek/deepseek-v3.2",
|
|
name: "DeepSeek: DeepSeek V3.2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2288,
|
|
output: 0.3432,
|
|
cacheRead: 0.02288,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v3.2-exp": {
|
|
id: "deepseek/deepseek-v3.2-exp",
|
|
name: "DeepSeek: DeepSeek V3.2 Exp",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.27,
|
|
output: 0.41,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v4-flash": {
|
|
id: "deepseek/deepseek-v4-flash",
|
|
name: "DeepSeek: DeepSeek V4 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter","requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"xhigh"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09,
|
|
output: 0.18,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v4-pro": {
|
|
id: "deepseek/deepseek-v4-pro",
|
|
name: "DeepSeek: DeepSeek V4 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter","requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"minimal":null,"low":null,"medium":null,"high":"high","xhigh":"xhigh"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.435,
|
|
output: 0.87,
|
|
cacheRead: 0.003625,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 384000,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-flash": {
|
|
id: "google/gemini-2.5-flash",
|
|
name: "Google: Gemini 2.5 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-flash-lite": {
|
|
id: "google/gemini-2.5-flash-lite",
|
|
name: "Google: Gemini 2.5 Flash Lite",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-flash-lite-preview-09-2025": {
|
|
id: "google/gemini-2.5-flash-lite-preview-09-2025",
|
|
name: "Google: Gemini 2.5 Flash Lite Preview 09-2025",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-pro": {
|
|
id: "google/gemini-2.5-pro",
|
|
name: "Google: Gemini 2.5 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-pro-preview": {
|
|
id: "google/gemini-2.5-pro-preview",
|
|
name: "Google: Gemini 2.5 Pro Preview 06-05",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-pro-preview-05-06": {
|
|
id: "google/gemini-2.5-pro-preview-05-06",
|
|
name: "Google: Gemini 2.5 Pro Preview 05-06",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3-flash-preview": {
|
|
id: "google/gemini-3-flash-preview",
|
|
name: "Google: Gemini 3 Flash Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 3,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3-pro-image": {
|
|
id: "google/gemini-3-pro-image",
|
|
name: "Google: Nano Banana Pro (Gemini 3 Pro Image)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3.1-flash-lite": {
|
|
id: "google/gemini-3.1-flash-lite",
|
|
name: "Google: Gemini 3.1 Flash Lite",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 1.5,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3.1-flash-lite-preview": {
|
|
id: "google/gemini-3.1-flash-lite-preview",
|
|
name: "Google: Gemini 3.1 Flash Lite Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 1.5,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3.1-pro-preview": {
|
|
id: "google/gemini-3.1-pro-preview",
|
|
name: "Google: Gemini 3.1 Pro Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3.1-pro-preview-customtools": {
|
|
id: "google/gemini-3.1-pro-preview-customtools",
|
|
name: "Google: Gemini 3.1 Pro Preview Custom Tools",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048756,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3.5-flash": {
|
|
id: "google/gemini-3.5-flash",
|
|
name: "Google: Gemini 3.5 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 9,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-3-12b-it": {
|
|
id: "google/gemma-3-12b-it",
|
|
name: "Google: Gemma 3 12B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-3-27b-it": {
|
|
id: "google/gemma-3-27b-it",
|
|
name: "Google: Gemma 3 27B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.16,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-4-26b-a4b-it": {
|
|
id: "google/gemma-4-26b-a4b-it",
|
|
name: "Google: Gemma 4 26B A4B ",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.33,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-4-26b-a4b-it:free": {
|
|
id: "google/gemma-4-26b-a4b-it:free",
|
|
name: "Google: Gemma 4 26B A4B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-4-31b-it": {
|
|
id: "google/gemma-4-31b-it",
|
|
name: "Google: Gemma 4 31B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.12,
|
|
output: 0.35,
|
|
cacheRead: 0.09,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemma-4-31b-it:free": {
|
|
id: "google/gemma-4-31b-it:free",
|
|
name: "Google: Gemma 4 31B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"ibm-granite/granite-4.1-8b": {
|
|
id: "ibm-granite/granite-4.1-8b",
|
|
name: "IBM: Granite 4.1 8B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.1,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"inception/mercury-2": {
|
|
id: "inception/mercury-2",
|
|
name: "Inception: Mercury 2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"off":null},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 0.75,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 50000,
|
|
} satisfies Model<"openai-completions">,
|
|
"inclusionai/ling-2.6-1t": {
|
|
id: "inclusionai/ling-2.6-1t",
|
|
name: "inclusionAI: Ling-2.6-1T",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.625,
|
|
cacheRead: 0.015,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"inclusionai/ling-2.6-flash": {
|
|
id: "inclusionai/ling-2.6-flash",
|
|
name: "inclusionAI: Ling-2.6-flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.01,
|
|
output: 0.03,
|
|
cacheRead: 0.002,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"inclusionai/ring-2.6-1t": {
|
|
id: "inclusionai/ring-2.6-1t",
|
|
name: "inclusionAI: Ring-2.6-1T",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.625,
|
|
cacheRead: 0.015,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"kwaipilot/kat-coder-pro-v2": {
|
|
id: "kwaipilot/kat-coder-pro-v2",
|
|
name: "Kwaipilot: KAT-Coder-Pro V2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0.06,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 80000,
|
|
} satisfies Model<"openai-completions">,
|
|
"liquid/lfm-2.5-1.2b-thinking:free": {
|
|
id: "liquid/lfm-2.5-1.2b-thinking:free",
|
|
name: "LiquidAI: LFM2.5-1.2B-Thinking (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3.1-70b-instruct": {
|
|
id: "meta-llama/llama-3.1-70b-instruct",
|
|
name: "Meta: Llama 3.1 70B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3.1-8b-instruct": {
|
|
id: "meta-llama/llama-3.1-8b-instruct",
|
|
name: "Meta: Llama 3.1 8B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.02,
|
|
output: 0.03,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3.3-70b-instruct": {
|
|
id: "meta-llama/llama-3.3-70b-instruct",
|
|
name: "Meta: Llama 3.3 70B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.32,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"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)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-4-maverick": {
|
|
id: "meta-llama/llama-4-maverick",
|
|
name: "Meta: Llama 4 Maverick",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-4-scout": {
|
|
id: "meta-llama/llama-4-scout",
|
|
name: "Meta: Llama 4 Scout",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 10000000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m1": {
|
|
id: "minimax/minimax-m1",
|
|
name: "MiniMax: MiniMax M1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 2.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 40000,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m2": {
|
|
id: "minimax/minimax-m2",
|
|
name: "MiniMax: MiniMax M2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.255,
|
|
output: 1,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 196608,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m2.1": {
|
|
id: "minimax/minimax-m2.1",
|
|
name: "MiniMax: MiniMax M2.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.29,
|
|
output: 0.95,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 196608,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m2.5": {
|
|
id: "minimax/minimax-m2.5",
|
|
name: "MiniMax: MiniMax M2.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.12,
|
|
output: 0.48,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 196608,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m2.7": {
|
|
id: "minimax/minimax-m2.7",
|
|
name: "MiniMax: MiniMax M2.7",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.18,
|
|
output: 0.72,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 196608,
|
|
} satisfies Model<"openai-completions">,
|
|
"minimax/minimax-m3": {
|
|
id: "minimax/minimax-m3",
|
|
name: "MiniMax: MiniMax M3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0.06,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 512000,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/codestral-2508": {
|
|
id: "mistralai/codestral-2508",
|
|
name: "Mistral: Codestral 2508",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.9,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/devstral-2512": {
|
|
id: "mistralai/devstral-2512",
|
|
name: "Mistral: Devstral 2 2512",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 2,
|
|
cacheRead: 0.04,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/ministral-14b-2512": {
|
|
id: "mistralai/ministral-14b-2512",
|
|
name: "Mistral: Ministral 3 14B 2512",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.2,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/ministral-3b-2512": {
|
|
id: "mistralai/ministral-3b-2512",
|
|
name: "Mistral: Ministral 3 3B 2512",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.1,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/ministral-8b-2512": {
|
|
id: "mistralai/ministral-8b-2512",
|
|
name: "Mistral: Ministral 3 8B 2512",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.15,
|
|
cacheRead: 0.015,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-large": {
|
|
id: "mistralai/mistral-large",
|
|
name: "Mistral Large",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-large-2407": {
|
|
id: "mistralai/mistral-large-2407",
|
|
name: "Mistral Large 2407",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-large-2512": {
|
|
id: "mistralai/mistral-large-2512",
|
|
name: "Mistral: Mistral Large 3 2512",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 1.5,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-medium-3": {
|
|
id: "mistralai/mistral-medium-3",
|
|
name: "Mistral: Mistral Medium 3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 2,
|
|
cacheRead: 0.04,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-medium-3-5": {
|
|
id: "mistralai/mistral-medium-3-5",
|
|
name: "Mistral: Mistral Medium 3.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 7.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-medium-3.1": {
|
|
id: "mistralai/mistral-medium-3.1",
|
|
name: "Mistral: Mistral Medium 3.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 2,
|
|
cacheRead: 0.04,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-nemo": {
|
|
id: "mistralai/mistral-nemo",
|
|
name: "Mistral: Mistral Nemo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.02,
|
|
output: 0.03,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-saba": {
|
|
id: "mistralai/mistral-saba",
|
|
name: "Mistral: Saba",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.6,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-small-2603": {
|
|
id: "mistralai/mistral-small-2603",
|
|
name: "Mistral: Mistral Small 4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.015,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-small-3.2-24b-instruct": {
|
|
id: "mistralai/mistral-small-3.2-24b-instruct",
|
|
name: "Mistral: Mistral Small 3.2 24B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mixtral-8x22b-instruct": {
|
|
id: "mistralai/mixtral-8x22b-instruct",
|
|
name: "Mistral: Mixtral 8x22B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/voxtral-small-24b-2507": {
|
|
id: "mistralai/voxtral-small-24b-2507",
|
|
name: "Mistral: Voxtral Small 24B 2507",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.3,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2": {
|
|
id: "moonshotai/kimi-k2",
|
|
name: "MoonshotAI: Kimi K2 0711",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.57,
|
|
output: 2.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 100352,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2-0905": {
|
|
id: "moonshotai/kimi-k2-0905",
|
|
name: "MoonshotAI: Kimi K2 0905",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 100352,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2-thinking": {
|
|
id: "moonshotai/kimi-k2-thinking",
|
|
name: "MoonshotAI: Kimi K2 Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.5,
|
|
cacheRead: 0.6,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2.5": {
|
|
id: "moonshotai/kimi-k2.5",
|
|
name: "MoonshotAI: Kimi K2.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.41,
|
|
output: 2.06,
|
|
cacheRead: 0.07,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2.6": {
|
|
id: "moonshotai/kimi-k2.6",
|
|
name: "MoonshotAI: Kimi K2.6",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter","requiresReasoningContentOnAssistantMessages":true},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.55,
|
|
output: 3.2,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2.7-code": {
|
|
id: "moonshotai/kimi-k2.7-code",
|
|
name: "MoonshotAI: Kimi K2.7 Code",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.74,
|
|
output: 3.5,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/llama-3.3-nemotron-super-49b-v1.5": {
|
|
id: "nvidia/llama-3.3-nemotron-super-49b-v1.5",
|
|
name: "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-nano-30b-a3b": {
|
|
id: "nvidia/nemotron-3-nano-30b-a3b",
|
|
name: "NVIDIA: Nemotron 3 Nano 30B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 228000,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-nano-30b-a3b:free": {
|
|
id: "nvidia/nemotron-3-nano-30b-a3b:free",
|
|
name: "NVIDIA: Nemotron 3 Nano 30B A3B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": {
|
|
id: "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",
|
|
name: "NVIDIA: Nemotron 3 Nano Omni (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-super-120b-a12b": {
|
|
id: "nvidia/nemotron-3-super-120b-a12b",
|
|
name: "NVIDIA: Nemotron 3 Super",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.085,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-super-120b-a12b:free": {
|
|
id: "nvidia/nemotron-3-super-120b-a12b:free",
|
|
name: "NVIDIA: Nemotron 3 Super (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-ultra-550b-a55b": {
|
|
id: "nvidia/nemotron-3-ultra-550b-a55b",
|
|
name: "NVIDIA: Nemotron 3 Ultra",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 2.2,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-3-ultra-550b-a55b:free": {
|
|
id: "nvidia/nemotron-3-ultra-550b-a55b:free",
|
|
name: "NVIDIA: Nemotron 3 Ultra (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-nano-12b-v2-vl:free": {
|
|
id: "nvidia/nemotron-nano-12b-v2-vl:free",
|
|
name: "NVIDIA: Nemotron Nano 12B 2 VL (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-nano-9b-v2:free": {
|
|
id: "nvidia/nemotron-nano-9b-v2:free",
|
|
name: "NVIDIA: Nemotron Nano 9B V2 (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-3.5-turbo": {
|
|
id: "openai/gpt-3.5-turbo",
|
|
name: "OpenAI: GPT-3.5 Turbo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 1.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 16385,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-3.5-turbo-0613": {
|
|
id: "openai/gpt-3.5-turbo-0613",
|
|
name: "OpenAI: GPT-3.5 Turbo (older v0613)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 4095,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-3.5-turbo-16k": {
|
|
id: "openai/gpt-3.5-turbo-16k",
|
|
name: "OpenAI: GPT-3.5 Turbo 16k",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 16385,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4": {
|
|
id: "openai/gpt-4",
|
|
name: "OpenAI: GPT-4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 30,
|
|
output: 60,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8191,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4-turbo": {
|
|
id: "openai/gpt-4-turbo",
|
|
name: "OpenAI: GPT-4 Turbo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4-turbo-preview": {
|
|
id: "openai/gpt-4-turbo-preview",
|
|
name: "OpenAI: GPT-4 Turbo Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4.1": {
|
|
id: "openai/gpt-4.1",
|
|
name: "OpenAI: GPT-4.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4.1-mini": {
|
|
id: "openai/gpt-4.1-mini",
|
|
name: "OpenAI: GPT-4.1 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 1.6,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4.1-nano": {
|
|
id: "openai/gpt-4.1-nano",
|
|
name: "OpenAI: GPT-4.1 Nano",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o": {
|
|
id: "openai/gpt-4o",
|
|
name: "OpenAI: GPT-4o",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-2024-05-13": {
|
|
id: "openai/gpt-4o-2024-05-13",
|
|
name: "OpenAI: GPT-4o (2024-05-13)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-2024-08-06": {
|
|
id: "openai/gpt-4o-2024-08-06",
|
|
name: "OpenAI: GPT-4o (2024-08-06)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-2024-11-20": {
|
|
id: "openai/gpt-4o-2024-11-20",
|
|
name: "OpenAI: GPT-4o (2024-11-20)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-mini": {
|
|
id: "openai/gpt-4o-mini",
|
|
name: "OpenAI: GPT-4o-mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-mini-2024-07-18": {
|
|
id: "openai/gpt-4o-mini-2024-07-18",
|
|
name: "OpenAI: GPT-4o-mini (2024-07-18)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5": {
|
|
id: "openai/gpt-5",
|
|
name: "OpenAI: GPT-5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-codex": {
|
|
id: "openai/gpt-5-codex",
|
|
name: "OpenAI: GPT-5 Codex",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-mini": {
|
|
id: "openai/gpt-5-mini",
|
|
name: "OpenAI: GPT-5 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-nano": {
|
|
id: "openai/gpt-5-nano",
|
|
name: "OpenAI: GPT-5 Nano",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.4,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-pro": {
|
|
id: "openai/gpt-5-pro",
|
|
name: "OpenAI: GPT-5 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 120,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.1": {
|
|
id: "openai/gpt-5.1",
|
|
name: "OpenAI: GPT-5.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.1-chat": {
|
|
id: "openai/gpt-5.1-chat",
|
|
name: "OpenAI: GPT-5.1 Chat",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.1-codex": {
|
|
id: "openai/gpt-5.1-codex",
|
|
name: "OpenAI: GPT-5.1-Codex",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.1-codex-max": {
|
|
id: "openai/gpt-5.1-codex-max",
|
|
name: "OpenAI: GPT-5.1-Codex-Max",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.1-codex-mini": {
|
|
id: "openai/gpt-5.1-codex-mini",
|
|
name: "OpenAI: GPT-5.1-Codex-Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.2": {
|
|
id: "openai/gpt-5.2",
|
|
name: "OpenAI: GPT-5.2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.2-chat": {
|
|
id: "openai/gpt-5.2-chat",
|
|
name: "OpenAI: GPT-5.2 Chat",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.2-codex": {
|
|
id: "openai/gpt-5.2-codex",
|
|
name: "OpenAI: GPT-5.2-Codex",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.2-pro": {
|
|
id: "openai/gpt-5.2-pro",
|
|
name: "OpenAI: GPT-5.2 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 21,
|
|
output: 168,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.3-chat": {
|
|
id: "openai/gpt-5.3-chat",
|
|
name: "OpenAI: GPT-5.3 Chat",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.3-codex": {
|
|
id: "openai/gpt-5.3-codex",
|
|
name: "OpenAI: GPT-5.3-Codex",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.75,
|
|
output: 14,
|
|
cacheRead: 0.175,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.4": {
|
|
id: "openai/gpt-5.4",
|
|
name: "OpenAI: GPT-5.4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 15,
|
|
cacheRead: 0.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.4-mini": {
|
|
id: "openai/gpt-5.4-mini",
|
|
name: "OpenAI: GPT-5.4 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 4.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.4-nano": {
|
|
id: "openai/gpt-5.4-nano",
|
|
name: "OpenAI: GPT-5.4 Nano",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.25,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.4-pro": {
|
|
id: "openai/gpt-5.4-pro",
|
|
name: "OpenAI: GPT-5.4 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 30,
|
|
output: 180,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.5": {
|
|
id: "openai/gpt-5.5",
|
|
name: "OpenAI: GPT-5.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 30,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5.5-pro": {
|
|
id: "openai/gpt-5.5-pro",
|
|
name: "OpenAI: GPT-5.5 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh","off":null,"minimal":null,"low":null},
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 30,
|
|
output: 180,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-audio": {
|
|
id: "openai/gpt-audio",
|
|
name: "OpenAI: GPT Audio",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-audio-mini": {
|
|
id: "openai/gpt-audio-mini",
|
|
name: "OpenAI: GPT Audio Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-chat-latest": {
|
|
id: "openai/gpt-chat-latest",
|
|
name: "OpenAI: GPT Chat Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 30,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-120b": {
|
|
id: "openai/gpt-oss-120b",
|
|
name: "OpenAI: gpt-oss-120b",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-120b:free": {
|
|
id: "openai/gpt-oss-120b:free",
|
|
name: "OpenAI: gpt-oss-120b (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-20b": {
|
|
id: "openai/gpt-oss-20b",
|
|
name: "OpenAI: gpt-oss-20b",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.029,
|
|
output: 0.14,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-20b:free": {
|
|
id: "openai/gpt-oss-20b:free",
|
|
name: "OpenAI: gpt-oss-20b (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-safeguard-20b": {
|
|
id: "openai/gpt-oss-safeguard-20b",
|
|
name: "OpenAI: gpt-oss-safeguard-20b",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0.0375,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o1": {
|
|
id: "openai/o1",
|
|
name: "OpenAI: o1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 60,
|
|
cacheRead: 7.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3": {
|
|
id: "openai/o3",
|
|
name: "OpenAI: o3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3-deep-research": {
|
|
id: "openai/o3-deep-research",
|
|
name: "OpenAI: o3 Deep Research",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 40,
|
|
cacheRead: 2.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3-mini": {
|
|
id: "openai/o3-mini",
|
|
name: "OpenAI: o3 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.55,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3-mini-high": {
|
|
id: "openai/o3-mini-high",
|
|
name: "OpenAI: o3 Mini High",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.55,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3-pro": {
|
|
id: "openai/o3-pro",
|
|
name: "OpenAI: o3 Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 20,
|
|
output: 80,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o4-mini": {
|
|
id: "openai/o4-mini",
|
|
name: "OpenAI: o4 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.275,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o4-mini-deep-research": {
|
|
id: "openai/o4-mini-deep-research",
|
|
name: "OpenAI: o4 Mini Deep Research",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o4-mini-high": {
|
|
id: "openai/o4-mini-high",
|
|
name: "OpenAI: o4 Mini High",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.275,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openrouter/auto": {
|
|
id: "openrouter/auto",
|
|
name: "Auto Router",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: -1000000,
|
|
output: -1000000,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openrouter/free": {
|
|
id: "openrouter/free",
|
|
name: "Free Models Router",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openrouter/fusion": {
|
|
id: "openrouter/fusion",
|
|
name: "OpenRouter: Fusion",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openrouter/owl-alpha": {
|
|
id: "openrouter/owl-alpha",
|
|
name: "Owl Alpha",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048756,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"poolside/laguna-m.1": {
|
|
id: "poolside/laguna-m.1",
|
|
name: "Poolside: Laguna M.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.4,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"poolside/laguna-m.1:free": {
|
|
id: "poolside/laguna-m.1:free",
|
|
name: "Poolside: Laguna M.1 (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"poolside/laguna-xs.2": {
|
|
id: "poolside/laguna-xs.2",
|
|
name: "Poolside: Laguna XS.2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.2,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"poolside/laguna-xs.2:free": {
|
|
id: "poolside/laguna-xs.2:free",
|
|
name: "Poolside: Laguna XS.2 (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-2.5-72b-instruct": {
|
|
id: "qwen/qwen-2.5-72b-instruct",
|
|
name: "Qwen2.5 72B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.36,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-2.5-7b-instruct": {
|
|
id: "qwen/qwen-2.5-7b-instruct",
|
|
name: "Qwen: Qwen2.5 7B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.04,
|
|
output: 0.1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-plus": {
|
|
id: "qwen/qwen-plus",
|
|
name: "Qwen: Qwen-Plus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 0.78,
|
|
cacheRead: 0.052,
|
|
cacheWrite: 0.325,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-plus-2025-07-28": {
|
|
id: "qwen/qwen-plus-2025-07-28",
|
|
name: "Qwen: Qwen Plus 0728",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 0.78,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-plus-2025-07-28:thinking": {
|
|
id: "qwen/qwen-plus-2025-07-28:thinking",
|
|
name: "Qwen: Qwen Plus 0728 (thinking)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 0.78,
|
|
cacheRead: 0,
|
|
cacheWrite: 0.325,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-14b": {
|
|
id: "qwen/qwen3-14b",
|
|
name: "Qwen: Qwen3 14B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.24,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131702,
|
|
maxTokens: 40960,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-235b-a22b": {
|
|
id: "qwen/qwen3-235b-a22b",
|
|
name: "Qwen: Qwen3 235B A22B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.455,
|
|
output: 1.82,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-235b-a22b-2507": {
|
|
id: "qwen/qwen3-235b-a22b-2507",
|
|
name: "Qwen: Qwen3 235B A22B Instruct 2507",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09,
|
|
output: 0.1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-235b-a22b-thinking-2507": {
|
|
id: "qwen/qwen3-235b-a22b-thinking-2507",
|
|
name: "Qwen: Qwen3 235B A22B Thinking 2507",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.1,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-30b-a3b": {
|
|
id: "qwen/qwen3-30b-a3b",
|
|
name: "Qwen: Qwen3 30B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.12,
|
|
output: 0.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-30b-a3b-instruct-2507": {
|
|
id: "qwen/qwen3-30b-a3b-instruct-2507",
|
|
name: "Qwen: Qwen3 30B A3B Instruct 2507",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.04815,
|
|
output: 0.19305,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-30b-a3b-thinking-2507": {
|
|
id: "qwen/qwen3-30b-a3b-thinking-2507",
|
|
name: "Qwen: Qwen3 30B A3B Thinking 2507",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.4,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-32b": {
|
|
id: "qwen/qwen3-32b",
|
|
name: "Qwen: Qwen3 32B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.28,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-8b": {
|
|
id: "qwen/qwen3-8b",
|
|
name: "Qwen: Qwen3 8B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.4,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder": {
|
|
id: "qwen/qwen3-coder",
|
|
name: "Qwen: Qwen3 Coder 480B A35B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.22,
|
|
output: 1.8,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder-30b-a3b-instruct": {
|
|
id: "qwen/qwen3-coder-30b-a3b-instruct",
|
|
name: "Qwen: Qwen3 Coder 30B A3B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.07,
|
|
output: 0.27,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 160000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder-flash": {
|
|
id: "qwen/qwen3-coder-flash",
|
|
name: "Qwen: Qwen3 Coder Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.195,
|
|
output: 0.975,
|
|
cacheRead: 0.039,
|
|
cacheWrite: 0.24375,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder-next": {
|
|
id: "qwen/qwen3-coder-next",
|
|
name: "Qwen: Qwen3 Coder Next",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.11,
|
|
output: 0.8,
|
|
cacheRead: 0.07,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder-plus": {
|
|
id: "qwen/qwen3-coder-plus",
|
|
name: "Qwen: Qwen3 Coder Plus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.65,
|
|
output: 3.25,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0.8125,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder:free": {
|
|
id: "qwen/qwen3-coder:free",
|
|
name: "Qwen: Qwen3 Coder 480B A35B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 262000,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-max": {
|
|
id: "qwen/qwen3-max",
|
|
name: "Qwen: Qwen3 Max",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.78,
|
|
output: 3.9,
|
|
cacheRead: 0.156,
|
|
cacheWrite: 0.975,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-max-thinking": {
|
|
id: "qwen/qwen3-max-thinking",
|
|
name: "Qwen: Qwen3 Max Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.78,
|
|
output: 3.9,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-next-80b-a3b-instruct": {
|
|
id: "qwen/qwen3-next-80b-a3b-instruct",
|
|
name: "Qwen: Qwen3 Next 80B A3B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09,
|
|
output: 1.1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-next-80b-a3b-instruct:free": {
|
|
id: "qwen/qwen3-next-80b-a3b-instruct:free",
|
|
name: "Qwen: Qwen3 Next 80B A3B Instruct (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-next-80b-a3b-thinking": {
|
|
id: "qwen/qwen3-next-80b-a3b-thinking",
|
|
name: "Qwen: Qwen3 Next 80B A3B Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.0975,
|
|
output: 0.78,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-235b-a22b-instruct": {
|
|
id: "qwen/qwen3-vl-235b-a22b-instruct",
|
|
name: "Qwen: Qwen3 VL 235B A22B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.88,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-235b-a22b-thinking": {
|
|
id: "qwen/qwen3-vl-235b-a22b-thinking",
|
|
name: "Qwen: Qwen3 VL 235B A22B Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 2.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-30b-a3b-instruct": {
|
|
id: "qwen/qwen3-vl-30b-a3b-instruct",
|
|
name: "Qwen: Qwen3 VL 30B A3B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.13,
|
|
output: 0.52,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-30b-a3b-thinking": {
|
|
id: "qwen/qwen3-vl-30b-a3b-thinking",
|
|
name: "Qwen: Qwen3 VL 30B A3B Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.13,
|
|
output: 1.56,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-32b-instruct": {
|
|
id: "qwen/qwen3-vl-32b-instruct",
|
|
name: "Qwen: Qwen3 VL 32B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.104,
|
|
output: 0.416,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-8b-instruct": {
|
|
id: "qwen/qwen3-vl-8b-instruct",
|
|
name: "Qwen: Qwen3 VL 8B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-vl-8b-thinking": {
|
|
id: "qwen/qwen3-vl-8b-thinking",
|
|
name: "Qwen: Qwen3 VL 8B Thinking",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.117,
|
|
output: 1.365,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-122b-a10b": {
|
|
id: "qwen/qwen3.5-122b-a10b",
|
|
name: "Qwen: Qwen3.5-122B-A10B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 2.08,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-27b": {
|
|
id: "qwen/qwen3.5-27b",
|
|
name: "Qwen: Qwen3.5-27B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.195,
|
|
output: 1.56,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-35b-a3b": {
|
|
id: "qwen/qwen3.5-35b-a3b",
|
|
name: "Qwen: Qwen3.5-35B-A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.14,
|
|
output: 1,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 81920,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-397b-a17b": {
|
|
id: "qwen/qwen3.5-397b-a17b",
|
|
name: "Qwen: Qwen3.5 397B A17B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.385,
|
|
output: 2.45,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-9b": {
|
|
id: "qwen/qwen3.5-9b",
|
|
name: "Qwen: Qwen3.5-9B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-flash-02-23": {
|
|
id: "qwen/qwen3.5-flash-02-23",
|
|
name: "Qwen: Qwen3.5-Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.065,
|
|
output: 0.26,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-plus-02-15": {
|
|
id: "qwen/qwen3.5-plus-02-15",
|
|
name: "Qwen: Qwen3.5 Plus 2026-02-15",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 1.56,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.5-plus-20260420": {
|
|
id: "qwen/qwen3.5-plus-20260420",
|
|
name: "Qwen: Qwen3.5 Plus 2026-04-20",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.8,
|
|
cacheRead: 0,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.6-27b": {
|
|
id: "qwen/qwen3.6-27b",
|
|
name: "Qwen: Qwen3.6 27B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2596,
|
|
output: 2.385,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262140,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.6-35b-a3b": {
|
|
id: "qwen/qwen3.6-35b-a3b",
|
|
name: "Qwen: Qwen3.6 35B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.14,
|
|
output: 1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.6-flash": {
|
|
id: "qwen/qwen3.6-flash",
|
|
name: "Qwen: Qwen3.6 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1875,
|
|
output: 1.125,
|
|
cacheRead: 0,
|
|
cacheWrite: 0.234375,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.6-max-preview": {
|
|
id: "qwen/qwen3.6-max-preview",
|
|
name: "Qwen: Qwen3.6 Max Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.04,
|
|
output: 6.24,
|
|
cacheRead: 0,
|
|
cacheWrite: 1.3,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.6-plus": {
|
|
id: "qwen/qwen3.6-plus",
|
|
name: "Qwen: Qwen3.6 Plus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.325,
|
|
output: 1.95,
|
|
cacheRead: 0,
|
|
cacheWrite: 0.40625,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.7-max": {
|
|
id: "qwen/qwen3.7-max",
|
|
name: "Qwen: Qwen3.7 Max",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 3.75,
|
|
cacheRead: 0.25,
|
|
cacheWrite: 1.5625,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3.7-plus": {
|
|
id: "qwen/qwen3.7-plus",
|
|
name: "Qwen: Qwen3.7 Plus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.32,
|
|
output: 1.28,
|
|
cacheRead: 0.064,
|
|
cacheWrite: 0.4,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"rekaai/reka-edge": {
|
|
id: "rekaai/reka-edge",
|
|
name: "Reka Edge",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 16384,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"relace/relace-search": {
|
|
id: "relace/relace-search",
|
|
name: "Relace: Relace Search",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"sakana/fugu-ultra": {
|
|
id: "sakana/fugu-ultra",
|
|
name: "Sakana: Fugu Ultra",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 30,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"sao10k/l3.1-euryale-70b": {
|
|
id: "sao10k/l3.1-euryale-70b",
|
|
name: "Sao10K: Llama 3.1 Euryale 70B v2.2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.85,
|
|
output: 0.85,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"stepfun/step-3.5-flash": {
|
|
id: "stepfun/step-3.5-flash",
|
|
name: "StepFun: Step 3.5 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"stepfun/step-3.7-flash": {
|
|
id: "stepfun/step-3.7-flash",
|
|
name: "StepFun: Step 3.7 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.15,
|
|
cacheRead: 0.04,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 256000,
|
|
} satisfies Model<"openai-completions">,
|
|
"tencent/hy3-preview": {
|
|
id: "tencent/hy3-preview",
|
|
name: "Tencent: Hy3 preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.063,
|
|
output: 0.21,
|
|
cacheRead: 0.021,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"thedrummer/unslopnemo-12b": {
|
|
id: "thedrummer/unslopnemo-12b",
|
|
name: "TheDrummer: UnslopNemo 12B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 0.4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"upstage/solar-pro-3": {
|
|
id: "upstage/solar-pro-3",
|
|
name: "Upstage: Solar Pro 3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.015,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-4.20": {
|
|
id: "x-ai/grok-4.20",
|
|
name: "xAI: Grok 4.20",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 2.5,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-4.3": {
|
|
id: "x-ai/grok-4.3",
|
|
name: "xAI: Grok 4.3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 2.5,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-build-0.1": {
|
|
id: "x-ai/grok-build-0.1",
|
|
name: "xAI: Grok Build 0.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 2,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"xiaomi/mimo-v2.5": {
|
|
id: "xiaomi/mimo-v2.5",
|
|
name: "Xiaomi: MiMo-V2.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.105,
|
|
output: 0.28,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"xiaomi/mimo-v2.5-pro": {
|
|
id: "xiaomi/mimo-v2.5-pro",
|
|
name: "Xiaomi: MiMo-V2.5-Pro",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.435,
|
|
output: 0.87,
|
|
cacheRead: 0.0036,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.5": {
|
|
id: "z-ai/glm-4.5",
|
|
name: "Z.ai: GLM 4.5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.2,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.5-air": {
|
|
id: "z-ai/glm-4.5-air",
|
|
name: "Z.ai: GLM 4.5 Air",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.13,
|
|
output: 0.85,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.5v": {
|
|
id: "z-ai/glm-4.5v",
|
|
name: "Z.ai: GLM 4.5V",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 1.8,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.6": {
|
|
id: "z-ai/glm-4.6",
|
|
name: "Z.ai: GLM 4.6",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.43,
|
|
output: 1.74,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.6v": {
|
|
id: "z-ai/glm-4.6v",
|
|
name: "Z.ai: GLM 4.6V",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.9,
|
|
cacheRead: 0.055,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.7": {
|
|
id: "z-ai/glm-4.7",
|
|
name: "Z.ai: GLM 4.7",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 1.75,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.7-flash": {
|
|
id: "z-ai/glm-4.7-flash",
|
|
name: "Z.ai: GLM 4.7 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.4,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-5": {
|
|
id: "z-ai/glm-5",
|
|
name: "Z.ai: GLM 5",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 1.9,
|
|
cacheRead: 0.119,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-5-turbo": {
|
|
id: "z-ai/glm-5-turbo",
|
|
name: "Z.ai: GLM 5 Turbo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.2,
|
|
output: 4,
|
|
cacheRead: 0.24,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-5.1": {
|
|
id: "z-ai/glm-5.1",
|
|
name: "Z.ai: GLM 5.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.975,
|
|
output: 4.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-5.2": {
|
|
id: "z-ai/glm-5.2",
|
|
name: "Z.ai: GLM 5.2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
thinkingLevelMap: {"xhigh":"xhigh"},
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.94,
|
|
output: 3,
|
|
cacheRead: 0.18,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-5v-turbo": {
|
|
id: "z-ai/glm-5v-turbo",
|
|
name: "Z.ai: GLM 5V Turbo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.2,
|
|
output: 4,
|
|
cacheRead: 0.24,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"~anthropic/claude-fable-latest": {
|
|
id: "~anthropic/claude-fable-latest",
|
|
name: "Anthropic: Claude Fable Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 50,
|
|
cacheRead: 1,
|
|
cacheWrite: 12.5,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"~anthropic/claude-haiku-latest": {
|
|
id: "~anthropic/claude-haiku-latest",
|
|
name: "Anthropic Claude Haiku Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"~anthropic/claude-opus-latest": {
|
|
id: "~anthropic/claude-opus-latest",
|
|
name: "Anthropic: Claude Opus Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"~anthropic/claude-sonnet-latest": {
|
|
id: "~anthropic/claude-sonnet-latest",
|
|
name: "Anthropic Claude Sonnet Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"~google/gemini-flash-latest": {
|
|
id: "~google/gemini-flash-latest",
|
|
name: "Google Gemini Flash Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 9,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0.083333,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"~google/gemini-pro-latest": {
|
|
id: "~google/gemini-pro-latest",
|
|
name: "Google Gemini Pro Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"~moonshotai/kimi-latest": {
|
|
id: "~moonshotai/kimi-latest",
|
|
name: "MoonshotAI Kimi Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.55,
|
|
output: 3.2,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"~openai/gpt-latest": {
|
|
id: "~openai/gpt-latest",
|
|
name: "OpenAI GPT Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 30,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1050000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"~openai/gpt-mini-latest": {
|
|
id: "~openai/gpt-mini-latest",
|
|
name: "OpenAI GPT Mini Latest",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
compat: {"supportsDeveloperRole":false,"thinkingFormat":"openrouter"},
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 4.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
} as const;
|