mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 06:04:40 +00:00
- Add agentLoopContinue() to pi-ai for resuming from existing context - Add Agent.continue() method and transport.continue() interface - Simplify AgentSession compaction to two cases: overflow (auto-retry) and threshold (no retry) - Remove proactive mid-turn compaction abort - Merge turn prefix summary into main summary - Add isCompacting property to AgentSession and RPC state - Block input during compaction in interactive mode - Show compaction count on session resume - Rename RPC.md to rpc.md for consistency Related to #128
5786 lines
141 KiB
TypeScript
5786 lines
141 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.js";
|
|
|
|
export const MODELS = {
|
|
anthropic: {
|
|
"claude-opus-4-0": {
|
|
id: "claude-opus-4-0",
|
|
name: "Claude Opus 4 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-5-sonnet-20241022": {
|
|
id: "claude-3-5-sonnet-20241022",
|
|
name: "Claude Sonnet 3.5 v2",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-1": {
|
|
id: "claude-opus-4-1",
|
|
name: "Claude Opus 4.1 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-haiku-4-5": {
|
|
id: "claude-haiku-4-5",
|
|
name: "Claude Haiku 4.5 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-5-sonnet-20240620": {
|
|
id: "claude-3-5-sonnet-20240620",
|
|
name: "Claude Sonnet 3.5",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-5-haiku-latest": {
|
|
id: "claude-3-5-haiku-latest",
|
|
name: "Claude Haiku 3.5 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.8,
|
|
output: 4,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 1,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-5": {
|
|
id: "claude-opus-4-5",
|
|
name: "Claude Opus 4.5 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-opus-20240229": {
|
|
id: "claude-3-opus-20240229",
|
|
name: "Claude Opus 3",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-5-20251101": {
|
|
id: "claude-opus-4-5-20251101",
|
|
name: "Claude Opus 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-5": {
|
|
id: "claude-sonnet-4-5",
|
|
name: "Claude Sonnet 4.5 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-5-20250929": {
|
|
id: "claude-sonnet-4-5-20250929",
|
|
name: "Claude Sonnet 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-20250514": {
|
|
id: "claude-sonnet-4-20250514",
|
|
name: "Claude Sonnet 4",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-20250514": {
|
|
id: "claude-opus-4-20250514",
|
|
name: "Claude Opus 4",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-5-haiku-20241022": {
|
|
id: "claude-3-5-haiku-20241022",
|
|
name: "Claude Haiku 3.5",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.8,
|
|
output: 4,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 1,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-haiku-20240307": {
|
|
id: "claude-3-haiku-20240307",
|
|
name: "Claude Haiku 3",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 1.25,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0.3,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-7-sonnet-20250219": {
|
|
id: "claude-3-7-sonnet-20250219",
|
|
name: "Claude Sonnet 3.7",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-7-sonnet-latest": {
|
|
id: "claude-3-7-sonnet-latest",
|
|
name: "Claude Sonnet 3.7 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-sonnet-4-0": {
|
|
id: "claude-sonnet-4-0",
|
|
name: "Claude Sonnet 4 (latest)",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-opus-4-1-20250805": {
|
|
id: "claude-opus-4-1-20250805",
|
|
name: "Claude Opus 4.1",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-3-sonnet-20240229": {
|
|
id: "claude-3-sonnet-20240229",
|
|
name: "Claude Sonnet 3",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 0.3,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"claude-haiku-4-5-20251001": {
|
|
id: "claude-haiku-4-5-20251001",
|
|
name: "Claude Haiku 4.5",
|
|
api: "anthropic-messages",
|
|
provider: "anthropic",
|
|
baseUrl: "https://api.anthropic.com",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"anthropic-messages">,
|
|
},
|
|
google: {
|
|
"gemini-2.5-flash-preview-05-20": {
|
|
id: "gemini-2.5-flash-preview-05-20",
|
|
name: "Gemini 2.5 Flash Preview 05-20",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.0375,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-flash-lite-latest": {
|
|
id: "gemini-flash-lite-latest",
|
|
name: "Gemini Flash-Lite Latest",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-3-pro-preview": {
|
|
id: "gemini-3-pro-preview",
|
|
name: "Gemini 3 Pro Preview",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash": {
|
|
id: "gemini-2.5-flash",
|
|
name: "Gemini 2.5 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-flash-latest": {
|
|
id: "gemini-flash-latest",
|
|
name: "Gemini Flash Latest",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-pro-preview-05-06": {
|
|
id: "gemini-2.5-pro-preview-05-06",
|
|
name: "Gemini 2.5 Pro Preview 05-06",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.31,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.0-flash-lite": {
|
|
id: "gemini-2.0-flash-lite",
|
|
name: "Gemini 2.0 Flash Lite",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-live-2.5-flash-preview-native-audio": {
|
|
id: "gemini-live-2.5-flash-preview-native-audio",
|
|
name: "Gemini Live 2.5 Flash Preview Native Audio",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.0-flash": {
|
|
id: "gemini-2.0-flash",
|
|
name: "Gemini 2.0 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash-lite": {
|
|
id: "gemini-2.5-flash-lite",
|
|
name: "Gemini 2.5 Flash Lite",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-pro-preview-06-05": {
|
|
id: "gemini-2.5-pro-preview-06-05",
|
|
name: "Gemini 2.5 Pro Preview 06-05",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.31,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-live-2.5-flash": {
|
|
id: "gemini-live-2.5-flash",
|
|
name: "Gemini Live 2.5 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 8000,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash-lite-preview-06-17": {
|
|
id: "gemini-2.5-flash-lite-preview-06-17",
|
|
name: "Gemini 2.5 Flash Lite Preview 06-17",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash-preview-09-2025": {
|
|
id: "gemini-2.5-flash-preview-09-2025",
|
|
name: "Gemini 2.5 Flash Preview 09-25",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash-preview-04-17": {
|
|
id: "gemini-2.5-flash-preview-04-17",
|
|
name: "Gemini 2.5 Flash Preview 04-17",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.0375,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-pro": {
|
|
id: "gemini-2.5-pro",
|
|
name: "Gemini 2.5 Pro",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.31,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-1.5-flash": {
|
|
id: "gemini-1.5-flash",
|
|
name: "Gemini 1.5 Flash",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0.01875,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-1.5-flash-8b": {
|
|
id: "gemini-1.5-flash-8b",
|
|
name: "Gemini 1.5 Flash-8B",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.0375,
|
|
output: 0.15,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-2.5-flash-lite-preview-09-2025": {
|
|
id: "gemini-2.5-flash-lite-preview-09-2025",
|
|
name: "Gemini 2.5 Flash Lite Preview 09-25",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"google-generative-ai">,
|
|
"gemini-1.5-pro": {
|
|
id: "gemini-1.5-pro",
|
|
name: "Gemini 1.5 Pro",
|
|
api: "google-generative-ai",
|
|
provider: "google",
|
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 5,
|
|
cacheRead: 0.3125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"google-generative-ai">,
|
|
},
|
|
openai: {
|
|
"gpt-4.1-nano": {
|
|
id: "gpt-4.1-nano",
|
|
name: "GPT-4.1 nano",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.4,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4": {
|
|
id: "gpt-4",
|
|
name: "GPT-4",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 30,
|
|
output: 60,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-responses">,
|
|
"o1-pro": {
|
|
id: "o1-pro",
|
|
name: "o1-pro",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 150,
|
|
output: 600,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4o-2024-05-13": {
|
|
id: "gpt-4o-2024-05-13",
|
|
name: "GPT-4o (2024-05-13)",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex": {
|
|
id: "gpt-5.1-codex",
|
|
name: "GPT-5.1 Codex",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4o-2024-08-06": {
|
|
id: "gpt-4o-2024-08-06",
|
|
name: "GPT-4o (2024-08-06)",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4.1-mini": {
|
|
id: "gpt-4.1-mini",
|
|
name: "GPT-4.1 mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.4,
|
|
output: 1.6,
|
|
cacheRead: 0.1,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-responses">,
|
|
"o3-deep-research": {
|
|
id: "o3-deep-research",
|
|
name: "o3-deep-research",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 40,
|
|
cacheRead: 2.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4-turbo": {
|
|
id: "gpt-4-turbo",
|
|
name: "GPT-4 Turbo",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex-mini": {
|
|
id: "gpt-5.1-codex-mini",
|
|
name: "GPT-5.1 Codex mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.025,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"o3-mini": {
|
|
id: "o3-mini",
|
|
name: "o3-mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.55,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1": {
|
|
id: "gpt-5.1",
|
|
name: "GPT-5.1",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"codex-mini-latest": {
|
|
id: "codex-mini-latest",
|
|
name: "Codex Mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 6,
|
|
cacheRead: 0.375,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-nano": {
|
|
id: "gpt-5-nano",
|
|
name: "GPT-5 Nano",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.4,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-codex": {
|
|
id: "gpt-5-codex",
|
|
name: "GPT-5-Codex",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4o": {
|
|
id: "gpt-4o",
|
|
name: "GPT-4o",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4.1": {
|
|
id: "gpt-4.1",
|
|
name: "GPT-4.1",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-responses">,
|
|
"o4-mini": {
|
|
id: "o4-mini",
|
|
name: "o4-mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.28,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
o1: {
|
|
id: "o1",
|
|
name: "o1",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 60,
|
|
cacheRead: 7.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-mini": {
|
|
id: "gpt-5-mini",
|
|
name: "GPT-5 Mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"o3-pro": {
|
|
id: "o3-pro",
|
|
name: "o3-pro",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 20,
|
|
output: 80,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4o-2024-11-20": {
|
|
id: "gpt-4o-2024-11-20",
|
|
name: "GPT-4o (2024-11-20)",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-codex-max": {
|
|
id: "gpt-5.1-codex-max",
|
|
name: "GPT-5.1 Codex Max",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
o3: {
|
|
id: "o3",
|
|
name: "o3",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"o4-mini-deep-research": {
|
|
id: "o4-mini-deep-research",
|
|
name: "o4-mini-deep-research",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-4o-mini": {
|
|
id: "gpt-4o-mini",
|
|
name: "GPT-4o mini",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.6,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5": {
|
|
id: "gpt-5",
|
|
name: "GPT-5",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.13,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-pro": {
|
|
id: "gpt-5-pro",
|
|
name: "GPT-5 Pro",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 120,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 272000,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5.1-chat-latest": {
|
|
id: "gpt-5.1-chat-latest",
|
|
name: "GPT-5.1 Chat",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
"gpt-5-chat-latest": {
|
|
id: "gpt-5-chat-latest",
|
|
name: "GPT-5 Chat Latest",
|
|
api: "openai-responses",
|
|
provider: "openai",
|
|
baseUrl: "https://api.openai.com/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-responses">,
|
|
},
|
|
groq: {
|
|
"llama-3.1-8b-instant": {
|
|
id: "llama-3.1-8b-instant",
|
|
name: "Llama 3.1 8B Instant",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.08,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistral-saba-24b": {
|
|
id: "mistral-saba-24b",
|
|
name: "Mistral Saba 24B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.79,
|
|
output: 0.79,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"llama3-8b-8192": {
|
|
id: "llama3-8b-8192",
|
|
name: "Llama 3 8B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.05,
|
|
output: 0.08,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen-qwq-32b": {
|
|
id: "qwen-qwq-32b",
|
|
name: "Qwen QwQ 32B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.29,
|
|
output: 0.39,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"llama3-70b-8192": {
|
|
id: "llama3-70b-8192",
|
|
name: "Llama 3 70B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.59,
|
|
output: 0.79,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek-r1-distill-llama-70b": {
|
|
id: "deepseek-r1-distill-llama-70b",
|
|
name: "DeepSeek R1 Distill Llama 70B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 0.99,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"gemma2-9b-it": {
|
|
id: "gemma2-9b-it",
|
|
name: "Gemma 2 9B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"llama-3.3-70b-versatile": {
|
|
id: "llama-3.3-70b-versatile",
|
|
name: "Llama 3.3 70B Versatile",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.59,
|
|
output: 0.79,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2-instruct-0905": {
|
|
id: "moonshotai/kimi-k2-instruct-0905",
|
|
name: "Kimi K2 Instruct 0905",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2-instruct": {
|
|
id: "moonshotai/kimi-k2-instruct",
|
|
name: "Kimi K2 Instruct",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-20b": {
|
|
id: "openai/gpt-oss-20b",
|
|
name: "GPT OSS 20B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.1,
|
|
output: 0.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-120b": {
|
|
id: "openai/gpt-oss-120b",
|
|
name: "GPT OSS 120B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.75,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-32b": {
|
|
id: "qwen/qwen3-32b",
|
|
name: "Qwen3 32B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.29,
|
|
output: 0.59,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-4-scout-17b-16e-instruct": {
|
|
id: "meta-llama/llama-4-scout-17b-16e-instruct",
|
|
name: "Llama 4 Scout 17B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.11,
|
|
output: 0.34,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-4-maverick-17b-128e-instruct": {
|
|
id: "meta-llama/llama-4-maverick-17b-128e-instruct",
|
|
name: "Llama 4 Maverick 17B",
|
|
api: "openai-completions",
|
|
provider: "groq",
|
|
baseUrl: "https://api.groq.com/openai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
},
|
|
cerebras: {
|
|
"qwen-3-235b-a22b-instruct-2507": {
|
|
id: "qwen-3-235b-a22b-instruct-2507",
|
|
name: "Qwen 3 235B Instruct",
|
|
api: "openai-completions",
|
|
provider: "cerebras",
|
|
baseUrl: "https://api.cerebras.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"zai-glm-4.6": {
|
|
id: "zai-glm-4.6",
|
|
name: "Z.AI GLM-4.6",
|
|
api: "openai-completions",
|
|
provider: "cerebras",
|
|
baseUrl: "https://api.cerebras.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 40960,
|
|
} satisfies Model<"openai-completions">,
|
|
"gpt-oss-120b": {
|
|
id: "gpt-oss-120b",
|
|
name: "GPT OSS 120B",
|
|
api: "openai-completions",
|
|
provider: "cerebras",
|
|
baseUrl: "https://api.cerebras.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 0.69,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
},
|
|
xai: {
|
|
"grok-4-fast-non-reasoning": {
|
|
id: "grok-4-fast-non-reasoning",
|
|
name: "Grok 4 Fast (Non-Reasoning)",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.5,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-fast": {
|
|
id: "grok-3-fast",
|
|
name: "Grok 3 Fast",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-4": {
|
|
id: "grok-4",
|
|
name: "Grok 4",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2-vision": {
|
|
id: "grok-2-vision",
|
|
name: "Grok 2 Vision",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-code-fast-1": {
|
|
id: "grok-code-fast-1",
|
|
name: "Grok Code Fast 1",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.5,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 10000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2": {
|
|
id: "grok-2",
|
|
name: "Grok 2",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-mini-fast-latest": {
|
|
id: "grok-3-mini-fast-latest",
|
|
name: "Grok 3 Mini Fast Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 4,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2-vision-1212": {
|
|
id: "grok-2-vision-1212",
|
|
name: "Grok 2 Vision (1212)",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3": {
|
|
id: "grok-3",
|
|
name: "Grok 3",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-4-fast": {
|
|
id: "grok-4-fast",
|
|
name: "Grok 4 Fast",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.5,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2-latest": {
|
|
id: "grok-2-latest",
|
|
name: "Grok 2 Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-4-1-fast": {
|
|
id: "grok-4-1-fast",
|
|
name: "Grok 4.1 Fast",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.5,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2-1212": {
|
|
id: "grok-2-1212",
|
|
name: "Grok 2 (1212)",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-fast-latest": {
|
|
id: "grok-3-fast-latest",
|
|
name: "Grok 3 Fast Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-latest": {
|
|
id: "grok-3-latest",
|
|
name: "Grok 3 Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-2-vision-latest": {
|
|
id: "grok-2-vision-latest",
|
|
name: "Grok 2 Vision Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 10,
|
|
cacheRead: 2,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-vision-beta": {
|
|
id: "grok-vision-beta",
|
|
name: "Grok Vision Beta",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 15,
|
|
cacheRead: 5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-mini": {
|
|
id: "grok-3-mini",
|
|
name: "Grok 3 Mini",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-beta": {
|
|
id: "grok-beta",
|
|
name: "Grok Beta",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 5,
|
|
output: 15,
|
|
cacheRead: 5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-mini-latest": {
|
|
id: "grok-3-mini-latest",
|
|
name: "Grok 3 Mini Latest",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-4-1-fast-non-reasoning": {
|
|
id: "grok-4-1-fast-non-reasoning",
|
|
name: "Grok 4.1 Fast (Non-Reasoning)",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 0.5,
|
|
cacheRead: 0.05,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"grok-3-mini-fast": {
|
|
id: "grok-3-mini-fast",
|
|
name: "Grok 3 Mini Fast",
|
|
api: "openai-completions",
|
|
provider: "xai",
|
|
baseUrl: "https://api.x.ai/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 4,
|
|
cacheRead: 0.15,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
},
|
|
zai: {
|
|
"glm-4.5-flash": {
|
|
id: "glm-4.5-flash",
|
|
name: "GLM-4.5-Flash",
|
|
api: "anthropic-messages",
|
|
provider: "zai",
|
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"glm-4.5": {
|
|
id: "glm-4.5",
|
|
name: "GLM-4.5",
|
|
api: "anthropic-messages",
|
|
provider: "zai",
|
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.2,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"glm-4.5-air": {
|
|
id: "glm-4.5-air",
|
|
name: "GLM-4.5-Air",
|
|
api: "anthropic-messages",
|
|
provider: "zai",
|
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.2,
|
|
output: 1.1,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"glm-4.5v": {
|
|
id: "glm-4.5v",
|
|
name: "GLM 4.5V",
|
|
api: "anthropic-messages",
|
|
provider: "zai",
|
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 1.8,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 64000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"anthropic-messages">,
|
|
"glm-4.6": {
|
|
id: "glm-4.6",
|
|
name: "GLM-4.6",
|
|
api: "anthropic-messages",
|
|
provider: "zai",
|
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.2,
|
|
cacheRead: 0.11,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"anthropic-messages">,
|
|
},
|
|
openrouter: {
|
|
"relace/relace-search": {
|
|
id: "relace/relace-search",
|
|
name: "Relace: Relace Search",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.8999999999999999,
|
|
cacheRead: 0.049999999999999996,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 24000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"amazon/nova-2-lite-v1:free": {
|
|
id: "amazon/nova-2-lite-v1:free",
|
|
name: "Amazon: Nova 2 Lite (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65535,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 65535,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.19999999999999998,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 1.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"arcee-ai/trinity-mini:free": {
|
|
id: "arcee-ai/trinity-mini:free",
|
|
name: "Arcee AI: Trinity Mini (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.045,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.26,
|
|
output: 0.39,
|
|
cacheRead: 0.19999999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"prime-intellect/intellect-3": {
|
|
id: "prime-intellect/intellect-3",
|
|
name: "Prime Intellect: INTELLECT-3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 1.1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"tngtech/tng-r1t-chimera:free": {
|
|
id: "tngtech/tng-r1t-chimera:free",
|
|
name: "TNG: R1T Chimera (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 163840,
|
|
} satisfies Model<"openai-completions">,
|
|
"tngtech/tng-r1t-chimera": {
|
|
id: "tngtech/tng-r1t-chimera",
|
|
name: "TNG: R1T Chimera",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 163840,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 25,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 6.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} satisfies Model<"openai-completions">,
|
|
"allenai/olmo-3-7b-instruct": {
|
|
id: "allenai/olmo-3-7b-instruct",
|
|
name: "AllenAI: Olmo 3 7B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.19999999999999998,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 65536,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-4.1-fast": {
|
|
id: "x-ai/grok-4.1-fast",
|
|
name: "xAI: Grok 4.1 Fast",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.5,
|
|
cacheRead: 0.049999999999999996,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-3-pro-preview": {
|
|
id: "google/gemini-3-pro-preview",
|
|
name: "Google: Gemini 3 Pro Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 12,
|
|
cacheRead: 0.19999999999999998,
|
|
cacheWrite: 2.375,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
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-chat": {
|
|
id: "openai/gpt-5.1-chat",
|
|
name: "OpenAI: GPT-5.1 Chat",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} 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",
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.024999999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"kwaipilot/kat-coder-pro:free": {
|
|
id: "kwaipilot/kat-coder-pro:free",
|
|
name: "Kwaipilot: KAT-Coder-Pro V1 (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 32768,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.44999999999999996,
|
|
output: 2.35,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 16384,
|
|
} 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",
|
|
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">,
|
|
"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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32000,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0.037,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.255,
|
|
output: 1.02,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 204800,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepcogito/cogito-v2-preview-llama-405b": {
|
|
id: "deepcogito/cogito-v2-preview-llama-405b",
|
|
name: "Deep Cogito: Cogito V2 Preview Llama 405B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3.5,
|
|
output: 3.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-image-mini": {
|
|
id: "openai/gpt-5-image-mini",
|
|
name: "OpenAI: GPT-5 Image Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 2,
|
|
cacheRead: 0.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.09999999999999999,
|
|
cacheWrite: 1.25,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.18,
|
|
output: 2.0999999999999996,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.064,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-5-image": {
|
|
id: "openai/gpt-5-image",
|
|
name: "OpenAI: GPT-5 Image",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 40,
|
|
cacheRead: 2.5,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.16,
|
|
output: 0.7999999999999999,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.14,
|
|
output: 1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 120,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 1.75,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 202752,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.6:exacto": {
|
|
id: "z-ai/glm-4.6:exacto",
|
|
name: "Z.AI: GLM 4.6 (exacto)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.43,
|
|
output: 1.75,
|
|
cacheRead: 0.0799999993,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 202752,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.21,
|
|
output: 0.32,
|
|
cacheRead: 0.16799999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.5-flash-preview-09-2025": {
|
|
id: "google/gemini-2.5-flash-preview-09-2025",
|
|
name: "Google: Gemini 2.5 Flash Preview 09-2025",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0.3833,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.2,
|
|
output: 6,
|
|
cacheRead: 0.24,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 32768,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 5,
|
|
cacheRead: 0.09999999999999999,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-v3.1-terminus:exacto": {
|
|
id: "deepseek/deepseek-v3.1-terminus:exacto",
|
|
name: "DeepSeek: DeepSeek V3.1 Terminus (exacto)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.21,
|
|
output: 0.7899999999999999,
|
|
cacheRead: 0.16799999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.21,
|
|
output: 0.7899999999999999,
|
|
cacheRead: 0.16799999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-4-fast": {
|
|
id: "x-ai/grok-4-fast",
|
|
name: "xAI: Grok 4 Fast",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.5,
|
|
cacheRead: 0.049999999999999996,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
"alibaba/tongyi-deepresearch-30b-a3b:free": {
|
|
id: "alibaba/tongyi-deepresearch-30b-a3b:free",
|
|
name: "Tongyi DeepResearch 30B A3B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"alibaba/tongyi-deepresearch-30b-a3b": {
|
|
id: "alibaba/tongyi-deepresearch-30b-a3b",
|
|
name: "Tongyi DeepResearch 30B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.5,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.12,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.7999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"meituan/longcat-flash-chat:free": {
|
|
id: "meituan/longcat-flash-chat:free",
|
|
name: "Meituan: LongCat Flash Chat (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 1.2,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 32768,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/nemotron-nano-9b-v2": {
|
|
id: "nvidia/nemotron-nano-9b-v2",
|
|
name: "NVIDIA: Nemotron Nano 9B V2",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.04,
|
|
output: 0.16,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39,
|
|
output: 1.9,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"moonshotai/kimi-k2-0905:exacto": {
|
|
id: "moonshotai/kimi-k2-0905:exacto",
|
|
name: "MoonshotAI: Kimi K2 0905 (exacto)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.6,
|
|
output: 2.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepcogito/cogito-v2-preview-llama-70b": {
|
|
id: "deepcogito/cogito-v2-preview-llama-70b",
|
|
name: "Deep Cogito: Cogito V2 Preview Llama 70B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.88,
|
|
output: 0.88,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepcogito/cogito-v2-preview-llama-109b-moe": {
|
|
id: "deepcogito/cogito-v2-preview-llama-109b-moe",
|
|
name: "Cogito V2 Preview Llama 109B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.18,
|
|
output: 0.59,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32767,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"stepfun-ai/step3": {
|
|
id: "stepfun-ai/step3",
|
|
name: "StepFun: Step3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.5700000000000001,
|
|
output: 1.42,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.051,
|
|
output: 0.33999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-code-fast-1": {
|
|
id: "x-ai/grok-code-fast-1",
|
|
name: "xAI: Grok Code Fast 1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 1.5,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 10000,
|
|
} satisfies Model<"openai-completions">,
|
|
"nousresearch/hermes-4-70b": {
|
|
id: "nousresearch/hermes-4-70b",
|
|
name: "Nous: Hermes 4 70B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.11,
|
|
output: 0.38,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"nousresearch/hermes-4-405b": {
|
|
id: "nousresearch/hermes-4-405b",
|
|
name: "Nous: Hermes 4 405B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.75,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 7168,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o-audio-preview": {
|
|
id: "openai/gpt-4o-audio-preview",
|
|
name: "OpenAI: GPT-4o Audio",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"baidu/ernie-4.5-21b-a3b": {
|
|
id: "baidu/ernie-4.5-21b-a3b",
|
|
name: "Baidu: ERNIE 4.5 21B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.056,
|
|
output: 0.224,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 120000,
|
|
maxTokens: 8000,
|
|
} satisfies Model<"openai-completions">,
|
|
"baidu/ernie-4.5-vl-28b-a3b": {
|
|
id: "baidu/ernie-4.5-vl-28b-a3b",
|
|
name: "Baidu: ERNIE 4.5 VL 28B A3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.112,
|
|
output: 0.448,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 30000,
|
|
maxTokens: 8000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.48,
|
|
output: 1.44,
|
|
cacheRead: 0.088,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"ai21/jamba-mini-1.7": {
|
|
id: "ai21/jamba-mini-1.7",
|
|
name: "AI21: Jamba Mini 1.7",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 2,
|
|
cacheRead: 0.024999999999999998,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.049999999999999996,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0.005,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 400000,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.039,
|
|
output: 0.19,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-oss-120b:exacto": {
|
|
id: "openai/gpt-oss-120b:exacto",
|
|
name: "OpenAI: gpt-oss-120b (exacto)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.039,
|
|
output: 0.19,
|
|
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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 128000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.14,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 32000,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.8999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.25,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.33,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.35,
|
|
output: 1.55,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4.5-air:free": {
|
|
id: "z-ai/glm-4.5-air:free",
|
|
name: "Z.AI: GLM 4.5 Air (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.10400000000000001,
|
|
output: 0.6799999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 98304,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.11,
|
|
output: 0.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"z-ai/glm-4-32b": {
|
|
id: "z-ai/glm-4-32b",
|
|
name: "Z.AI: GLM 4 32B ",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262000,
|
|
maxTokens: 262000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.22,
|
|
output: 0.95,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-coder:exacto": {
|
|
id: "qwen/qwen3-coder:exacto",
|
|
name: "Qwen: Qwen3 Coder 480B A35B (exacto)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.38,
|
|
output: 1.53,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
maxTokens: 262144,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0.01,
|
|
cacheWrite: 0.18330000000000002,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.071,
|
|
output: 0.463,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 262144,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.456,
|
|
output: 1.8399999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/devstral-medium": {
|
|
id: "mistralai/devstral-medium",
|
|
name: "Mistral: Devstral Medium",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/devstral-small": {
|
|
id: "mistralai/devstral-small",
|
|
name: "Mistral: Devstral Small 1.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.07,
|
|
output: 0.28,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-4": {
|
|
id: "x-ai/grok-4",
|
|
name: "xAI: Grok 4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 256000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"tngtech/deepseek-r1t2-chimera": {
|
|
id: "tngtech/deepseek-r1t2-chimera",
|
|
name: "TNG: DeepSeek R1T2 Chimera",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 163840,
|
|
} satisfies Model<"openai-completions">,
|
|
"inception/mercury": {
|
|
id: "inception/mercury",
|
|
name: "Inception: Mercury",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.18,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 2.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 40000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 2.5,
|
|
cacheRead: 0.03,
|
|
cacheWrite: 0.3833,
|
|
},
|
|
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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.125,
|
|
cacheWrite: 1.625,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 20,
|
|
output: 80,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-3-mini": {
|
|
id: "x-ai/grok-3-mini",
|
|
name: "xAI: Grok 3 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-3": {
|
|
id: "x-ai/grok-3",
|
|
name: "xAI: Grok 3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.31,
|
|
cacheWrite: 1.625,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65536,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 1.75,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 163840,
|
|
} 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",
|
|
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-sonnet-4": {
|
|
id: "anthropic/claude-sonnet-4",
|
|
name: "Anthropic: Claude Sonnet 4",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/codex-mini": {
|
|
id: "openai/codex-mini",
|
|
name: "OpenAI: Codex Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.5,
|
|
output: 6,
|
|
cacheRead: 0.375,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"nousresearch/deephermes-3-mistral-24b-preview": {
|
|
id: "nousresearch/deephermes-3-mistral-24b-preview",
|
|
name: "Nous: DeepHermes 3 Mistral 24B Preview",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.049999999999999996,
|
|
output: 0.19999999999999998,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 32768,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 1.25,
|
|
output: 10,
|
|
cacheRead: 0.31,
|
|
cacheWrite: 1.625,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 65535,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.75,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"inception/mercury-coder": {
|
|
id: "inception/mercury-coder",
|
|
name: "Inception: Mercury Coder",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-4b:free": {
|
|
id: "qwen/qwen3-4b:free",
|
|
name: "Qwen: Qwen3 4B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 40960,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.06,
|
|
output: 0.22,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 40960,
|
|
maxTokens: 40960,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.028,
|
|
output: 0.1104,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 20000,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.049999999999999996,
|
|
output: 0.22,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 40960,
|
|
maxTokens: 40960,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.24,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 40960,
|
|
maxTokens: 40960,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen3-235b-a22b:free": {
|
|
id: "qwen/qwen3-235b-a22b:free",
|
|
name: "Qwen: Qwen3 235B A22B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.18,
|
|
output: 0.54,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 40960,
|
|
maxTokens: 40960,
|
|
} 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",
|
|
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/o3": {
|
|
id: "openai/o3",
|
|
name: "OpenAI: o3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
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": {
|
|
id: "openai/o4-mini",
|
|
name: "OpenAI: o4 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
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/gpt-4.1": {
|
|
id: "openai/gpt-4.1",
|
|
name: "OpenAI: GPT-4.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 8,
|
|
cacheRead: 0.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 1.5999999999999999,
|
|
cacheRead: 0.09999999999999999,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0.024999999999999998,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-3-mini-beta": {
|
|
id: "x-ai/grok-3-mini-beta",
|
|
name: "xAI: Grok 3 Mini Beta",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.5,
|
|
cacheRead: 0.075,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"x-ai/grok-3-beta": {
|
|
id: "x-ai/grok-3-beta",
|
|
name: "xAI: Grok 3 Beta",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.75,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.136,
|
|
output: 0.6799999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.08,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 327680,
|
|
maxTokens: 16384,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.88,
|
|
cacheRead: 0.106,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-small-3.1-24b-instruct:free": {
|
|
id: "mistralai/mistral-small-3.1-24b-instruct:free",
|
|
name: "Mistral: Mistral Small 3.1 24B (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-small-3.1-24b-instruct": {
|
|
id: "mistralai/mistral-small-3.1-24b-instruct",
|
|
name: "Mistral: Mistral Small 3.1 24B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.11,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.04,
|
|
output: 0.15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 96000,
|
|
maxTokens: 96000,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwq-32b": {
|
|
id: "qwen/qwq-32b",
|
|
name: "Qwen: QwQ 32B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.15,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.0-flash-lite-001": {
|
|
id: "google/gemini-2.0-flash-lite-001",
|
|
name: "Google: Gemini 2.0 Flash Lite",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.075,
|
|
output: 0.3,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3.7-sonnet:thinking": {
|
|
id: "anthropic/claude-3.7-sonnet:thinking",
|
|
name: "Anthropic: Claude 3.7 Sonnet (thinking)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3.7-sonnet": {
|
|
id: "anthropic/claude-3.7-sonnet",
|
|
name: "Anthropic: Claude 3.7 Sonnet",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 3,
|
|
output: 15,
|
|
cacheRead: 0.3,
|
|
cacheWrite: 3.75,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 64000,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.19999999999999998,
|
|
output: 0.6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.55,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.0-flash-001": {
|
|
id: "google/gemini-2.0-flash-001",
|
|
name: "Google: Gemini 2.0 Flash",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0.024999999999999998,
|
|
cacheWrite: 0.18330000000000002,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-vl-max": {
|
|
id: "qwen/qwen-vl-max",
|
|
name: "Qwen: Qwen VL Max",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.7999999999999999,
|
|
output: 3.1999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-turbo": {
|
|
id: "qwen/qwen-turbo",
|
|
name: "Qwen: Qwen-Turbo",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.049999999999999996,
|
|
output: 0.19999999999999998,
|
|
cacheRead: 0.02,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1000000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-plus": {
|
|
id: "qwen/qwen-plus",
|
|
name: "Qwen: Qwen-Plus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 1.2,
|
|
cacheRead: 0.16,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"qwen/qwen-max": {
|
|
id: "qwen/qwen-max",
|
|
name: "Qwen: Qwen-Max ",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.5999999999999999,
|
|
output: 6.3999999999999995,
|
|
cacheRead: 0.64,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o3-mini": {
|
|
id: "openai/o3-mini",
|
|
name: "OpenAI: o3 Mini",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.1,
|
|
output: 4.4,
|
|
cacheRead: 0.55,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-small-24b-instruct-2501": {
|
|
id: "mistralai/mistral-small-24b-instruct-2501",
|
|
name: "Mistral: Mistral Small 3",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.11,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"deepseek/deepseek-r1-distill-llama-70b": {
|
|
id: "deepseek/deepseek-r1-distill-llama-70b",
|
|
name: "DeepSeek: R1 Distill Llama 70B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.13,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 131072,
|
|
} 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",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 163840,
|
|
maxTokens: 163840,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/o1": {
|
|
id: "openai/o1",
|
|
name: "OpenAI: o1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 60,
|
|
cacheRead: 7.5,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 100000,
|
|
} satisfies Model<"openai-completions">,
|
|
"google/gemini-2.0-flash-exp:free": {
|
|
id: "google/gemini-2.0-flash-exp:free",
|
|
name: "Google: Gemini 2.0 Flash Experimental (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 1048576,
|
|
maxTokens: 8192,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.108,
|
|
output: 0.32,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 120000,
|
|
} 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",
|
|
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",
|
|
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-pro-v1": {
|
|
id: "amazon/nova-pro-v1",
|
|
name: "Amazon: Nova Pro 1.0",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.7999999999999999,
|
|
output: 3.1999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 300000,
|
|
maxTokens: 5120,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-large-2411": {
|
|
id: "mistralai/mistral-large-2411",
|
|
name: "Mistral Large 2411",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/pixtral-large-2411": {
|
|
id: "mistralai/pixtral-large-2411",
|
|
name: "Mistral: Pixtral Large 2411",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"thedrummer/unslopnemo-12b": {
|
|
id: "thedrummer/unslopnemo-12b",
|
|
name: "TheDrummer: UnslopNemo 12B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3.5-haiku-20241022": {
|
|
id: "anthropic/claude-3.5-haiku-20241022",
|
|
name: "Anthropic: Claude 3.5 Haiku (2024-10-22)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.7999999999999999,
|
|
output: 4,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 1,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3.5-haiku": {
|
|
id: "anthropic/claude-3.5-haiku",
|
|
name: "Anthropic: Claude 3.5 Haiku",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.7999999999999999,
|
|
output: 4,
|
|
cacheRead: 0.08,
|
|
cacheWrite: 1,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"anthropic/claude-3.5-sonnet": {
|
|
id: "anthropic/claude-3.5-sonnet",
|
|
name: "Anthropic: Claude 3.5 Sonnet",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 6,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 200000,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/ministral-3b": {
|
|
id: "mistralai/ministral-3b",
|
|
name: "Mistral: Ministral 3B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.04,
|
|
output: 0.04,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/ministral-8b": {
|
|
id: "mistralai/ministral-8b",
|
|
name: "Mistral: Ministral 8B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"nvidia/llama-3.1-nemotron-70b-instruct": {
|
|
id: "nvidia/llama-3.1-nemotron-70b-instruct",
|
|
name: "NVIDIA: Llama 3.1 Nemotron 70B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.2,
|
|
output: 1.2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"thedrummer/rocinante-12b": {
|
|
id: "thedrummer/rocinante-12b",
|
|
name: "TheDrummer: Rocinante 12B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.16999999999999998,
|
|
output: 0.43,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3.2-3b-instruct": {
|
|
id: "meta-llama/llama-3.2-3b-instruct",
|
|
name: "Meta: Llama 3.2 3B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.02,
|
|
output: 0.02,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 16384,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.07,
|
|
output: 0.26,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 32768,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/pixtral-12b": {
|
|
id: "mistralai/pixtral-12b",
|
|
name: "Mistral: Pixtral 12B",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4000,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.65,
|
|
output: 0.75,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"microsoft/phi-3.5-mini-128k-instruct": {
|
|
id: "microsoft/phi-3.5-mini-128k-instruct",
|
|
name: "Microsoft: Phi-3.5 Mini 128K Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 2.5,
|
|
output: 10,
|
|
cacheRead: 1.25,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
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",
|
|
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.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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.39999999999999997,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3.1-405b-instruct": {
|
|
id: "meta-llama/llama-3.1-405b-instruct",
|
|
name: "Meta: Llama 3.1 405B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3.5,
|
|
output: 3.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 130815,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.02,
|
|
output: 0.04,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 131072,
|
|
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",
|
|
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",
|
|
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">,
|
|
"sao10k/l3-euryale-70b": {
|
|
id: "sao10k/l3-euryale-70b",
|
|
name: "Sao10k: Llama 3 Euryale 70B v2.1",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1.48,
|
|
output: 1.48,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 8192,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-7b-instruct:free": {
|
|
id: "mistralai/mistral-7b-instruct:free",
|
|
name: "Mistral: Mistral 7B Instruct (free)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-7b-instruct": {
|
|
id: "mistralai/mistral-7b-instruct",
|
|
name: "Mistral: Mistral 7B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.028,
|
|
output: 0.054,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"microsoft/phi-3-mini-128k-instruct": {
|
|
id: "microsoft/phi-3-mini-128k-instruct",
|
|
name: "Microsoft: Phi-3 Mini 128K Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.09999999999999999,
|
|
output: 0.09999999999999999,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"microsoft/phi-3-medium-128k-instruct": {
|
|
id: "microsoft/phi-3-medium-128k-instruct",
|
|
name: "Microsoft: Phi-3 Medium 128K Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 1,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4o": {
|
|
id: "openai/gpt-4o",
|
|
name: "OpenAI: GPT-4o",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
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:extended": {
|
|
id: "openai/gpt-4o:extended",
|
|
name: "OpenAI: GPT-4o (extended)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 6,
|
|
output: 18,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 64000,
|
|
} 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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 5,
|
|
output: 15,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3-70b-instruct": {
|
|
id: "meta-llama/llama-3-70b-instruct",
|
|
name: "Meta: Llama 3 70B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.3,
|
|
output: 0.39999999999999997,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"meta-llama/llama-3-8b-instruct": {
|
|
id: "meta-llama/llama-3-8b-instruct",
|
|
name: "Meta: Llama 3 8B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.03,
|
|
output: 0.06,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8192,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 65536,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096,
|
|
} 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",
|
|
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-3-opus": {
|
|
id: "anthropic/claude-3-opus",
|
|
name: "Anthropic: Claude 3 Opus",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 15,
|
|
output: 75,
|
|
cacheRead: 1.5,
|
|
cacheWrite: 18.75,
|
|
},
|
|
contextWindow: 200000,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 2,
|
|
output: 6,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 1,
|
|
output: 2,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 4095,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mistral-tiny": {
|
|
id: "mistralai/mistral-tiny",
|
|
name: "Mistral Tiny",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.25,
|
|
output: 0.25,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"mistralai/mixtral-8x7b-instruct": {
|
|
id: "mistralai/mixtral-8x7b-instruct",
|
|
name: "Mistral: Mixtral 8x7B Instruct",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.54,
|
|
output: 0.54,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 32768,
|
|
maxTokens: 16384,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4-1106-preview": {
|
|
id: "openai/gpt-4-1106-preview",
|
|
name: "OpenAI: GPT-4 Turbo (older v1106)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 10,
|
|
output: 30,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 128000,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 3,
|
|
output: 4,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 16385,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openai/gpt-4-0314": {
|
|
id: "openai/gpt-4-0314",
|
|
name: "OpenAI: GPT-4 (older v0314)",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 30,
|
|
output: 60,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8191,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 30,
|
|
output: 60,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 8191,
|
|
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",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {
|
|
input: 0.5,
|
|
output: 1.5,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 16385,
|
|
maxTokens: 4096,
|
|
} satisfies Model<"openai-completions">,
|
|
"openrouter/auto": {
|
|
id: "openrouter/auto",
|
|
name: "OpenRouter: Auto Router",
|
|
api: "openai-completions",
|
|
provider: "openrouter",
|
|
baseUrl: "https://openrouter.ai/api/v1",
|
|
reasoning: true,
|
|
input: ["text", "image"],
|
|
cost: {
|
|
input: 0,
|
|
output: 0,
|
|
cacheRead: 0,
|
|
cacheWrite: 0,
|
|
},
|
|
contextWindow: 2000000,
|
|
maxTokens: 30000,
|
|
} satisfies Model<"openai-completions">,
|
|
},
|
|
} as const;
|